按下SW17(接P3.2)時,LED4(P2.7)、LED7(P1.7)、 LED8(P1.6)、LED9(P4.7)、LED10(P4.6)按順序每隔1S依次閃爍,然后再循環。(采用SW17輸入外部中斷0中斷請求)定時器要求用中斷方式實現1s延時。
希望我的程序能對大家的實驗有幫助。
#include<stc15f2k60s2.h>
#include<intrins.h>
#define uchar unsigned char
#define unit unsigned int
uchar a=0,b=0,i=0;
//*******************外部中斷0
void int0_isr()interrupt 0
{
a=1;
}
//*********************定時中斷T1
void Timer1_int(void) interrupt 3 using 1
{
i++;
if(i==20)
{
i=0;
if(a==1)
b++;
}
}
//*********************主函數
void main(void)
{
P0M0=0;P0M1=0;
P1M0=0;P1M1=0;
P2M0=0;P2M1=0;
P3M0=0;P3M1=0;
P4M0=0;P4M1=0;
IT0=1;
IE0=0;
EX0=1;
TMOD=0X00;
TH1=0X3C;
TL1=0XB0;
TF1=0;
ET1=1;
EA=1;
while(1)
if(a==1)
{
TR1=1;
switch(b)
{
ca 0:P4=0xFF;P2=0x7F;break; //0111 1111 P2.7
ca 1:P2=0XFF;P1=0x7F;break; //0111 1111 P1.7
ca 2:P1=0xBF;break; //1011 1111 P1.6
ca 3:P1=0xFF;P4=0x7F;break; //0111 1111 p4.7
ca 4:P4=0xBF; break; //1011 1111 p4.6
default:b=0;
}
}
}
本文發布于:2023-02-28 21:01:00,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/1677715814100209.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:定時器中斷(定時器中斷控制led燈閃爍).doc
本文 PDF 下載地址:定時器中斷(定時器中斷控制led燈閃爍).pdf
| 留言與評論(共有 0 條評論) |