控制数码管显示的思路

本文介绍了控制数码管显示的基本思路,包括利用锁存端进行数据传输,通过在P0端添加上拉电阻确保信号强度,以及通过控制位选锁存端和段选锁存端实现数码管的选中和显示。以实例展示了如何让6个数码管依次显示0~f的数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、锁存端:高电平时输入输出连通,低电平时不连通,保持原来的值

2、P0端都要接上上拉电阻(由于I/O口输出i很弱,不到1mA,若不加上拉电阻,无法点亮发光二极管),接法如图所示

3、思路:先让位选锁存端(WELA)P2.7为高电平1,P0口送数,选中某一数码管后,将位选锁存端变为低电平;

再让段选锁存端(DULA)P2.6为高电平1,P0口送数,再把段选锁存端变为低电平。

4、例:6个数码管依次显示数字,而且显示的数字为0~f

#include "reg52.h"
#define BIT0 0x01
#define BIT1 0x02
#define BIT2 0x04
#define BIT3 0x08
#define BIT4 0x10
#define BIT5 0x20
#define BIT6 0x40
#define BIT7 0x80
unsigned char i = 0;
unsigned char j = 0;
unsigned char tt = 0;
unsigned char code distab[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//不带标点符号 0~f
unsigned char code distab1[]={
0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};
//带标点符号  0.~f.
unsigned char code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
void init(){     
    TMOD |= 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值