五一单片机实现静态数码管显示数字写入主函数的代码,普中6a,p0为引角
时间: 2023-12-31 20:06:26 浏览: 32
以下是基于普中6a单片机,利用P0引脚控制静态数码管显示数字的主函数代码:
```c
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
// 数码管段码表,共阴极数码管
uchar code table[] = {
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f
};
// 数码管位码表,P0.0-P0.7对应COM0-COM7
uchar code wtable[] = {
0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f
};
// 延时函数
void delay(uint ms)
{
uint i, j;
for(i=0; i<ms; i++)
for(j=0; j<125; j++);
}
// 数码管显示函数
void display(uchar num)
{
P0 = wtable[0]; // 选择第1个数码管
P2 = table[num/10]; // 显示十位
delay(5); // 延时一段时间
P0 = wtable[1]; // 选择第2个数码管
P2 = table[num%10]; // 显示个位
delay(5); // 延时一段时间
}
// 主函数
void main()
{
uchar i;
while(1) {
for(i=0; i<=99; i++) { // 显示0-99的数字
display(i); // 调用显示函数
}
}
}
```
注:以上代码只是简单的示例,实际使用中还需要考虑到数码管的电流限制、保护等问题。