📄 3_4_3.c
字号:
//采用定时器0中断的方式,实现用AT892051的P1.7引脚控制一个LED发光二极管每一秒闪烁一次(亮半秒,灭半秒)的程序实例:
#include<AT892051.h>
unsigned char data counter; //计数5毫秒的个数
main() //主函数
{
TMOD=0x00; //定时器0为方式0
IP=0x02; //定时器中断0为高优先级
TH0=0xCB;TL0=0x1D; //定时器0的时间常数(5ms,4MHZ)
counter=0; //计数5毫秒的个数
TR0=1; //启动定时器0
IE=0x82; //开放中断
while (1);
}
void time0_int(void) interrupt 1 using 1 //中断函数,每五毫秒中断一次
{
TH0=0xCB;TL0=0x1D; //重装定时器0的时间常数(5ms,4MHZ)
counter++;
if (counter==100) //0.5秒
{
counter=0;
P1_7=~P1_7; //对P1.7取反,实现了闪烁的功能。
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -