圖書簡介:
本書以89C51為典型機型,結合大量實例,并以Keil C51作為主要編程和調試工具,由淺入深地講解了單片機的工作原理及應用技術。全書共分為9章,主要內容包括:單片機基礎知識與數制編碼、單片機匯編語言程序設計、單片機C51語言程序設計、中斷系統與定時/計數器、串行接口、單片機接口技術、單片機應用系統開發。本書將單片機技術的硬件和軟件、理論和實踐、情境化設計項目等進行了有機的結合,使讀者可以在接近實際開發的過程中較完整地學習單片機技術及開發工具的使用,實現了教、學、做的合一。
本書可作為高職高專、中等職業學校電類專業“單片機原理及應用”課程以及實踐的教學用書,同時也非常適合自學單片機的讀者使用。
前 言
為了適應我國高職高專教學改革的需要,并結合高職高專學生的學習特點,使學生做到學有所得,本書采取了“以項目為載體”的編寫思路,以及以項目引導教學的編寫原則。經過與多所高職高專教學一線教師的深入切磋,我們對教學內容進行了整合,將合適的應用實例與具體知識點相融合,盡量做到學以致用,并適當降低了理論難度,豐富了實踐內容。
本書以常用的89C51為典型機型講述單片機原理及接口技術,以提高學生實際應用能力為目的豐富了常用串行口芯片擴展的內容。書中還利用一章的篇幅具體對兩個設計實例進行了詳盡的實施過程描述,可使學生熟悉設計過程中的思路與方法。本書采用C51語言作為設計語言,為學生能夠早日掌握單片機的實際開發技術做出了較好的鋪墊。
本書共分為9章,第1、2章介紹單片機的認知和初步應用,第3、4章介紹單片機的匯編語言及C51語言程序設計,第5~7章介紹單片機的中斷系統、定時/計數器和串行接口,第8、9章介紹單片機接口技術和單片機應用系統開發。附錄中的ASCII碼表、51單片機匯編指令速查表、Keil C51常用庫函數和Keil C51常見錯誤警告提示信息可供查詢。全書參考學時為84學時,第3章可作為選學內容。
本書可作為高職高專、中等職業學校電類專業“單片機原理及應用”課程以及實踐的教學用書,同時也非常適合自學單片機的讀者作為參考。
本書由承德石油高等專科學校鄧立新擔任主編,承德石油高等?茖W校董國增、衡水職業技術學院曹月真任副主編。具體編寫分工如下:第1章、第5章、第6章和第7章由曹月真編寫,第2章和第3章由錢彬編寫,第4章由鄧志輝編寫,第8章由董國增編寫,第9章和附錄由鄧立新編寫。
由于作者水平及能力有限,加之時間倉促,書中難免出現錯誤和不妥之處,懇請讀者批評指正,并歡迎來函來電探討,一并感謝!作者E-mail:dlx6969@126.com。
編 者
目 錄第1章 單片機的認知 1
1.1 單片機概述 2
1.1.1 單片機的概念 2
1.1.2 主流單片機介紹 2
1.1.3 單片機的應用 3
1.2 數制與編碼 4
1.2.1 數制 4
1.2.2 數制的C語言表述 7
1.2.3 原碼、反碼和補碼 9
1.2.4 常用編碼 11
小結 13
習題 14
第2章 單片機的初步應用 15
2.1 89C51單片機最小系統 16
2.1.1 89C51單片機硬件結構 16
2.1.2 89C51單片機存儲器結構 22
2.2 89C51單片機I/O系統 26
2.2.1 并行端口結構 26
2.2.2 指令系統簡介 31
2.3 Keil C51軟件簡介 33
2.3.1 Keil C51軟件的安裝 33
2.3.2 程序錄入與編輯 34
2.3.3 reg51.h頭文件詳解 42
小結 46
習題 46
第3章 89C51單片機匯編語言簡介 47
3.1 89C51單片機指令系統 48
3.1.1 89C51單片機指令分類 48
3.1.2 匯編指令格式 49
3.1.3 尋址方式 50
3.1.4 數據傳送指令 52
3.1.5 算術運算指令 54
3.1.6 邏輯運算指令 56
3.1.7 控制轉移指令 58
3.1.8 位操作指令 60
3.1.9 偽指令 61
3.2 匯編語言程序結構 63
3.2.1 順序結構 63
3.2.2 分支結構 64
3.2.3 循環結構 65
3.2.4 子程序 67
小結 72
習題 72
第4章 C51程序設計 75
4.1 C51語言概述 76
4.1.1 C語言和C51語言 76
4.1.2 C51的特點 77
4.1.3 簡單C51程序介紹 77
4.2 C51數據類型和數據存儲類型 80
4.2.1 常量與變量 80
4.2.2 整型數據 81
4.2.3 實型數據 82
4.2.4 字符型數據 83
4.2.5 數組類型 84
4.2.6 指針類型 86
4.2.7 Keil C51中特有的數據類型 87
4.2.8 數據的存儲類型 88
4.3 運算符和表達式 89
4.3.1 算術運算符和算術表達式 89
4.3.2 賦值運算符和賦值表達式 90
4.3.3 逗號運算符和逗號表達式 90
4.3.4 關系運算符和關系表達式 91
4.3.5 邏輯運算符和邏輯表達式 91
4.3.6 位操作運算符和表達式 92
4.4 C51程序結構 934.4.1 順序結構 93
4.4.2 選擇結構 94
4.4.3 循環結構 98
4.5 函數 102
4.5.1 函數的定義 102
4.5.2 函數的調用 103
4.5.3 局部變量和全局變量 105
4.5.4 intrins.h庫函數介紹 106
4.5.5 中斷程序的編寫 108
4.5.6 寄存器組的切換 109
小結 112
習題 112
第5章 單片機中斷應用 113
5.1 中斷的概念 114
5.2 中斷控制 115
5.3 單片機中斷處理過程 119
5.4 中斷系統C51語言編程要點 121
小結 128
習題 128
第6章 單片機定時/計數器應用 129
6.1 定時/計數器的結構及其工作原理 130
6.2 定時/計數器的工作寄存器 131
6.3 定時/計數器的工作方式 133
6.4 定時/計數器C51語言編程要點 136
小結 139
習題 140
第7章 單片機串行口應用 141
7.1 串行通信及其總線標準 142
7.1.1 串行通信的基本概念 142
7.1.2 串行通信總線標準及其
接口 144
7.2 單片機串行口及其控制 147
7.2.1 89C51單片機串行口的結構 147
7.2.2 89C51單片機串行口
控制寄存器 1477.2.3 89C51單片機串行口
工作方式 148
7.2.4 波特率的設定及串行口
初始化 149
7.2.5 串行口C51語言編程要點 150
小結 156
習題 156
第8章 單片機接口技術 157
8.1 I/O口擴展 158
8.1.1 任務一:簡單I/O口
擴展的實現 158
8.1.2 任務二:可編程I/O口
擴展的實現 161
8.2 人機交互接口 170
8.2.1 任務三:簡單的鍵盤
接口的實現 170
8.2.2 任務四:LED數碼管顯示
接口的實現 172
8.3 任務五:A/D轉換器及接口技術 186
8.4 任務六:D/A轉換器及接口技術 196
小結 204
習題 204
第9章 單片機綜合應用實例 205
9.1 任務一:簡易四路智力搶答器 206
9.2 任務二:多功能智能溫度測量儀 221
小結 238
習題 238
附錄 239
附錄1 ASCII碼表 240
附錄2 51單片機匯編指令速查表 241
附錄3 Keil C51常用庫函數 246
附錄4 Keil C51常見錯誤警告
提示信息 250
參考文獻 255