单片机
返回首页

《初学者C51自学笔记》之数码管

2022-02-17 来源:eefocus

图(b)为数码管的解剖图,分别是共阴和共阳型;共阴为例,若想显示数字1,从a端到dp端接P0^0~~P0^7;所以P0=0x06(00000110{从高位到低位});


显示方式:

静态显示:            

静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。


动态显示:

动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。


一个共阴数码管

段选是控制数码管的显示什么数字,而位选是控制那个数码管的;

数码管下面有空心那是反向器,也就是说P3^0输入高电平通过反向器后会变成低电平,数码管接的就是低电平了;

单片机的电流是不足以对数码管进行供电的(数码管所需电流大于单片机的电流),所以要接一个数字芯片(起着放大作用);、

如果是静态显示的话,这5个数码管都会显示同一个数字,不比动态显示灵活;

74HC138译码器

ABC表示加权,也就是说A为1是表示1,B为1是表示2,C为1是表示4,其控制着位选;

当你看到数码管同时显示12345时不要以为是同时点亮的,CPU同一时间只能做一件事,你所看到的同时亮是利用了视觉的的暂留和数码管的余晖,数码管是不会一下子熄灭而是慢慢地熄灭;


#include

sbit smgen=P2^3;

sbit rs=P3^6;

 

unsigned char table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c};

unsigned char table2[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};

 

void delay(unsigned int a)

 

{

while(a--);

}

 

void main()

{

unsigned char i;

rs=0;

while(1)

{

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

{

P2=table2[i];

smgen=1;

P1=table1[i];

delay(200);

}

}

}


P3^6一定要拉低,如果不拉低,时钟芯片就在工作,从而影响程序,会出现不完整显示

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

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

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

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

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 红外线探测报警器

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 基于ICL296的大电流开关稳压器电源电路

    相关电子头条文章