本書以MCS-51系列單片機實際應用為主線,采用項目驅動法編寫,以理論為基礎,注重實踐,采用C語言編程。本書講解通俗易懂、條理清楚,程序編寫思路簡潔清晰,易于學生理解。在訓練項目的選取上,采用獨立模塊設計,項目內容盡可能選擇了目前實際工程中常用的新技術、新器件,既力求實例豐富,又強調實用性、針對性和可操作性。書中對軟件的安裝與使用部分采用適量圖片進行說明,以幫助讀者更好地理解知識及過程,加深印象。通過學習該書,讀者可自行完成多個訓練項目的設計與制作,達到學以致用的效果。本書共8個項目:認識單片機、單片機最小系統(tǒng)與I/O接口應用、單片機中斷系統(tǒng)與定時器/計數器應用、LED點陣與LCD液晶顯示接口技術、鍵盤接口技術、串行通信接口技術、A/D與D/A轉換接口技術、單片機應用系統(tǒng)設計。 本書可作為高職高專院校電氣自動化、應用電子、機電一體化、生產過程自動化、智能控制、汽車電子及相關專業(yè)的教材,也可供單片機初學者、電子愛好者等相關人員學習和參考。
李建蘭,云南機電職業(yè)技術學院電氣工程系副教授,長期擔任單片機應用技術、C語言程序設計等課程的教學工作,為省級精品課程負責人,有著豐富的企業(yè)實踐經驗。
項目1 認識單片機 (1)
1.1 學習情境 (1)
1.2 什么是單片機 (1)
1.3 單片機能做什么 (2)
【實例1-1】 產生秒脈沖信號 (2)
【實例1-2】 實現8個LED燈循環(huán)點亮與熄滅 (4)
【實例1-3】 實現10s計時顯示 (8)
【實例1-4】 步進電機控制 (10)
【實例1-5】 超聲波測距控制 (10)
【實例1-6】 智能小車控制 (11)
【實例1-7】 大功率紅外遙控電子時鐘控制 (11)
【實例1-8】 模擬路燈控制 (12)
【實例1-9】 數字溫度計控制 (12)
【實例1-10】 LED電子廣告牌控制 (12)
1.4 單片機的特點 (13)
1.5 單片機的應用 (13)
1.6 單片機開發(fā)軟件 (14)
項目2 單片機最小系統(tǒng)與I/O接口應用 (20)
2.1 學習情境 (20)
2.2 MCS-51單片機主要性能 (20)
2.3 MCS-51單片機內部結構 (20)
2.3.1 單片機內部結構 (20)
2.3.2 單片機信號引腳 (21)
2.3.3 單片機時鐘電路 (22)
2.3.4 單片機復位電路 (23)
2.4 MCS-51單片機存儲器結構 (24)
2.4.1 程序存儲器 (24)
2.4.2 數據存儲器 (24)
2.5 MCS-51單片機I/O接口 (26)
2.6 MCS-51單片機最小系統(tǒng) (29)
2.7 訓練項目 (30)
2.7.1 點亮LED發(fā)光二極管 (30)
2.7.2 單燈閃爍 (32)
2.7.3 流水燈控制 (35)
2.7.4 蜂鳴器控制 (40)
2.7.5 繼電器控制 (44)
2.8 小結 (46)
2.9 練習題 (47)
項目3 單片機中斷系統(tǒng)與定時器/計數器應用 (48)
3.1 學習情境 (48)
3.2 MCS-51單片機中斷系統(tǒng) (48)
3.2.1 中斷源 (49)
3.2.2 與中斷有關的特殊功能寄存器 (49)
3.2.3 中斷服務函數的寫法 (52)
3.3 MCS-51單片機定時器/計數器 (53)
3.3.1 定時器/計數器內部結構 (53)
3.3.2 與定時器/計數器有關的特殊功能寄存器 (54)
3.3.3 定時器/計數器工作方式 (55)
3.3.4 定時器/計數器初始化 (57)
3.4 LED數碼管顯示 (58)
3.4.1 LED數碼管內部結構 (58)
3.4.2 LED數碼管工作原理 (58)
3.4.3 LED數碼管顯示方式 (60)
3.4.4 LED數碼管顯示編程 (60)
3.5 訓練項目 (61)
3.5.1 外部中斷點亮LED發(fā)光二極管 (61)
3.5.2 外部中斷聲光報警啟?刂 (62)
3.5.3 定時器/計數器外部計數流水燈啟?刂 (64)
3.5.4 基于PWM的“呼吸燈”控制 (66)
3.5.5 10s倒計時顯示 (68)
3.5.6 簡易秒表 (71)
3.5.7 多個數碼管顯示—動態(tài)顯示應用 (73)
3.5.8 簡易電子時鐘 (76)
3.5.9 模擬交通燈控制 (79)
3.6 小結 (85)
3.7 練習題 (86)
項目4 LED點陣與LCD液晶顯示接口技術 (87)
4.1 學習情境 (87)
4.2 LED點陣顯示 (87)
4.2.1 8×8 LED點陣顯示 (87)
4.2.2 16×16 LED點陣顯示 (89)
4.3 LCD 1602液晶顯示 (90)
4.3.1 LCD 1602液晶顯示結構 (90)
4.3.2 LCD 1602液晶顯示工作原理 (91)
4.3.3 LCD 1602液晶顯示接口電路 (94)
4.4 訓練項目 (94)
4.4.1 8×8 LED點陣屏顯示 (94)
4.4.2 16×16 LED點陣屏顯示 (101)
4.4.3 LCD 1602液晶屏顯示 (106)
4.4.4 用LCD 1602液晶屏顯示電子時鐘 (110)
4.5 小結 (113)
4.6 練習題 (113)
項目5 鍵盤接口技術 (114)
5.1 學習情境 (114)
5.2 鍵盤 (114)
5.2.1 獨立式鍵盤 (114)
5.2.2 矩陣式鍵盤 (115)
5.3 訓練項目 (116)
5.3.1 模擬汽車轉彎燈控制 (116)
5.3.2 簡易數字調節(jié)器 (120)
5.3.3 矩陣式鍵盤操作 (124)
5.3.4 用LCD 1602液晶屏顯示電話號碼 (129)
5.4 小結 (134)
5.5 練習題 (134)
項目6 串行通信接口技術 (135)
6.1 學習情境 (135)
6.2 串行通信 (135)
6.2.1 串行通信方式 (135)
6.2.2 字符幀和波特率 (136)
6.3 MCS-51單片機串行口 (137)
6.3.1 串行口內部結構 (137)
6.3.2 串行口工作原理 (138)
6.3.3 與串行口有關的特殊功能寄存器 (138)
6.3.4 串行口工作方式 (140)
6.3.5 串行口初始化 (141)
6.4 訓練項目 (141)
6.4.1 雙機通信 (141)
6.4.2 單片機與PC通信 (149)
6.5 小結 (155)
6.6 練習題 (156)
項目7 A/D與D/A轉換接口技術 (157)
7.1 學習情境 (157)
7.2 D/A轉換器接口 (157)
7.2.1 D/A轉換器 (157)
7.2.2 DAC0832接口芯片 (157)
7.3 A/D轉換器接口 (160)
7.3.1 A/D轉換器 (160)
7.3.2 ADC0809接口芯片 (160)
7.4 訓練項目 (163)
7.4.1 簡易波形發(fā)生器 (163)
7.4.2 簡易數字電壓表 (168)
7.5 小結 (174)
7.6 練習題 (174)
項目8 單片機應用系統(tǒng)設計 (175)
8.1 學習情境 (175)
8.2 DS1302日歷時鐘芯片 (175)
8.3 DS18B20數字溫度傳感器 (179)
8.4 綜合訓練項目—帶時鐘數字溫度計的設計與制作 (184)
8.4.1 設計要求 (184)
8.4.2 方案論證 (184)
8.4.3 硬件設計 (187)
8.4.4 軟件設計 (187)
8.4.5 軟硬件聯(lián)調 (196)
8.5 小結 (197)
8.6 練習題 (197)
附錄A C語言常用語法提要 (199)
附錄B C51的庫函數 (205)
附錄C Proteus仿真軟件與虛擬仿真平臺 (214)
附錄D STC單片機燒錄軟件 (224)
附錄E 串口調試助手使用 (226)
附錄F 常用芯片引腳圖 (228)
參考文獻 (232)