欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2346|回復: 1
打印 上一主題 下一主題
收起左側

關于交流電壓表設計,現在有主程序,但是不理解,有沒有哪位仁兄幫忙分析

[復制鏈接]
跳轉到指定樓層
樓主
ID:576586 發表于 2019-7-2 20:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg51.h>//頭文件
#include<intrins.h>//庫文件
#define uchar unsigned char
#define uint  unsigned int
sbit W1=P2^0;
sbit W2=P2^1;
sbit W3=P2^2;
sbit W4=P2^3;
/*ADC0809初始定義*/
sbit ST=P3^0;//ADC0809轉換開始控制
sbit OE=P3^2;//ADC0809輸出允許控制
sbit EOC=P3^1;//ADC0809轉換結束信號
sbit CLK=P3^3;//ADC0809轉換時鐘
uchar date; //數字電壓量
uchar code table1[]={
                                                63,6,91,79,102,
                                                109,125,7,127,
                                                111,119,124,57,
                                                94,121,113,118,
                                                56,115,49,62,
                                                110,64,128,0
                                        };
//延時子函數
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
//顯示電壓值子函數
void display(uchar date)
{
        uchar tab[3];
        uint temp;
        temp=(date*1.0/255)*500/1.41;
        tab[0]=temp%10;
        tab[1]=temp/10%10;
        tab[2]=temp/100%10;
        if(tab[2]==0)
                P0=(0);
        else
                P0=(table1[tab[2]]);  //再傳段碼
        W1=0;
        delay(1);             //延遲時間2ms以內
        W1=1;
        if(tab[2]==0&&tab[1]==0)
                P0=(0);
        else
                P0=(table1[tab[1]]);  //再傳段碼
        W2=0;
        delay(1);             //延遲時間2ms以內
        W2=1;
        P0=(table1[tab[0]]);  //再傳段碼
        W3=0;
        delay(1);             //延遲時間2ms以內
        W3=1;
        P0=(0);  //再傳段碼
        W4=0;;
        delay(1);             //延遲時間2ms以內
        W4=1;
}
void main()//主函數
{       
    while(1)//大循環
        {
            ST=0;
            ST=1;  //獲得上升沿復位
            ST=0;  //獲得下降沿啟動轉換,同時ALE開鎖存
            do
                {
                     CLK=~CLK;  //時鐘信號
            }
                while(EOC==0);//等待轉換結束,eoc=1結束
            OE=1;//三態鎖存緩沖器打開
            date=P1;//數字電壓信號輸出
            OE=0;//三態鎖存緩沖器關閉
                display(date);//調用液晶顯示電壓值子函數
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:507641 發表于 2022-2-23 08:46 | 只看該作者
原理圖?程序也不全
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表