|
若系統(tǒng)時(shí)鐘頻率為12MHz,編寫軟件實(shí)現(xiàn):按一下K鍵,產(chǎn)生一次外部中斷1中斷信號(hào),啟動(dòng)T2定時(shí),使P1.1輸出周期為2秒的方波。
我的程序:
#include<reg52.h>
#define uchar unsigned char
uchar COUNT=20;
sfr IPH=0xB7;
sfr T2MOD=0xC9;
sbit P11=P1^1;
void main()
{
SP=0x06;
T2MOD=0x00;T2CON=0x00;
TL2=0xb0;TH2=0x3c;
RCAP2H=0x3c;RCAP2L=0xb0;
IE=0xa4;
IP=0x04;
IT1=1;
IPH=0x24;
while(1)
{
;
}
}
void exint1(void)interrupt 2
{
TR2=1;
}
void time2(void) interrupt 5
{
TF2=1;
if(COUNT==0)
{
P11=!P11;
COUNT=20;
}
else
{
COUNT=COUNT-1;
}
}
我在Proteus里仿真無法實(shí)現(xiàn)要求,我的結(jié)果是按一次才取反一次。
求助哇!
|
|