C51单片机学习(实验)
定时实验
定时实验采用中断的方式定时1S,每产生一次中断,取反一次L0,定时1S到后,熄灭L2,程序结束。
P1.0 | L0 |
---|---|
P1.5 | L2 |
Pertues仿真图
C程序
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar i=100;
sbit L1=P1^0; //定义LED
sbit L2=P1^5;
/**T0中断服务函数**/
void t0() interrupt 1 using 1
{
TH0=0x3c;TL0=0xb0; //重装T0初值
if(i--!=0)L2=~L2;
else
{
L1=0;TR0=0;
}
}
void main()
{
TMOD=0x01;TH0=0x3c;TL0=0xb0; //设置T0工作方式,装入T0初值
IE=0x82; TR0=1; //开中断,启动T0
while(1); //等待中断
}