51单片机按键控制数码管0~9_项目五 数码管应用实例

本文详细介绍了如何使用51单片机进行数码管的控制,包括静态和动态显示,以及按键控制数码管显示数字。文章涉及数码管的工作原理、74HC573芯片的应用、C语言中的code关键字,并提供了实际的项目设计与实施步骤。读者可以通过该项目学习到数码管的段选和位选,以及如何实现倒计时和按键功能。
摘要由CSDN通过智能技术生成

6b07e4190ccaa50d3ece565f6b0c7212.png

(一)项目任务

  • 任务1:显示数字
    • 子任务1.1 数码管硬件电路认识
    • 子任务1.2 了解段选和位选概念
    • 子任务1.3 掌握数码管的静态显示方法

任务2:数码管倒计时

    • 子任务2.1 掌握数码管的动态显示方法
    • 子任务2.2 熟练使用标志位

任务3:按键点亮数码管

    • 子任务3.1 完成按键功能函数
    • 子任务3.2 完成数码管功能函数
    • 子任务3.3 综合调试,实现按键点亮数码管的功能
    • 子任务3.4 绘制每个程序的流程图

(二)相关知识点

2.1、数码管的基本工作原理

数码管有共阴和共阴两种类型,如图1所示,当1、6引脚为“A”时表示共阳数码管,当1、6引脚为“K”时表示共阴数码管,共阳数码管所有的阳极接电源,共阴数码管所有的阴极接地。数码管的本质是8个LED灯,最上面为a,依次按顺时针标,第八个LED为右下角的dp,如图2所示,配套的开发板采用的是共阳数码管,假设显示数字“2”,则“abged”段接低电平,即“1010 0100”,转成十六进制为“0xA4”,那么将0xA4赋值给相应端口即可。

41fb37f3c642b1bbf171478219b12edb.png

cc14c9bf0097a08055ad734a491a2809.png
图2 数码管内部结构示意图

表1中将十六进制中的所有字符“翻译”成了数码管相应的数值,在3.2小节中可以看到,因为属于同一个类型,可以组成一个数组。

260d63825e06b1e4ed25731ec17e296c.png

2.3、段选和位选

段选表示要显示什么数值,位选决定哪个数码管显示数值,如图3所示,数码管要显示“5678”,那么第1个数码管显示“5”,第2个数码管显示“6”,第3个数码管显示“7”,第4个数码管显示“8”。显示“5”“6”“7”“8”是由段选决定,第1个数码管显示“5”,第2个数码管显示“6”…是由位选决定。

在配套的开发板中,由两个74HC573芯片分别来控制数码管的段选和位选,左边的74HC573(U4)控制段选,右边的74HC573(U3)控制位选,如图3所示。

f3e5e9b8a10f6dc1b879c02126c188d1.png
图3 数码管硬件连接图

2.4、74HC573芯片

数码管内部是由单个小LED组成。这种LED工作时大概需要10ma,由于51单片机电流驱动能力较弱,本开发板采用74HC573芯片来驱动数码管,具体可以参考项目2的2.2小节。74HC573是拥有八路输出的透明锁存器,输出为三态门,是一种高性能硅栅CMOS器件&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值