动态数码管显⽰(proteus仿真图和程序)⼀、基础理解
本博客基于STC89C52RC单⽚机进⾏编程。
采⽤四位⼀体动态数码管显⽰。
⼆、共阳极数码管
1、基础介绍
共阳极数码管显⽰需要PNP三极管进⾏驱动电路。
三极管的集电极连接数码管的位选端,发射极连接电源,基极连接单⽚机进⾏控制。
xcode入门基极⾼电平,集电极就低电平,基极低电平,集电极就⾼电平,数码管亮。
仿真中需要在位选端接电阻接地,否则当基极为⾼电平时,集电极还是⾼电平。
实际电路中位选端可以不接电阻不接电。
2、proteus仿真电路图
3、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;
}
}
三、共阴极数码管
1、基础介绍
共阴极数码管显⽰需要NPN三极管进⾏驱动电路。
三极管的集电极连接电源,发射极连接数码管的位选端,基极连接单⽚机进⾏控制。
基极⾼电平,发射极就⾼电平,基极低电平,发射极就低电平,数码管亮。
2、proteus仿真图
3、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;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论