|
仿真圖.png (249.5 KB, 下載次數(shù): 0)
下載附件
2025-6-17 09:01 上傳
單片機源程序如下:- //<程序名>:數(shù)字電壓表 **
- //<功能>:使用LCD顯示被檢測電壓,精度為0.05V,范圍是0~5V。 **
- #include"includes.h"
- #define TIME0H 0x3C
- #define TIME0L 0xB0
- uchar uc_Clock=0; //定時器0中斷計數(shù)
- bit b_DATransform=0;
- //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<把電壓顯示在LCD上>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- void vShowVoltage(uint 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; //恢復(fù)定時器0。
- TL0=TIME0L;
- }
復(fù)制代碼
仿真程序下載:
數(shù)字電壓表.zip
(652.11 KB, 下載次數(shù): 0)
2025-6-17 09:07 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|