c语言 编程8051内部定时计数器T0,按计数器模式和方式0工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来
时间: 2023-06-15 20:03:17 浏览: 208
单片机C语言实例-将计数器T0计数的结果送P1口8位LED显示.zip
好的,下面是代码实现:
```c
#include <reg52.h>
sbit LED = P1^0; // 定义LED引脚为P1.0
sbit T0 = P3^4; // 定义T0引脚为P3.4
void main() {
TMOD = 0x00; // 将T0工作在模式0
TH0 = 0x00; // 定时器初值为0
TL0 = 0x00;
ET0 = 1; // 允许T0中断
TR0 = 1; // 启动T0
EA = 1; // 允许中断
while(1); // 程序不结束
}
void T0_ISR() interrupt 1 {
static unsigned char count = 0; // 定义计数器
TH0 = 0x00; // 定时器初值为0
TL0 = 0x00;
count++; // 计数器加1
LED = ~LED; // 取反LED
if(count == 255) { // 当计数器达到255时
count = 0; // 重新计数
P1 = TL0; // 将计数器的值在P1口驱动LED灯上显示出来
}
}
```
上面的代码实现了按计数器模式和方式0工作,并对P3.4引脚进行计数。当计数器达到255时,将计数器的值在P1口驱动LED灯上显示出来。
阅读全文