標題: 單片機數(shù)字電壓表程序問題求分析 [打印本頁]

作者: 13514091024    時間: 2019-5-16 22:16
標題: 單片機數(shù)字電壓表程序問題求分析
想請教下這個到底是哪里的問題,我用51單片機頭文件試過不對,用define uchar unsigned char

T7@TUMZY8%E)F@$GV(FRH[5.png (105.27 KB, 下載次數(shù): 97)

T7@TUMZY8%E)F@$GV(FRH[5.png

作者: 51mcu    時間: 2019-5-17 07:14
把第一行的“*”號去掉。
作者: jjjjjjir    時間: 2019-5-17 09:22
typedef 是給數(shù)據(jù)類型定義一個別名。
如果你只是定義一個指針uchar *uc_Clock = 0;即可
作者: 幻劍心    時間: 2019-5-17 12:39
星號后面加個空格,再不行,就分開寫,先定義別名:typedef uchar* uc_Clock;然后在使用之前賦值。如在main最前面賦值:un_Clock=0;
作者: 13514091024    時間: 2019-5-17 13:58
改完報錯還是出現(xiàn)missing“”;“before“*”如果是uc_Clock在后面就是beforen uc_Clock,要不然就是跳出一大堆錯誤
作者: 13514091024    時間: 2019-5-17 13:59
#include"intrins.h"
#define TIME0H 0x3C
#define TIME0L 0xB0
uchar uc_Clock;
//定時器0中斷計數(shù)
bit b_DATransform=0;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<把電壓顯示在LCD上>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void vShowVoltage(uchar uiNumber)
{
        uchar ucaNumber[3],ucCount;
        if(uiNumber>999)                                       
                uiNumber=999;
        ucaNumber[0]=uiNumber/100;                                                                //把計算數(shù)字的每個位存入數(shù)組。
        ucaNumber[1]=(uiNumber-100*(int)ucaNumber[0])/10;                                                       
        ucaNumber[2]=uiNumber-100*(int)ucaNumber[0]-10*ucaNumber[1];
        for(ucCount=0;ucCount<3;ucCount++)
        {
                vShowOneChar(ucaNumber[ucCount]+48);                                //從首位到末位逐一輸出。
                if(ucCount==0)
                        vShowOneChar('.');
        }
}
//*************************************************************************************************
//*                                                                                                                                                                                                  *
//*                          ********************************主函數(shù)******************************                                  *
//*                                                                                                                                                                                                  *
//*************************************************************************************************


void main()
{
        TMOD=0x01;                        //定時器0,模式1。
        TH0=TIME0H;
        TL0=TIME0L;
        TR0=1;                                //啟動定時器。
        ET0=1;                                //開定時器中斷。
        EA=1;                                //開總中斷
        vdInitialize();
        vWriteCMD(0x84);           //寫入顯示起始地址(第一行第4個位置)
        vShowChar("voltage");
        vWriteCMD(0xC9);     
        vShowChar("(V)");
        while(1)
        {
                if(b_DATransform==1)
                {
                        b_DATransform=0;
                        vWriteCMD(0xC4);
                        vShowVoltage(uiADTransform());
                }
        }
}
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<定時器0中斷函數(shù)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void t0() interrupt 1
{
        if(uc_Clock==0)
        {
                uc_Clock=5;
                b_DATransform=1;
        }
        else
                uc_Clock--;
        TH0=TIME0H;                   //恢復定時器0。
        TL0=TIME0L;
}這是程序




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