目錄
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)