正在进行安全检测...

发布时间:2023-11-30 19:03:45   来源:文档文库   
字号:

实验五、60秒定时器
P2驱动两位数7段LED数码管模块,而P1.0与P1.1为两位数7段LED数码管模块的扫描信号。在此将利用Timer0作为定时装置,两个7段LED数码管从59开始显示,每一秒减1,到达00后,再从59开始,也就是60s的定时器。
U?
19
XTAL1
P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161718XTAL29RST293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51
//========60==定时器=======#include#defineSEGP2#defineSCANPP1
#definecount_M150000#defineTH_M1(65636-count_M1/256#defineTL_M1(65636-count_M1%256intcount_T0;
#definecount_M2250#defineTH_M2(256-count_M2#defineTL_M2(256-count_M2charcount_T1=0;
charTAB[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};chardisp[2]={0x92,0x90};
charseconds=59;
charscan=0;
main({IE=0x8a;
}
TMOD=0x21;TH0=TH_M1;TL0=TL_M1;TR0=1;TH1=TH_M2;TL1=TL_M2;TR1=1;while(1;
voidT0_1s(voidinterrupt1{
}TH0=TH_M1;TL0=TL_M1;if(++count_T0==20{count_T0=0;

seconds--;if(seconds==0seconds=59;
}disp[0]=TAB[seconds/10];disp[1]=TAB[seconds%10];

voidT1_8ms(voidinterrupt3{}

if(++count_T1==32{
}
count_T1=0;if(++scan==3scan=1;SEG=0xff;SCANP=~scan;SEG=disp[scan-1];

本文来源:https://www.2haoxitong.net/k/doc/5b9f55cea1c7aa00b52acbe4.html

《正在进行安全检测....doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式