51单片机制作四位计数器0000-9999
时间: 2023-07-30 11:09:05 浏览: 108
要实现一个四位计数器,可以使用51单片机的定时器和中断功能。以下是一个简单的示例代码:
```c
#include <reg52.h>
// 定义计数器变量
unsigned int count = 0;
// 中断服务函数
void timer0_isr() interrupt 1 {
TH0 = 0xFC; // 设置定时器初值
TL0 = 0x67;
count++; // 计数器加1
}
void main() {
TMOD = 0x01; // 设置定时器0为模式1
TH0 = 0xFC; // 设置定时器初值
TL0 = 0x67;
ET0 = 1; // 允许定时器0中断
EA = 1; // 开启总中断
TR0 = 1; // 启动定时器0
while (1) {
// 显示计数器数值
P0 = count % 10; // 显示个位
P1 = (count / 10) % 10; // 显示十位
P2 = (count / 100) % 10;// 显示百位
P3 = count / 1000; // 显示千位
}
}
```
这个代码使用了定时器0来定时,每50ms触发一次中断,计数器变量`count`在中断服务函数中加1。在主函数中,通过将计数器的各位数值输出到P0~P3口来显示当前计数器数值。需要注意的是,要使用外部晶振才能保证定时器的准确性。
阅读全文