模块:流水灯 中断
功能:使用中断让流水灯亮1秒灭1秒(不准使用软件延时)
#include<reg52.h>
unsigned int count;
void init () // 中断配置
{
TMOD = 0x01; //定时器0 16位工作模式
TH0 = 0x4b;
TL0 = 0xfd; // 定时50ms
ET0 = 1; // 定时器0 的中断开关
EA = 1; // 中断总开关
TR0 = 1; // 保证定时器正常运行
}
void main ()
{
init(); // 使用定时器0 配置函数
while(1);
}
void time0 () interrupt 1
{
TH0 = 0x4b;
TL0 = 0xfd;
count++; // 使用变量判断是否到达1s
if(count == 20)
{
P1 = ~ P1; // 到达一秒后将P1 按位取反
count = 0;
}
}