单片机设计一个定时器电路,能使发光二极管亮100Ms,灭100Ms周而复始。

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:36:01

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void init();
uchar a=0;
main()
{ init();
while(1)
{ if(a == 4) a = 0;
if(a <= 2) P0 = 0x00;
else P0 = 0xFF; }

}

}

void init()
{
TMOD=0X01;

TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
TR0=1;
ET0=1;

}

void timer0() interrupt 1
{

TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;

} 说明P0口控制LED.

第二种方法:比较简单:
#include<reg52.h>
#define uchar unsigned char
uchar a,num;
void main()
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
TR0=1;
ET0=1;
EA=1;
while(1);
}

void time0() interrupt 1 using 0
{
TH0=0x3c;
TL0=0xb0;
num++;
if(num==20)