动态数码管显示(Proteus仿真图和程序)
创作时间:
作者:
@小白创作中心
动态数码管显示(Proteus仿真图和程序)
引用
CSDN
1.
https://blog.csdn.net/Wan_shibugong/article/details/90514335
本文详细介绍了基于STC89C52RC单片机的四位一体动态数码管显示技术,包括共阳极和共阴极数码管的驱动原理、电路连接方式,并提供了具体的Proteus仿真图和C51程序代码。
一、基础理解
本博客基于STC89C52RC单片机进行编程,采用四位一体动态数码管显示。
二、共阳极数码管
- 基础介绍
- 共阳极数码管显示需要PNP三极管进行驱动电路。
- 三极管的集电极连接数码管的位选端,发射极连接电源,基极连接单片机进行控制。
- 基极高电平,集电极就低电平,基极低电平,集电极就高电平,数码管亮。
- 仿真中需要在位选端接电阻接地,否则当基极为高电平时,集电极还是高电平。
- 实际电路中位选端可以不接电阻不接电。
- Proteus仿真电路图
- C51程序
#include <reg51.h>
#define duanxuan P1 //段选接口
#define weixuan P2 //位选接口
unsigned char code wxcode[4]={0xfe,0xfd,0xfb,0xf7};
unsigned char code dxcode[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void DigDisplay(int num);
void main()
{
int num = 9876;
int t = 0;
//每隔一段时间num-1
while(1)
{
t++;
if(t == 500)
t = 0, num--;
DigDisplay(num);
}
}
//num是显示的数字
void DigDisplay(int num)
{
unsigned char i;
unsigned int j;
int gewei,shiwei,baiwei,qianwei;
gewei = num % 10;
shiwei = num / 10 % 10;
baiwei = num / 100 % 10;
qianwei = num / 1000;
for(i=0; i<4; i++)
{
weixuan = wxcode[i];
duanxuan = 0xff;
if(i == 3)
{
duanxuan = dxcode[gewei];
}
if(i == 2)
{
duanxuan = dxcode[shiwei];
}
if(i == 1)
{
duanxuan = dxcode[baiwei];
}
if(i == 0)
{
duanxuan = dxcode[qianwei];
}
j=10;
while(j--);
duanxuan=0xff;
}
}
三、共阴极数码管
- 基础介绍
- 共阴极数码管显示需要NPN三极管进行驱动电路。
- 三极管的集电极连接电源,发射极连接数码管的位选端,基极连接单片机进行控制。
- 基极高电平,发射极就高电平,基极低电平,发射极就低电平,数码管亮。
- Proteus仿真图
- C51程序代码
#include <reg51.h>
#define duanxuan P1
#define weixuan P2
unsigned char code wxcode[4]={0xfe,0xfd,0xfb,0xf7};
unsigned char code dxcode[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void DigDisplay(int num);
void main()
{
int num = 9876;
int t = 0;
while(1)
{
t++;
if(t == 500)
t = 0, num--;
DigDisplay(num);
}
}
void DigDisplay(int num)
{
unsigned char i;
unsigned int j;
int gewei,shiwei,baiwei,qianwei;
gewei = num % 10;
shiwei = num / 10 % 10;
baiwei = num / 100 % 10;
qianwei = num / 1000;
for(i=0; i<4; i++)
{
weixuan = wxcode[i];
duanxuan = 0x00;
if(i == 3)
{
duanxuan = dxcode[gewei];
}
if(i == 2)
{
duanxuan = dxcode[shiwei];
}
if(i == 1)
{
duanxuan = dxcode[baiwei];
}
if(i == 0)
{
duanxuan = dxcode[qianwei];
}
j=10;
while(j--);
duanxuan=0x00;
}
}
热门推荐
健康科普丨孩子手脚无力、发麻,警惕儿童烟雾病→
老了才明白,兄弟姐妹关系再好,有两件事也要隐瞒,这是智慧
围术期抗凝药停不停?要不要低分子肝素桥接?术后何时重启?
女性绝经后,真会“断崖式”衰老?这 5 物要舍得吃,益处多多!
4K显示器 vs 2K显示器:分辨率、画质、性价比全面对比分析
自传作文有哪些特点?自传作文的独特魅力:那些鲜为人知的写作技巧!
2025年央国企信息技术应用创新发展关键问题专题研讨会成功召开
抖音短视频拍摄设备与技巧指南:提升画质与观众体验的秘诀
正月初九“安太岁”:2出3做4吃3忌,福寿安康岁岁安
探寻无锡小笼包老字号:传统美食的魅力与传承
服务器之 ECC 内存的工作原理
项目文献管理工具怎么用
学习的葵花宝典——《错题本》
延庆旅游攻略,如何制定完美的延庆旅游攻略?
凭17篇笔记吸粉30万,知识赛道成小红书新风口
婚前婚内财产协议签署指南出炉,保护您的权益
UL4128认证适用的储能系统连接器介绍
书桌的材质有哪些,选购指南与注意事项
3副对联写尽人生滋味,照见人情冷暖,句句发人深省
猫咪的耳朵护理
有哪些好用的矩阵账号管理工具?
那些让人受不了的声音
如何客观评价基金的表现?分析基金时应关注哪些方面?
最全短裤搭配指南,整个夏天都想这么穿!
如皋周边景点大全,探寻江南水乡的韵味与风情
“巴从西南来——巴人的历史与文化特展”概述
八字命带羊刃的危害及其影响分析
小伙救助流浪狗:从脏兮兮到幸福生活
惠州这五个地方,去过一处都不算白来!每一处的景色都能令人沉醉
麦冬及山麦冬的鉴别