单片机
返回首页

基于proteus的51单片机仿真实例六十、8位数码管显示实例

2020-07-17 来源:eefocus

1、本例实现在8位数码管上同时显示多个不同字符。


2、本例使用了8只集成式7段共阳数码管(pruteus中元件标识为7seg-mpx8-ca-blu,共阳为ca,共阴为cc),所有8个数码管的段码引脚a,b,c,d,e,f,g,dp都是分别并联在一起,任何时候发送的段码均会传送到所有数码管上,所有的数码管的共阳极是独立的,本例中个数码管的共阳极分别与8只NPN三极管射极相连,程序运行时,任意时刻仅允许一只数码管的共阳极连接+5V,当向连接段码的端口发送段码值时,相应数字只会显示在某一只数码管上。


3、为了使不同数码管显示不同字符,本例使用的是集成式多位数码管常用的动态扫描显示技术,他利用了人的视觉暂留特征,选通第一只数码管时,发送1的段码;选通第二只数码管时,发送2的段码,...每次仅选通一只数码管,发送相应的段码,每次切换选通下一数码管并发送相应段码的时间间隔非常短,视觉惰性使人感觉不到字符是一个接一个显示在不同的数码管上的,而会觉得所有的字符很稳定的同时显示在不同数码管上。


在控制两位数码管选通的时间间隔时,要注意全屏的扫描频率要高于视觉暂留频率16-20Hz。对于程序中的点亮一位数码管的延时时间,我们可以尝试将延时时间改为其他数值,观察会出现什么样的效果。

 

4、在keil c51中新建工程ex48,编写如下程序代码,编译并生成ex48hex文件

/*****************************************************************************

*         LED数码管显示演示程序                                                *

*         在8个LED数码管上依次显示1,2,3,4,5,6,7,8                              *

*******************************************************************************/

#include          //包含头文件

#include         //包含移位函数头文件

//段码表

unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3

    0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off

//毫秒级延时函数

void delay(unsigned int x)

{

  unsigned char i;

 while(x--)

 {

  for(i=0;i<120;i++);

 }

}

//主函数

void main()

{

 unsigned char k,m=0x80;      //变量定义

 P0 = 0xff;       //先关闭数码管

 P2 = 0x00;        //

 while(1)

 {

   for(k = 0;k < 8;k++)       //循环8次

  {

    P2 = 0x00;      //每显示一位都要关闭位选端口一次

   m=_crol_(m,1);   //循环左移

   P2=m;            //每次选通一个位选端口

   P0=dis_code[k+1];   //段码送P0口

   delay(2);

  }

 }

}

 

5、在proteus中新建仿真文件ex48.dsn,电路原理图如下所示

6、将ex48.hex文件载入at89c51中,启动仿真,观察程序运行结果,下图是程序运行结果。我们也可以试着将程序中的 “P2 = 0x00;      //每显示一位都要关闭位选端口一次”这句话去掉,然后再观察程序运行结果,观察会出现什么情况,并解释这种情况。

进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 设计汽车集群电源

  • 6晶体管H桥

  • 温度控制风扇

  • USB LED调光器

  • AVR PC步进电机驱动器

  • AVR温度计TCN75

    相关电子头条文章