目录
0案例视频效果展示
1 AT89C52单片机驱动单个数码管
1.1 数码管基础知识
1.1.1外观与引脚
1.1.2 共阴(CC) vs 共阳(CA)
1.1.3段码表(以数字1为例)
1.1.4驱动方式A. 直连IO(最简单,占用IO多)一个段一根线,共阴或共阳公共端固定接GND/VCC。适合单个数码管、教学实验。
1.1.6 快速排查清单
1.2 完整例子1——AT89C52单片机驱动单个数码管0~9循环计数
1.2.1 电路原理图
1.2.2 控制程序
1.3 完整例子2——AT89C52单片机实现比分计数器
1.3.1 74HC573透明锁存器
1.3.2 引脚与封装
1.3.3 真值表(简化)
1.3.4 典型应用:51 单片机驱动 4 位共阴七段数码管
1.3.5 最小示例(Keil C,12 MHz 晶振)
1.3.6 常见问题速查
1.4 AT89C52单片机实现比分计数器电路原理图
1.5 控制程序
2 硬件工程师笔试面试相关文章链接(部分链接)
0案例视频效果展示
例子:基于AT89C52单片机的数码管驱动
3基于AT89C52单片机的数码管驱动
例子:基于AT89C52单片机的比分计数装置
7基于AT89C52单片机的比分计数装置(Proteus)
摘要:本文介绍了AT89C52单片机驱动数码管的基础知识及实现方法。主要内容包括:1.数码管工作原理,包括共阴/共阳结构、段码表、驱动方式;2.两个具体应用实例:单个数码管0-9循环计数和比分计数器;3.详细硬件电路设计(含74HC573锁存器应用)和配套C语言程序实现;4.常见问题排查指南。通过定时器中断实现精确控制,采用动态扫描技术实现多位显示,并提供了完整的代码示例和电路原理图。
1 AT89C52单片机驱动单个数码管
1.1 数码管基础知识
7段数码管(7-segment display)是最常见的数字显示器件之一,广泛用于仪表、时钟、计数器等场合。
1.1.1外观与引脚
如上图所示,7个发光段分别命名为 a、b、c、d、e、f、g(顺时针方向排列),再加一个小数点 dp。
单个数码管常见封装:
直插 DIP-10(2.54 mm)
贴片 SMD-10
引脚排列没有统一标准,务必看数据手册或用万用表「二极管档」量:红笔固定接公共端,黑笔依次碰其它脚,某一段亮就说明该脚对应段。
1.1.2 共阴(CC) vs 共阳(CA)
共阴:所有 LED 阴极并在一起 → 公共脚接 GND,要点亮某段就给该段阳极送高电平(+V)。
共阳:所有 LED 阳极并在一起 → 公共脚接 +V,要点亮某段就给该段阴极送低电平(GND)。
记忆口诀:
共阴 = “给1亮”
共阳 = “给0亮”
1.1.3段码表(以数字1为例)
数字1需要点亮 b、c 两段。
类型 | a b c d e f g dp | 十六进制 | 说明 |
共阴 | 0 1 1 0 0 0 0 0 | 0x06 | b、c=1,其余=0 |
共阳 | 1 0 0 1 1 1 1 1 | 0xF9 | b、c=0,其余=1 |
完整段码速查:
0 1 2 3 4 5 6 7 8 9
共阴:0x3F 0x06 0x5B 0x4F 0x66 0x6D 0x7D 0x07 0x7F 0x6F
共阳:取反即可(~共阴 & 0xFF)