![]() |
#include"intrins.h" #define TIME0H 0x3C #define TIME0L 0xB0 uchar uc_Clock; //定時器0中斷計數 bit b_DATransform=0; //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<把電壓顯示在LCD上>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> void vShowVoltage(uchar uiNumber) { uchar ucaNumber[3],ucCount; if(uiNumber>999) uiNumber=999; ucaNumber[0]=uiNumber/100; //把計算數字的每個位存入數組。 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('.'); } } //************************************************************************************************* //* * //* ********************************主函數****************************** * //* * //************************************************************************************************* 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中斷函數>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> void t0() interrupt 1 { if(uc_Clock==0) { uc_Clock=5; b_DATransform=1; } else uc_Clock--; TH0=TIME0H; //恢復定時器0。 TL0=TIME0L; }這是程序 |
改完報錯還是出現missing“”;“before“*”如果是uc_Clock在后面就是beforen uc_Clock,要不然就是跳出一大堆錯誤 |
51mcu 發表于 2019-5-17 07:14 file:///C:/Users/Administrator/Desktop/1.jpg 不行嗯 |
星號后面加個空格,再不行,就分開寫,先定義別名:typedef uchar* uc_Clock;然后在使用之前賦值。如在main最前面賦值:un_Clock=0; |
typedef 是給數據類型定義一個別名。 如果你只是定義一個指針uchar *uc_Clock = 0;即可 |
把第一行的“*”號去掉。 |