“利用80c51单片机的p1口作为输出口连接到8只发光二极管,采用定时器t0中断方式,控

来源:百度知道 编辑:UC知道 时间:2024/06/08 00:00:02
“利用80C51单片机的P1口作为输出口连接到8只发光二极管,采用定时器T0中断方式,控制二极管每隔500ms依次只有一个被点亮并循环不止,设单片机的晶振频率未6MHZ,T0工作方式1

#include<reg51.h>
unsigned char cont; /*声明cont*/
main()
{
while(1) /*无限循环*/
{
P1=0x01; /*p1^0亮*/
TMOD=0x01;
TH0=-50000/256; /*设置初值*/
TL0=-50000%256;
EA=1;
ET0=1;
TR0=1;
}
}
void int0() interrupt 1
{
TH0=-50000/256;
TL0=-50000%256;
cont++;
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

晶振 6MHz ,每机周 2 us T0 定时100ms ,计数5次,即可实现 500ms 定时。
计数值为 50000次。
#include<reg51.h>
unsigned char cont; /*声明cont*/
main()
{
while(1) /*无限循环*/
{
P1=0x01; /*p1^0亮*/
TMOD=0x01;
TH0=-50000/256; /*设置初值*/
TL0=-50000%256;
EA=1;
ET0=1;
TR0=1;
}
}
void int0() interrupt 1
{
TH0=-5000