51单片机-数码管显示(清翔版)

51单片机-数码管显示

1.静态数码管

数码管原理图:
在这里插入图片描述
共阳极数码管需要给低电平数码管才会点亮,共阴极数码管需要给高电平才会点亮。在数码管的中的字码a代表低位,dp代表高位,也就是a代表(2^0) dp代表(2^7)。
共阴极显示16进制所有数字代码:
0: 0x3F ( abcdef = 0011 1111 )
1: 0x06
2: 0x5B
3: 0x4F
4: 0x66
5: 0x6D
6: 0x7D
7: 0x07
8: 0x7F
9: 0x6F
A: 0x77
B: 0x7C
C: 0x39
D: 0x5E
E: 0x79
F: 0x71
(2)数码管锁存模块:
在这里插入图片描述
为了方便数据存储需要将数码管数据进行锁存,锁存分为2种:位锁存,段锁存。
位锁存:在单片机数码管中有8位,需要使用芯片来锁存中要显示的具体哪一位数码管。在上面的芯片中是用来锁存位的,WE1代表低位,WE8代表高位。在位锁存中低电平有效。
74HC537芯片介绍:芯片中锁存开关位LE引脚,高电平开启锁存,低电平锁住数据。芯片的其他功能还有中继信号等作用。
在这里插入图片描述

锁存使用第二行,中继信号使用第一行。
段锁存:下面那个芯片代表段锁存,段锁存作用是锁住具体要在数码管中显示的数据。列如:我们将位锁存锁住以后就要开启P2-6引脚下面的段锁存,虽然两个芯片D段引脚在单片机中使用的相同,但是位锁存已经被锁存在第一个芯片之中,修改引脚数据不会发生变化,但是段选与位选的锁存引脚是不相同的。

#include <REGX52.H>

#define unsigned int uint;
#define unsigned int uint;

sbit duan = P2^6;//高电平有效,当开启段选以后可以控制数码管中那一根数码管
sbit wei = P2^7; //高电平有效,当开启位选可以控制8位数码管显示那一位

void main(){
   

    //显示哪一个数码管
	wei = 1; //打开位选,修改显示的数码管
	P0 = 0xFD;// 1111 1101  低电平有效 让第二位数码管显示
	wei = 0;//进行数据锁存   	

    //数码管中具体显示的内容
	duan = 1;
	P0 = 0x5B;//0-9:0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F
	duan = 0;
	
}

2.动态数码管显示

动态数码管的思想是将静态数码管进行封装,然后修改显示的数据。

#include <REGX52.H>

#define uint unsigned int 
#define uchar unsigned char 

sbit duan =</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值