项目文件
关于项目的内容知识点可以见专栏单片机原理及应用 的第四章 LED数码管
将80C51单片机PO口的P0.0 ~ P0.7引脚连接到一个共阴极数码管上(电路原理图如图4.19所示),使之循环显示0~9数字,时间间隔为 500循环步。
思路分析:
数码管的显示段码跟显示数值123之类没有规律,所以要用数组表示;
用循环实现循环播放
顺序提取0~9的字模并送到P0口输出
代码:
//实例4 LED数码管显示
#include <reg51.h> //包括一个51标准内核的头文件
char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//LED显示字模
void delay(unsigned int time){
unsigned int j = 0;
for(;time>0;time--)
for(j=0;j<125;j++);
}
void main(void) {
char i = 0;
while(1){
for(i=0;i<=9;i++) {
P0=led_mod[i];
delay(500);
}
}
}
结果:
运行视频:
单片机C51-LED数码管显示