找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3500|回復(fù): 7
收起左側(cè)

求教 ADC0809+AT89C52+LCD1602怎么同時顯示4組電壓值?

  [復(fù)制鏈接]
回帖獎勵 1 黑幣 回復(fù)本帖可獲得 1 黑幣獎勵! 每人限 1 次
ID:301797 發(fā)表于 2018-4-8 01:11 | 顯示全部樓層 |閱讀模式
本帖最后由 電子酷酷 于 2018-4-8 10:17 編輯

求教 ADC0809+AT89C52+LCD1602怎么同時顯示4組電壓值? 不知道主程序哪里出錯

void main()
{
         uchar num=0;
         unsigned char temp[7];//顯示區(qū)域臨時存儲數(shù)組
         float Voltage;        //浮點變量
         ADC0809_init();
         LCD_Init();           //LCD初始化
         DelayMs(20);         
         LCD_Clear();          //清屏
         LCD_Write_String(0,0,"");        //設(shè)置表頭"PYH_DVM /V"
         LCD_Write_String(2,1,"0593");        //設(shè)置表頭"PYH_DVM /V"
        DelayMs(500);
        
         ADC0809_init();   //AD0809初始化

         ST=0;
        while(1)
        {
                ST=1;                        //啟動ADC0809
                ST=0;
            //keyscan();  //0~2
                     
                 if(r==0)
                 { ALE=1;  //允許寫入地址
                  ADDA=0;
                  ADDB=0;
                  ADDC=0;
              ALE=0;
                         num=Read_AD();  //讀取AD0809數(shù)據(jù)
                Voltage=(float)num*5/256; //數(shù)據(jù)轉(zhuǎn)換,float是強制轉(zhuǎn)換符號,將結(jié)果轉(zhuǎn)換為浮點型
       sprintf(temp,"V1:%4.1f ",Voltage);  //格式輸出電壓值,%4.1表示浮點輸出,小數(shù)點后1位
                        
                    LCD_Write_String(0,0,temp); }  //將數(shù)據(jù)寫入1602顯示
                 else if(r==1)
                 { ALE=1;  //允許寫入地址
                  ADDA=1;
                  ADDB=0;
                  ADDC=0;
              ALE=0;
                         num=Read_AD();  //讀取AD0809數(shù)據(jù)
                Voltage=(float)num*5/256; //數(shù)據(jù)轉(zhuǎn)換,float是強制轉(zhuǎn)換符號,將結(jié)果轉(zhuǎn)換為浮點型
       sprintf(temp,"V2:%4.1f ",Voltage);  //格式輸出電壓值,%4.1表示浮點輸出,小數(shù)點后1位
                        
                    LCD_Write_String(0,1,temp);}
        else         if(r==2)
        {ALE=1;  //允許寫入地址
                  ADDA=0;
                  ADDB=1;
                  ADDC=0;
              ALE=0;
                num=Read_AD();  //讀取AD0809數(shù)據(jù)
                Voltage=(float)num*5/256; //數(shù)據(jù)轉(zhuǎn)換,float是強制轉(zhuǎn)換符號,將結(jié)果轉(zhuǎn)換為浮點型
       sprintf(temp,"V3:%4.1f ",Voltage);  //格式輸出電壓值,%4.1表示浮點輸出,小數(shù)點后1位
               
                    LCD_Write_String(9,0,temp); }
        else         if(r==3)
        {ALE=1;  //允許寫入地址
                  ADDA=1;
                  ADDB=1;
                  ADDC=0;
              ALE=0;
                num=Read_AD();  //讀取AD0809數(shù)據(jù)
                Voltage=(float)num*5/256; //數(shù)據(jù)轉(zhuǎn)換,float是強制轉(zhuǎn)換符號,將結(jié)果轉(zhuǎn)換為浮點型
       sprintf(temp,"V4:%4.1f ",Voltage);  //格式輸出電壓值,%4.1表示浮點輸出,小數(shù)點后1位
               
                    LCD_Write_String(9,1,temp);}
                }
}
        

QQ圖片20180408010921.png

評分

參與人數(shù) 2黑幣 +8 收起 理由
jxncgxy22 + 5 回帖助人的獎勵!
danpianji3501 + 3 淡定

查看全部評分

回復(fù)

使用道具 舉報

ID:303303 發(fā)表于 2018-4-8 15:10 | 顯示全部樓層
哈哈 這個有點復(fù)雜  可以私聊
回復(fù)

使用道具 舉報

ID:301797 發(fā)表于 2018-4-8 17:09 | 顯示全部樓層
csh381729668 發(fā)表于 2018-4-8 15:10
哈哈 這個有點復(fù)雜  可以私聊

你好 程序問題 怎么跟你聯(lián)系
回復(fù)

使用道具 舉報

ID:308903 發(fā)表于 2018-7-27 16:35 | 顯示全部樓層
解決了嗎?樓主
回復(fù)

使用道具 舉報

ID:111634 發(fā)表于 2018-7-28 07:33 | 顯示全部樓層
顯示與AD分開來
回復(fù)

使用道具 舉報

ID:724521 發(fā)表于 2020-4-8 09:10 | 顯示全部樓層
你好,你做的ADC0809,4路電壓表可以給我參考一下嗎,我對此有點疑問
回復(fù)

使用道具 舉報

ID:724521 發(fā)表于 2020-4-8 09:11 | 顯示全部樓層
樓主解決了嗎
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表