设计与开发

51单片机数码管显示程序 教你玩单片机之静态数码管(附程序)

小编 2024-11-24 设计与开发 23 0

教你玩单片机之静态数码管(附程序)

静态数码管的相关知识:

LED数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用的段数一般为7段,有的另加一个小数点 。LED数码管根据LED的接法不同,分为共阴和共阳两类 。

原理图解析:

HC6800-ES V1.0实验板上面用的数码管是共阴极的数码管,数码管的公共端接到138译码器,段码段通过74H573锁存器接到单片机的P0口。

锁存器(Latch):

是一种对脉冲电平敏感的存储单元,它们可以在特定输入脉冲电平作用下改变和保持状态,所谓锁存,就是把信号暂存以维持某种电平状态。

74H573锁存器的功能说明:

1. OE为时能端,当他为低电平的时候, 锁存器开始工作

2. VCC和GND为电源和地端

3 .LE为锁存端,当LE为高电平的时候,Q0~Q7都跟D0~D7状态一样,当LE为低电平的时候,Q0~Q7都锁存数据,无论D0~D7怎么变化,Q0~Q7都保持锁存之前的那个状态。

74H573锁存器 逻辑引脚:

74H573锁存器真值表:

51单片机数码管显示数字程序:

使用的IO: 数码管使用P0

#include<reg51.h>

#define GPIO_DIG P0

sbit LSA=P2^2;

sbit LSB=P2^3;

sbit LSC=P2^4;

//RAM,ROM

unsigned char code DIG_CODE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示0~9的值

//0~9段码

//0:0011_1111

void main(void)

{

LSA=0;

LSB=0;

LSC=0;//我们可以理解为打开某一个数码管打开

while(1)

{

GPIO_DIG=DIG_CODE[6];

}

}

51单片机实例讲解,数码管显示数字“5555”程序

利用单片机及某些数字电路块的结合,可以实现静态字符的显示。本例是利用74LS164八位移位寄存器(串入、并出)与单片机串行口结合,使数码管静态显示数字“5555”。

(1)数码管显示数字“5555”硬件电路(见图20)。

图20 显示字符“5555”接线原理图

在图20的电路中,74LS164的相关引脚与数码管的a、b、c、d、e、f、g引脚相连接,并且74LS164为串行输入、并行输出,所以L4LS164串行输入的数据与数码管对应字符的关系见表7。

表7 L4LS164串行输入的数据与数码管对应字符的关系表

(2)数码管显示数字“5555”硬件电路元器件(见表8)。

表8 数码管显示数字“5555”硬件电路元器件表

(3)数码管显示数字“5555”程序流程图(见图21)。

图21 显示数字“5555”程序流程图

(4)数码管显示数字“5555”程序。

相关问答

51单片机 的共阴 数码管 怎么 显示 数字(c语言)?

要让51单片机共阴数码管显示数字,只需要将单片机的P2端口输出数字对应的段码即可。以显示数字“0”为例,c语言程序如下:#include要让51单片机共阴数码管显...

c语言编程中,如何在 51单片机 8位 数码管 上滚动 显示 -HELLO--字符。比如?

P0=smgduan[i];delay(100);这两句是显示字母的语句,把它们加入对应的case语句里,就可以指定哪一段数码管显示啥字母,比如:case(2):LSA=0;LSB=1;LSC.....

51单片机 30秒倒计时,用 数码管显示 的,c 程序 ,元件只有at89c51和数码管,没有其他的?

数码管一般是电流驱动,跟电压关系不大,但是电压在数码管灭了时候会加到IO口上(即此时电压和IO口电压一致或略高),而IO口是不能提供10V电压的,可以找找双电...

51单片机 8位 数码管 时钟 程序 ?

51单片机8位数码管时钟仿真实例,有程序可以参考,可以下载附件仿真试试。51单片机8位数码管时钟仿真实例,有程序可以参考,可以下载附件仿真试试。

51单片机数码管 时钟 程序 用定时器动态扫描怎么加入闪烁标志位的问题?

不是取反,是关闭对应数码管。思路:判断按键->调整时间->显示时间;你要实现闪烁,需要在显示数字部分下功夫不是取反,是关闭对应数码管。思路:判断按键->调整时...

大佬,我也想要用 51单片机 和四位 数码管 编写的时钟 程序 😋😋可以吗?

要四位数码管显示程序,应根据具体的显示电路来写程序的。而四位数码管的接法很多,不同的方法程序是有区别的。关键是段码和位码是用哪个并口输出的。而且那程...

自制的 51单片机 学习板继电器、蜂鸣器有反应 但 数码管 、LED都...

1:你的程序是否正确?2:LED方向是否正确?3:确认数码管是否正确,有共阴共阳之分.线路是否正确?4:用万用表测试脚位电平是否正常.5:检查单片机是否有部分...

用C语言写 51单片机 闹钟 程序 - 180****7518 的回答 - 懂得

程序实现在P1口模拟一个流水5261灯程序//**************************...#definep_outP1//宏定义4102输出的i/o口为P1//************...

51单片机 8个 数码管 初始 显示 “87654321”,然后用8个独立按键分别控制这8个 数码管 ,每按一?

你好!可以根据你的硬件连接具体情况完成编程你好!可以根据你的硬件连接具体情况完成编程

如果我想能看懂 单片机 程序 ,需要怎样学习语言?

非常感谢你发来的邀请,我很高兴回答你的问题!现在单片机编程语言主要有两种,一种是汇编语言、一种是C语言。汇编语言要求要对单片机内部结构有要熟悉,由于其...

猜你喜欢