按下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,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1677715814100209.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:定时器中断(定时器中断控制led灯闪烁).doc
本文 PDF 下载地址:定时器中断(定时器中断控制led灯闪烁).pdf
留言与评论(共有 0 条评论) |