Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

單片機驅動 LED、數碼管、LCD 顯示全攻略:原理、電路與代碼

編輯:Linux 教學

一、發光二極管 (LED) 基礎

特性

  • 單向導電,正向導通電壓 1.7–2.2 V (紅/綠/黃),藍/白 ~3 V。
  • 電流型器件,必須串聯限流電阻,典型工作電流 5–20 mA。
  • 極性判斷:腳長為正極;殼內電極小/矮為正極。

驅動電路

// 共陽極 (低電平點亮)
VCC ---- LED anode
LED cathode ---- 電阻 (330Ω~1k) ---- MCU IO
// IO=0 導通,IO=1 截止

// 共陰極 (高電平點亮)
MCU IO ---- 電阻 ---- LED anode
LED cathode ---- GND
// IO=1 導通,IO=0 截止 (需 MCU 有上拉或外接上拉電阻)

二、數碼管 (LED Segment Display)

結構

  • 8 段 (a–g + dp) LED 封裝成「8」字形。
  • 共陽極:所有陽極連接為 COM,接 VCC;段碼低電平點亮。
  • 共陰極:所有陰極連接為 COM,接 GND;段碼高電平點亮。

段碼編碼表 (共陰極高亮)

數字a b c d e f g dp十六進制
01 1 1 1 1 1 0 00x3F
10 1 1 0 0 0 0 00x06
21 1 0 1 1 0 1 00x5B
31 1 1 1 0 0 1 00x4F
40 1 1 0 0 1 1 00x66
51 0 1 1 0 1 1 00x6D
61 0 1 1 1 1 1 00x7D
71 1 1 0 0 0 0 00x07
81 1 1 1 1 1 1 00x7F
91 1 1 1 0 1 1 00x6F

共陽極編碼 = 共陰極編碼按位取反。

動態掃描驅動多位數碼管

  1. 位選信號 (P2.6/P2.7 等) 輪流使能各位公共極。
  2. 段碼信號 (P0) 送入對應數字編碼。
  3. 每位維持 1–2 ms,全循環 < 20 ms (50 Hz) 無閃爍。

三、LCD1602/12864 字符型液晶驅動

原理

  • TN/STN 液晶分子在電壓作用下扭轉 90° 控制光通過偏振片。
  • 驅動電壓需交流化 (極性週期翻轉),防止電解損壞。
  • 並行接口:RS (數據/指令)、RW (讀/寫)、E (使能)、D0–D7 (8-bit) 或 D4–D7 (4-bit)。

初始化流程 (8-bit 模式)

void lcd_init() {
    delay_ms(15);           // 上電等待
    lcd_write_cmd(0x38);    // 8-bit, 2行, 5x7點陣
    lcd_write_cmd(0x0C);    // 顯示開, 關游標
    lcd_write_cmd(0x06);    // 寫入後地址自增
    lcd_write_cmd(0x01);    // 清屏
    delay_ms(2);
}

常用指令

指令功能
0x01清屏
0x02歸家
0x06輸入模式:地址自增、不移屏
0x0C顯示開、游標關、不閃爍
0x80 | addr設定 DDRAM 地址 (第1行 0x00, 第2行 0x40)

四、綜合應用建議

  • LED/數碼管:優先用低電平驅動 (灌電流大),共陽極結構更適合單片機直接驅動。
  • 數碼管 > 4 位:建議加 74HC595 串行移位寄存器節省 IO。
  • LCD:4-bit 模式節省 4 路 IO,適合資源緊張單片機;長線傳輸加 RC 濾波抗干擾。
  • 所有電感性負載 (繼電器、蜂鳴器) 驅動端並聯續流二極管。

總結

掌握 LED 極性與限流、數碼管共陽/共陰編碼互反、動態掃描時序、LCD 初始化時序與交流驅動原理,即可應對 90% 單片機顯示驅動需求。

Copyright © Windows教程網 All Rights Reserved