e0a8836d825446e5f940b2a6c09aeed9.png (87.25 KB, 下載次數: 28)
下載附件
2022-11-17 10:02 上傳
部分主函數
void main(void)
{
unsigned int k,i,j=0; // period,為定時器計數總值,i是分頻次數
unsigned long int period;
// float f,m; //浮點變量
// char buff[30];
LCD_init(); //初始化LCD
for(j = 0;j<7;j++)
{
LCD_disp_char(j+0,1,character_1[j]);
}
P2=0x00; //選通D0路信號
TMOD=0x09; //配置定時器0為工作方式1,即16位定時器,并硬件啟動
while(1)
{
// TMOD=0x09; //配置定時器0為工作方式1,即16位定時器,并硬件啟動
TH0=0; //裝定時器初值為0
TL0=0;
while(p32==1); //執行完這條語句后信號電平狀態為低電平
TR0=1; //使能TR0
while(p32==0); //等待信號高電平到來,如果高電平來了則定時器開始計時,如果沒來,則繼續循環等待。
while(p32==1); //等待信號高電平結束后,如果低電平,則定時器停止計時
TR0=0; //關閉定時器
period=TH0*256+TL0; //計算定時器裝的總值
|