《邊練邊學51單片機:基於STC15系列》是2016年6月北京航空航天大學出版社出版的圖書,作者是李志遠、劉小平、張南賓、冉涌、楊勇。
基本介紹
- 中文名:邊練邊學51單片機:基於STC15系列
- 作者:李志遠、劉小平、張南賓、冉涌、楊勇
- 出版社:北京航空航天大學出版社
- 出版時間:2016年6月
- 定價:39 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787512421585
內容簡介,圖書目錄,
內容簡介
本書通過無驅動多位數碼器控制、無驅動8×8點陣控制、迷你時鐘、智慧型溫控系統、手勢遙控車、極光、12864液晶屏頻譜顯示這8個實踐操作項目詳細介紹了STC15系列單片機的I/O口、A/D轉換器、UART串列口、PWM、EEPROM等方面的套用。
本書配套資料包括所有實踐操作項目的完整C程式、原理圖以及部分章節的視頻教學資源,讀者可以免費索取。
本書面向具有一定單片機基礎的讀者或單片機套用系統DIY製作愛好者,也可用作高校實訓的參考資料。
圖書目錄
第1章 認識增強型8051系列單片機……………………………………………… 1
1.1 STC15單片機指令系統……………………………………………………… 1
1.2 內置時鐘、復位電路、軟體復位……………………………………………… 3
1.3 可配置I/O …………………………………………………………………… 4
1.4 A/D轉換器…………………………………………………………………… 5
1.5 多組高速UART通信串口…………………………………………………… 5
1.6 多路CCP/PCA/PWM ……………………………………………………… 6
1.7 大容量片內數據存儲器(SRAM)…………………………………………… 6
1.8 豐富的中斷請求源…………………………………………………………… 6
1.9 EEPROM 功能……………………………………………………………… 7
1.10 STC15系列單片機學習思路……………………………………………… 7
第2章 C語言編程技巧……………………………………………………………… 9
2.1 語句短小不代表高效………………………………………………………… 10
2.1.1 i=i+1和i++ ………………………………………………………… 10
2.1.2 i++和++i…………………………………………………………… 11
2.2 指 針………………………………………………………………………… 18
2.2.1 指針與變數……………………………………………………………… 18
2.2.2 指針作用………………………………………………………………… 22
2.2.3 指針變數結構…………………………………………………………… 27
2.2.4 指針意義………………………………………………………………… 30
總 結……………………………………………………………………………… 32
第3章 單片機中斷系統…………………………………………………………… 33
3.1 概 念………………………………………………………………………… 33
3.1.1 中斷概念………………………………………………………………… 33
3.1.2 單片機系統的中斷概念………………………………………………… 35
3.2 8051單片機中斷相關暫存器……………………………………………… 35
3.2.1 中斷允許暫存器IE …………………………………………………… 35
3.2.2 中斷優先權……………………………………………………………… 37
3.3 定時器中斷…………………………………………………………………… 40
3.3.1 定時器相關暫存器……………………………………………………… 40
3.3.2 定時器中斷模式與初始化……………………………………………… 43
3.4 外部中斷……………………………………………………………………… 48
3.4.1 外部中斷觸發方式……………………………………………………… 48
3.4.2 外部中斷與掃描式按鍵區別…………………………………………… 50
3.5 UART串口中斷…………………………………………………………… 55
3.5.1 串口波特率及初始化…………………………………………………… 55
3.5.2 串口收發示例程式……………………………………………………… 57
3.6 中斷過程中的數據存儲……………………………………………………… 60
第4章 無驅動多位數碼管控制…………………………………………………… 64
4.1 硬體製作……………………………………………………………………… 64
4.2 硬體原理……………………………………………………………………… 69
4.2.1 單片機I/O口的電氣特性…………………………………………… 69
4.2.2 傳統三極體驅動的數碼管顯示電路…………………………………… 69
4.2.3 無驅動點亮數碼管原理………………………………………………… 72
4.2.4 單片機I/O配置……………………………………………………… 72
4.3 程式詳解……………………………………………………………………… 73
4.3.1 一位數碼管的傳統控制與動態控制…………………………………… 73
4.3.2 4位數碼管顯示………………………………………………………… 76
4.3.3 完整顯示輸出程式(數碼管顯示部分)………………………………… 78
4.3.4 按鍵功能………………………………………………………………… 82
第5章 無驅動8×8點陣控制……………………………………………………… 84
5.1 硬體製作……………………………………………………………………… 84
5.2 硬體原理……………………………………………………………………… 88
5.2.1 單組8×8點陣工作原理……………………………………………… 88
5.2.2 傳統兩組8×8點陣控制方案………………………………………… 92
5.3 程式詳解……………………………………………………………………… 94
5.3.1 兩組8×8點陣全亮程式……………………………………………… 94
5.3.2 點陣編碼原理…………………………………………………………… 96
5.3.3 數據處理與顯示快取………………………………………………… 100
5.3.4 完整功能程式………………………………………………………… 100
第6章 迷你時鐘…………………………………………………………………… 104
6.1 硬體製作…………………………………………………………………… 104
6.2 硬體原理…………………………………………………………………… 109
6.2.1 LCD1602液晶原理…………………………………………………… 109
6.2.2 DS1302時鐘晶片……………………………………………………… 116
6.3 程式詳解…………………………………………………………………… 122
6.3.1 程式結構……………………………………………………………… 122
6.3.2 顯示快取數組Play_buf功能………………………………………… 123
6.3.3 LCD1602顯示程式…………………………………………………… 124
6.3.4 按鍵程式……………………………………………………………… 124
6.3.5 定時器0中斷函式…………………………………………………… 125
6.3.6 鬧鐘部分……………………………………………………………… 127
第7章 智慧型溫控系統……………………………………………………………… 128
7.1 硬體製作…………………………………………………………………… 128
7.2 硬體原理…………………………………………………………………… 132
7.2.1 繼電器………………………………………………………………… 132
7.2.2 溫度感測器DS18B20 ………………………………………………… 133
7.2.3 單片機EEPROM …………………………………………………… 137
7.3 程式詳解…………………………………………………………………… 142
7.3.1 溫度讀取……………………………………………………………… 142
7.3.2 溫度數據處理………………………………………………………… 143
7.3.3 按鍵功能……………………………………………………………… 144
7.3.4 數據處理……………………………………………………………… 144
7.3.5 顯示函式……………………………………………………………… 145
7.3.6 EEPROM 程式……………………………………………………… 145
7.3.7 製冷功率控制(繼電器控制)………………………………………… 147
第8章 手勢遙控車………………………………………………………………… 148
8.1 硬體製作…………………………………………………………………… 148
8.2 硬體原理…………………………………………………………………… 157
8.2.1 L239D電機驅動晶片………………………………………………… 157
8.2.2 ADXL345加速度模組……………………………………………… 159
8.2.3 藍牙UART串口模組………………………………………………… 161
8.2.4 鋰電池與降壓模組…………………………………………………… 162
8.3 程式詳解…………………………………………………………………… 162
8.3.1 ADXL345模組3軸數據讀取……………………………………… 162
8.3.2 3軸數據處理………………………………………………………… 163
8.3.3 串口初始化和串口傳送程式………………………………………… 163
8.3.4 3軸數據分析………………………………………………………… 165
8.3.5 控制指令……………………………………………………………… 167
8.3.6 小車制動命令接收程式……………………………………………… 169
8.3.7 小車控制程式………………………………………………………… 169
第9章 極 光……………………………………………………………………… 171
9.1 硬體製作…………………………………………………………………… 171
9.1.1 元件材料……………………………………………………………… 171
9.1.2 原理圖及PCB ………………………………………………………… 172
9.2 硬體原理…………………………………………………………………… 176
9.2.1 燈珠控制電路原理…………………………………………………… 176
9.2.2 顏色變化原理(PWM 控制方案) …………………………………… 177
9.2.3 PWM 相關暫存器…………………………………………………… 177
9.2.4 PWM 初始化設定…………………………………………………… 181
9.3 程式詳解…………………………………………………………………… 181
9.3.1 燈珠控制程式………………………………………………………… 181
9.3.2 顏色變化方案………………………………………………………… 183
9.3.3 呼吸燈模式顯示原理………………………………………………… 186
9.3.4 波浪式動畫顯示原理………………………………………………… 188
9.3.5 模式切換……………………………………………………………… 190
第10章 12864液晶屏頻譜顯示………………………………………………… 192
10.1 硬體製作…………………………………………………………………… 192
10.2 硬體原理…………………………………………………………………… 196
10.2.1 A/D轉換器………………………………………………………… 196
10.2.2 與A/D轉換相關的暫存器………………………………………… 196
10.2.3 A/D轉換電路……………………………………………………… 199
10.2.4 A/D測試程式……………………………………………………… 199
10.2.5 12864液晶屏簡介…………………………………………………… 202
10.2.6 12864液晶屏時序及指令…………………………………………… 203
10.2.7 12864液晶屏顯示原理……………………………………………… 206
10.2.8 頻譜顯示原理………………………………………………………… 208
10.3 程式詳解…………………………………………………………………… 209
第11章 8×8×8光立方………………………………………………………… 211
11.1 硬體製作…………………………………………………………………… 211
11.2 硬體原理…………………………………………………………………… 220
11.2.1 光立方燈珠控制原理………………………………………………… 220
11.2.2 UART串口………………………………………………………… 223
11.3 程式詳解…………………………………………………………………… 226
11.3.1 內置動畫顯示模式…………………………………………………… 226
11.3.2 在線上顯示模式………………………………………………………… 230
11.3.3 模式切換……………………………………………………………… 232
11.4 光立方動畫設計…………………………………………………………… 233
參考文獻……………………………………………………………………………… 236