標(biāo)題: 求教 ADC0809+AT89C52+LCD1602怎么同時顯示4組電壓值? [打印本頁]

作者: 電子酷酷    時間: 2018-4-8 01:11
標(biāo)題: 求教 ADC0809+AT89C52+LCD1602怎么同時顯示4組電壓值?
本帖最后由 電子酷酷 于 2018-4-8 10:17 編輯

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

void main()
{
         uchar num=0;
         unsigned char temp[7];//顯示區(qū)域臨時存儲數(shù)組
         float Voltage;        //浮點(diǎn)變量
         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是強(qiáng)制轉(zhuǎn)換符號,將結(jié)果轉(zhuǎn)換為浮點(diǎn)型
       sprintf(temp,"V1:%4.1f ",Voltage);  //格式輸出電壓值,%4.1表示浮點(diǎn)輸出,小數(shù)點(diǎn)后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是強(qiáng)制轉(zhuǎn)換符號,將結(jié)果轉(zhuǎn)換為浮點(diǎn)型
       sprintf(temp,"V2:%4.1f ",Voltage);  //格式輸出電壓值,%4.1表示浮點(diǎn)輸出,小數(shù)點(diǎn)后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是強(qiáng)制轉(zhuǎn)換符號,將結(jié)果轉(zhuǎn)換為浮點(diǎn)型
       sprintf(temp,"V3:%4.1f ",Voltage);  //格式輸出電壓值,%4.1表示浮點(diǎn)輸出,小數(shù)點(diǎn)后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是強(qiáng)制轉(zhuǎn)換符號,將結(jié)果轉(zhuǎn)換為浮點(diǎn)型
       sprintf(temp,"V4:%4.1f ",Voltage);  //格式輸出電壓值,%4.1表示浮點(diǎn)輸出,小數(shù)點(diǎn)后1位
               
                    LCD_Write_String(9,1,temp);}
                }
}
        

QQ圖片20180408010921.png (44 KB, 下載次數(shù): 134)

QQ圖片20180408010921.png

作者: csh381729668    時間: 2018-4-8 15:10
哈哈 這個有點(diǎn)復(fù)雜  可以私聊
作者: 電子酷酷    時間: 2018-4-8 17:09
csh381729668 發(fā)表于 2018-4-8 15:10
哈哈 這個有點(diǎn)復(fù)雜  可以私聊

你好 程序問題 怎么跟你聯(lián)系
作者: 1261867136qq    時間: 2018-7-27 16:35
解決了嗎?樓主
作者: zl2168    時間: 2018-7-28 07:33
顯示與AD分開來
作者: llx888888888    時間: 2020-4-8 09:10
你好,你做的ADC0809,4路電壓表可以給我參考一下嗎,我對此有點(diǎn)疑問
作者: llx888888888    時間: 2020-4-8 09:11
樓主解決了嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1