內容簡介
本書以MCS-51系列單片機為主體,通過LED電子彩燈、電子鐘、簡易電子琴、數字電壓表、數字溫度控制器和日曆時鐘的設計與實現等6個項目,詳細介紹單片機開發必備的基礎知識和軟硬體條件。在設計的6個學習項目中,學習者通過精心安排的案例可以在學習和實現單片機控制系統、編程、調試等技術的同時,由易到難、由淺入深地學習單片機C語言開發基礎。本書的所有案例均採用C語言編程,在仿真軟體Proteus中仿真實現。
圖書目錄
目 錄
項目1 LED電子彩燈的設計與實現 (1)
1.0 項目1任務描述 (1)
1.0.1 項目目標 (1)
1.0.2 項目內容 (1)
1.0.3 項目能力評價 (2)
1.1 任務1 認識單片機 (3)
1.1.1 單片機的組成 (3)
1.1.2 單片機的主要套用 (4)
1.1.3 MCS-51系列單片機 (4)
1.2 任務2 單片機中數的表示法 (5)
1.2.1 進位計數制 (5)
1.2.2 進位數制之間的轉換 (7)
1.2.3 二進制編碼(代碼) (9)
1.2.4 邏輯數據的表示 (11)
1.2.5 計算機中數據的單位 (11)
1.3 任務3 單片機的硬體結構 (12)
1.3.1 單片機的信號引腳概述 (12)
1.3.2 單片機的內部結構 (14)
1.3.3 單片機的存儲器結構 (15)
1.3.4 單片機的時鐘與復位 (16)
1.4 任務4 單片機軟硬體開發流程 (18)
1.4.1 單片機軟硬體開發流程 (18)
1.4.2 程式編譯軟體Keil Vision的操作使用 (18)
1.4.3 硬體仿真軟體Proteus的操作使用 (23)
1.4.4 將控制單個發光二極體的程式燒寫入單片機並正確運行 (27)
1.5 任務5 用Keil C51編寫程式使發光二極體閃動 (28)
1.5.1 任務與計畫 (28)
1.5.2 C語言程式的結構 (29)
1.5.3 C語言程式的標識符與關鍵字 (29)
1.5.4 軟體程式設計(順序程式套用) (30)
1.5.5 硬體仿真原理圖 (31)
1.5.6 用Proteus軟硬體仿真運行 (31)
1.5.7 延時程式套用分析 (34)
1.5.8 提高練習 (35)
1.5.9 拓展練習 (35)
1.6 任務6 用Keil C編寫程式控制流水燈 (36)
1.6.1 任務與計畫 (36)
1.6.2 C語言程式的控制語句與C51函式 (36)
1.6.3 軟體程式設計(循環程式套用) (40)
1.6.4 硬體仿真原理圖 (41)
1.6.5 用Proteus軟硬體仿真運行 (42)
1.6.6 提高練習 (42)
1.6.7 拓展練習 (42)
1.7 任務7 使用運算符點亮多隻LED (42)
1.7.1 任務與計畫 (42)
1.7.2 C語言程式的數據類型與運算符 (43)
1.7.3 軟體程式設計 (44)
1.7.4 硬體仿真原理圖 (45)
1.7.5 用Proteus軟硬體仿真運行 (46)
1.7.6 提高練習 (46)
1.7.7 拓展練習 (46)
1.8 任務8 用if語句控制P0口8位LED點亮狀態 (47)
1.8.1 任務與計畫 (47)
1.8.2 C語言程式的條件語句 (47)
1.8.3 軟體程式設計(分支程式套用) (48)
1.8.4 硬體仿真原理圖 (49)
1.8.5 用Proteus軟硬體仿真運行 (50)
1.8.6 提高練習 (50)
1.8.7 拓展練習 (50)
1.9 任務9 用switch語句控制P0口8位LED的點亮狀態 (50)
1.9.1 任務與計畫 (50)
1.9.2 C語言程式的多分支選擇語句 (51)
1.9.3 軟體程式設計 (52)
1.9.4 硬體仿真原理圖 (53)
1.9.5 用Proteus軟硬體仿真運行 (53)
1.9.6 提高練習 (54)
1.9.7 拓展練習 (54)
1.10 任務10 用數組指針控制P0口8位LED的點亮狀態 (54)
1.10.1 任務與計畫 (54)
1.10.2 C語言程式的數組與指針 (55)
1.10.3 軟體程式設計 (57)
1.10.4 硬體仿真原理圖 (58)
1.10.5 用Proteus軟硬體仿真運行 (58)
1.10.6 提高練習 (59)
1.10.7 拓展練習 (59)
1.11 任務11 LED電子彩燈的設計與實現 (60)
1.11.1 任務與計畫 (60)
1.11.2 認識YL-236型單片機實訓平台的相關模組 (60)
1.11.3 軟體程式設計 (61)
1.11.4 用Proteus軟硬體仿真運行 (62)
1.11.5 單片機控制LED電子彩燈的實現 (63)
項目2 電子鐘的設計與實現 (65)
2.0 項目2任務描述 (65)
1.0.1 項目目標 (65)
1.0.2 項目內容 (65)
1.0.3 項目能力評價 (65)
2.1 任務1 認識單片機的定時器/計數器 (66)
2.1.1 單片機的定時器/計數器 (66)
2.1.2 定時器/計數器的工作方式暫存器 (67)
2.1.3 定時器/計數器的控制暫存器 (68)
2.1.4 定時器/計數器的套用 (69)
2.2 任務2 用定時器T0查詢方式控制P2口8位LED閃爍 (71)
2.2.1 任務與計畫 (71)
2.2.2 定時器/計數器的工作方式設定和初值計算 (71)
2.2.3 軟體程式設計 (72)
2.2.4 硬體仿真原理圖 (72)
2.2.5 用Proteus軟硬體仿真運行 (73)
2.2.6 提高練習 (73)
2.2.7 拓展練習 (74)
2.3 任務3 認識單片機的中斷系統 (74)
2.3.1 認識單片機的中斷 (74)
2.3.2 中斷系統的套用 (74)
2.4 任務4 用定時器T0中斷控制P1口8位LED閃爍 (78)
2.4.1 任務與計畫 (78)
2.4.2 軟體程式設計 (78)
2.4.3 硬體仿真原理圖 (80)
2.4.4 用Proteus軟硬體仿真運行 (80)
2.4.5 提高練習 (80)
2.4.6 拓展練習 (81)
2.5 任務5 用外部中斷 的中斷方式控制P1口LED規律點亮 (81)
2.5.1 任務與計畫 (81)
2.5.2 軟體程式設計 (82)
2.5.3 硬體仿真原理圖 (83)
2.5.4 用Proteus軟硬體仿真運行 (83)
2.5.5 提高練習 (84)
2.5.6 拓展練習 (84)
2.6 任務6 簡易計時器設計 (84)
2.6.1 任務與計畫 (84)
2.6.2 LED數碼管接口技術套用 (84)
2.6.3 軟體程式設計 (87)
2.6.4 硬體仿真原理圖 (90)
2.6.5 用Proteus軟硬體仿真運行 (92)
2.6.6 提高練習 (93)
2.6.7 拓展練習 (94)
2.7 任務7 獨立式鍵盤控制步進電機正反轉 (94)
2.7.1 任務與計畫 (94)
2.7.2 步進電機的基本原理與驅動脈衝 (94)
2.7.3 軟體程式設計 (95)
2.7.4 硬體仿真原理圖 (98)
2.7.5 用Proteus軟硬體仿真運行 (99)
2.7.6 提高練習 (99)
2.7.7 拓展練習 (99)
2.8 任務8 電子密碼鎖設計 (99)
2.8.1 任務與計畫 (99)
2.8.2 鍵盤接口技術套用 (100)
2.8.3 軟體程式設計 (102)
2.8.4 硬體仿真原理圖 (105)
2.8.5 用Proteus軟硬體仿真運行 (105)
2.8.6 提高練習 (106)
2.8.7 拓展練習 (106)
2.9 任務9 電子鐘的設計與實現 (106)
2.9.1 任務與計畫 (106)
2.9.2 認識YL-236型單片機實訓平台的指令模組MCU06 (107)
2.9.3 軟體程式設計 (108)
2.9.4 用Proteus軟、硬體仿真運行 (112)
2.9.5 電子鐘的設計與實現 (113)
項目3 簡易電子琴的設計與實現 (115)
3.0 項目3任務描述 (115)
3.0.1 項目目標 (115)
3.0.2 項目內容 (115)
3.0.3 項目能力評價 (116)
3.1 任務1 認識串列通信和串列通信口 (117)
3.1.1 串列通信的基本概念 (117)
3.1.2 認識單片機串列口 (117)
3.1.3 單片機串列通信口的控制 (118)
3.1.4 單片機串列通信口的工作方式 (119)
3.1.5 串列口的套用方式 (121)
3.2 任務2 單片機的單機通信 (121)
3.2.1 任務與計畫 (121)
3.2.2 數據通信 (122)
3.2.3 軟體程式設計 (123)
3.2.4 硬體仿真原理圖 (124)
3.2.5 用Proteus軟硬體仿真運行 (124)
3.2.6 提高練習拓展練習 (125)
3.2.7 拓展練習 (125)
3.3 任務3 單片機的雙機通信 (126)
3.3.1 任務與計畫 (126)
3.3.2 波特率計算 (126)
3.3.3 雙機之間的串列通信設計原理 (128)
3.3.4 軟體程式設計 (128)
3.3.5 硬體仿真原理圖 (132)
3.3.6 用Proteus軟硬體仿真運行 (133)
3.3.7 提高練習 (133)
3.3.8 拓展練習 (134)
3.4 任務4 單片機與計算機PC串列通信 (134)
3.4.1 任務與計畫 (135)
3.4.2 認識串列通信接口標準匯流排RS-232C (135)
3.4.3 認識電平轉換晶片MAX232 (137)
3.4.4 軟體程式設計 (137)
3.4.5 硬體仿真原理圖 (139)
3.4.6 用Proteus軟硬體仿真運行 (139)
3.4.7 提高練習 (142)
3.5 任務5 簡易電子琴的設計與實現 (142)
3.5.1 任務與計畫 (142)
3.5.2 認識單片機發出聲音的實現方法 (142)
3.5.3 軟體程式設計 (144)
3.5.4 用Proteus軟、硬體仿真運行 (148)
3.5.5 簡易電子琴的設計與實現 (149)
項目4 數字電壓表的設計與實現 (151)
4.0 項目4任務描述 (151)
4.0.1 項目目標 (151)
4.0.2 項目內容 (151)
4.0.3 項目能力評價 (151)
4.1 任務1 認識LED點陣顯示屏 (152)
4.1.1 任務與計畫 (152)
4.1.2 認識LED點陣顯示屏 (153)
4.1.3 軟體程式設計 (153)
4.1.4 硬體仿真原理圖 (155)
4.1.5 用Proteus軟硬體仿真運行 (156)
4.1.6 提高練習 (157)
4.1.7 拓展練習 (157)
4.2 任務2 認識LCD1602液晶顯示屏 (157)
4.2.1 任務與計畫 (157)
4.2.2 認識LCD1602液晶顯示屏 (158)
4.2.3 軟體程式設計 (161)
4.2.4 硬體仿真原理圖 (164)
4.2.5 用Proteus軟硬體仿真運行 (165)
4.2.6 提高練習 (165)
4.2.7 拓展練習 (165)
4.3 任務3 簡易波形信號發生器的設計 (165)
4.3.1 任務與計畫 (165)
4.3.2 認識D/A轉換晶片DAC0832 (166)
4.3.3 軟體程式設計 (167)
4.3.4 硬體仿真原理圖 (168)
4.3.5 用Proteus軟硬體仿真運行 (169)
4.3.6 提高練習 (169)
4.3.7 拓展練習 (169)
4.4 任務4 基於ADC0832的數字電壓表設計 (169)
4.4.1 任務與計畫 (169)
4.4.2 認識A/D轉換晶片ADC0832 (170)
4.4.3 軟體程式設計 (171)
4.4.4 硬體仿真原理圖 (176)
4.4.5 用Proteus軟硬體仿真運行 (177)
4.4.6 提高練習 (177)
4.5 任務5 基於ADC0809的數字電壓表設計與實現 (178)
4.5.1 任務與計畫 (178)
4.5.2 認識A/D轉換晶片ADC0809 (179)
4.5.3 軟體程式設計 (180)
4.5.4 用Proteus軟硬體仿真運行 (185)
4.5.5 數字電壓表的設計與實現 (186)
項目5 數字溫度控制器的設計與實現 (189)
5.0 項目5任務描述 (189)
5.0.1 項目目標 (189)
5.0.2 項目內容 (189)
5.0.3 項目能力評價 (189)
5.1 任務1 認識數字溫度感測器DS18B20 (190)
5.1.1 認識數字溫度感測器DS18B20 (190)
5.1.2 DS18B20溫度感測器的接口電路與工作時序 (192)
5.1.3 DS18B20溫度感測器的套用 (194)
5.2 任務2 溫度報警器的設計 (195)
5.2.1 任務與計畫 (195)
5.2.2 軟體程式設計 (195)
5.2.3 硬體仿真原理圖 (205)
5.2.4 用Proteus軟硬體仿真運行 (205)
5.2.5 提高練習 (207)
5.2.6 拓展練習 (207)
5.3 任務3 數字溫度控制器的設計與實現 (208)
5.3.1 任務與計畫 (208)
5.3.2 認識交直流電機模組MCU08和溫度感測器模組MCU13 (208)
5.3.3 軟體程式設計 (208)
5.3.4 硬體仿真原理圖 (218)
5.3.5 用Proteus軟硬體仿真運行 (219)
5.3.6 數字溫度控制器的設計與實現 (219)
5.4 任務4 認識Cortex-M4 (224)
5.4.1 嵌入式系統的特點與一般套用 (224)
5.4.2 Cortex-M4的組成及功能 (224)
5.4.3 Cortex-M4的主要套用 (226)
5.4.4 Cortex-M4的系列 (226)
5.5 任務5 基於Cortex-M4的直流步進電機控制器的設計與實現 (227)
5.5.1 任務與計畫 (227)
5.5.2 熟悉IAR 6.30開發環境 (227)
5.5.3 基於Cortex-M4的直流電機控制器的設計與實現 (229)
項目6 日曆時鐘的設計與實現 (234)
6.0 項目6任務描述 (234)
6.0.1 項目目標 (234)
6.0.2 項目內容 (234)
6.0.3 項目能力評價 (234)
6.1 任務1 認識I2C匯流排 (235)
6.1.1 I2C匯流排及I2C匯流排接口 (235)
6.1.2 I2C晶片24C04的套用 (238)
6.1.3 軟體程式設計 (240)
6.1.4 硬體仿真原理圖 (244)
6.1.5 用Proteus軟硬體仿真運行 (245)
6.1.6 提高練習 (245)
6.1.7 拓展練習 (245)
6.2 任務2 認識實時時鐘電路 (245)
6.2.1 任務與計畫 (245)
6.2.2 認識實時時鐘晶片DS1302 (246)
6.2.3 軟體程式設計 (249)
6.2.4 硬體仿真原理圖 (257)
6.2.5 用Proteus軟硬體仿真運行 (258)
6.2.6 提高練習 (258)
6.2.7 拓展練習 (258)
6.3 任務3 認識LCD12864液晶顯示屏 (258)
6.3.1 任務與計畫 (258)
6.3.2 認識LCD12864液晶顯示屏 (259)
6.3.3 軟體程式設計 (262)
6.3.4 硬體仿真原理圖 (265)
6.3.5 用Proteus軟硬體仿真運行 (266)
6.3.6 提高練習 (266)
6.3.7 拓展練習 (266)
6.4 任務4 日曆時鐘的設計與實現 (267)
6.4.1 任務與計畫 (267)
6.4.2 軟體程式設計 (267)
6.4.3 硬體仿真原理圖 (278)
6.4.4 用Proteus軟硬體仿真運行 (279)
6.4.5 日曆時鐘的設計與實現 (279)
附錄A ASCII表 (281)