單片機原理與應用及C51程序設計(第5版)(微課版)
謝維成、楊加國
相關主題
商品描述
"51系列單片機應用廣泛,是學習單片機技術較好的系統平臺,同時也是單片微型計算機應用系統開發的一個重要系列。《單片機原理與應用及C51程序設計(第5版)(微課版)》以實用為宗旨,通過豐富的實例講解51系列單片機原理和軟硬件開發技術。程序設計語言涵蓋了匯編語言和C語言,兼顧單片機原理的學習和系統開發。《單片機原理與應用及C51程序設計(第5版)(微課版)》所有程序均在Keil C51上調試通過,應用實例通過Proteus仿真實現,並提供所有源代碼和電路圖的資源下載。 《單片機原理與應用及C51程序設計(第5版)(微課版)》適合各類大專院校及培訓機構作為“單片機原理與應用”或“單片微型計算機原理及應用”類課程的教材,也特別適合打算學習單片機應用系統開發的讀者使用,還可供各類電子工程、自動化技術人員和計算機愛好者參考。 "
作者簡介
謝維成,西華大學教授,碩士研究生導師。主要承擔“微機原理及應用”“單片機應用技術”“智能化測控應用系統設計”“驅動程序設計”等本科生和研究生課程的教學工作,現任西華大學電氣信息學院測控技術與儀器系主任。研究方向:信號檢測與智能信息處理、嵌入式技術及應用,圖像處理及應用研究。作為負責人承擔四川省教育廳自然科學基金重點項目1項,四川省教育廳自然科學科研基金項目1項、四川省教育廳教改項目1項、西華大學青年基金項目1項,企業委托項目多項,作為主研人員參與四川省應用基礎研究項目2項,四川省重點實驗室項目1項,四川省教育廳教改項目1項,企業委托項目多項。
目錄大綱
目 錄
第1章 計算機基礎知識 1
1.1 信息在計算機中的表示 2
1.1.1 數在計算機內的表示 2
1.1.2 字符在計算機內的表示 5
1.2 微型計算機基本結構及工作原理 6
1.2.1 微型計算機的發展 7
1.2.2 微型計算機的基本結構 7
1.2.3 微處理器 8
1.2.4 存儲器 11
1.2.5 輸入/輸出設備及接口電路 13
1.2.6 總線 15
1.2.7 微型計算機的工作過程 16
1.3 單片機概述 21
1.3.1 單片機的概念 21
1.3.2 單片機的發展 21
1.3.3 單片機的應用 22
1.3.4 單片機的主要系列及品種 23
習題 28
第2章 單片機基本原理 30
2.1 51系列單片機概述 31
2.2 51系列單片機的結構原理 31
2.2.1 51系列單片機的基本組成 31
2.2.2 51系列單片機的內部結構 32
2.2.3 51系列單片機的中央
處理器 33
2.2.4 51系列單片機的存儲器 35
2.2.5 51?系列單片機的輸入/輸出
接口 42
2.3 51系列單片機的外部引腳及
片外總線 45
2.3.1 外部引腳 45
2.3.2 片外總線結構 48
2.4 51?系列單片機的工作方式 48
2.4.1 復位方式 48
2.4.2 程序執行方式 49
2.4.3 單步執行方式 49
2.4.4 AT89S5X單片機的空閑和
掉電方式 50
2.4.5 AT89S5X單片機的ISP編程
方式 51
2.5 51系列單片機的時序 53
2.5.1 時鐘周期、機器周期和
指令周期 53
2.5.2 訪問外部ROM的時序 55
2.5.3 訪問外部RAM的時序 55
習題 56
第3章 單片機匯編程序設計 58
3.1 51系列單片機匯編指令格式及
標識 59
3.1.1 匯編指令格式 59
3.1.2 指令中用到的標識符 60
3.2 51系列單片機指令的尋址方式 60
3.2.1 常數尋址(立即尋址) 60
3.2.2 寄存器數尋址(寄存器尋址) 61
3.2.3 存儲器數尋址 61
3.2.4 位數據尋址(位尋址) 63
3.2.5 指令尋址 63
3.3 51系列單片機的指令系統 63
3.3.1 數據傳送指令 63
3.3.2 算術運算指令 65
3.3.3 邏輯操作指令 66
3.3.4 控制轉移指令 67
3.3.5 位操作指令 69
3.4 51系列單片機匯編程序設計 71
3.4.1 51?系列單片機匯編程序
常用偽指令 71
3.4.2 51?系列單片機匯編程序
舉例 72
習題 74
第4章 單片機C語言程序設計 76
4.1 C51的基礎知識 77
4.2 C51的數據類型 78
4.2.1 C51的基本數據類型 78
4.2.2 C51的特有數據類型 80
4.3 C51的變量 80
4.3.1 C51的普通變量及定義 80
4.3.2 C51的特殊功能寄存器
變量 83
4.3.3 C51的位變量 84
4.3.4 C51的指針變量 85
4.3.5 C51的數組 86
4.4 絕對地址的訪問 87
4.4.1 使用C51運行庫中
預定義宏 87
4.4.2 通過指針訪問 88
4.4.3 使用C51擴展關鍵字_at_ 88
4.5 C51中的函數 89
4.5.1 C51函數的參數傳遞 89
4.5.2 C51函數的返回值 90
4.5.3 C51函數的存儲模式 90
4.5.4 C51的中斷函數 91
4.5.5 C51函數的寄存器組選擇 92
4.5.6 C51的重入函數 92
習題 93
第5章 51系列單片機開發和
仿真工具 95
5.1 Keil C51的使用 96
5.1.1 Keil Vision5的安裝 96
5.1.2 Keil Vision5的界面 96
5.1.3 Keil Vision5的操作過程 97
5.1.4 項目的設置 102
5.2 Proteus的使用 104
5.2.1 進入Proteus及工程創建 104
5.2.2 Proteus的原理圖界面 106
5.2.3 電路原理圖的繪制及仿真 108
習題 115
第6章 51系列單片機的內部資源及
編程 116
6.1 並行接口 117
6.1.1 並行接口輸出實例 117
6.1.2 並行接口輸入實例 121
6.2 定時/計數器接口 125
6.2.1 定時/計數器的主要特性 125
6.2.2 定時/計數器T0、T1的結構及
原理 126
6.2.3 定時/計數器的方式寄存器和
控制寄存器 127
6.2.4 定時/計數器的工作方式 128
6.2.5 定時/計數器的初始化編程及
應用 130
6.2.6 AT89S5X單片機的看門狗
WDT定時器 140
6.3 串行接口 141
6.3.1 通信的基本概念 141
6.3.2 51?系列單片機串行接口的
功能與結構 147
6.3.3 串行接口的工作方式 149
6.3.4 串行接口的編程及應用 151
6.4 中斷系統 164
6.4.1 中斷的基本概念 164
6.4.2 51系列單片機中斷系統的
結構 166
6.4.3 51?系列單片機的中斷源 166
6.4.4 51?系列單片機的兩級中斷
允許控制 168
6.4.5 51?系列單片機的兩級中斷
優先級控制 168
6.4.6 51?系列單片機的中斷響應 170
6.4.7 51?系列單片機中斷系統
應用舉例 170
習題 178
第7章 51?系列單片機輸入/輸出設備及
應用 180
7.1 51?系列單片機的最小系統 181
7.1.1 8051/8751的最小系統 181
7.1.2 8031的最小系統 181
7.2 數碼管顯示器與51?系列單片機
接口 182
7.2.1 數碼管顯示器的基本結構與
原理 182
7.2.2 數碼管顯示器使用的
主要問題 183
7.2.3 數碼管顯示器與51?系列
單片機的接口 185
7.3 字符點陣式液晶顯示器LCD1602與
51?系列單片機的接口 189
7.3.1 LCD1602概述 189
7.3.2 LCD1602的內部結構 190
7.3.3 LCD1602的指令格式
與功能 192
7.3.4 LCD1602的接口與編程 194
7.4 字符點陣式液晶顯示器LCD12864與
51?系列單片機的接口 196
7.4.1 LCD12864的外觀和引腳 197
7.4.2 LCD12864的控制命令 199
7.4.3 LCD12864的接口與編程 200
7.5 鍵盤與51系列單片機的接口 205
7.5.1 鍵盤概述 205
7.5.2 獨立式鍵盤與單片機的
接口 207
7.5.3 矩陣鍵盤與單片機的接口 209
7.6 行程開關、晶閘管、繼電器、蜂鳴器
與51系列單片機的接口 212
7.6.1 行程開關、繼電器常開觸點
與51系列單片機的接口 212
7.6.2 晶閘管與51?系列單片機的
接口 213
7.6.3 繼電器與51?系列單片機的
接口 213
7.6.4 蜂鳴器與51?系列單片機的
接口 214
習題 214
第8章 51系列單片機與D/A、A/D
轉換器的接口 216
8.1 D/A轉換器與51?系列單片機的
接口 217
8.1.1 D/A轉換器概述 217
8.1.2 典型的D/A轉換器芯片
DAC0832 220
8.1.3 DAC0832與51?系利單片機的
接口與應用 222
8.2 A/D轉換器與51系列單片機的
接口 226
8.2.1 A/D轉換器概述 226
8.2.2 典型的A/D轉換器芯片
ADC0808/0809 228
8.3 串行D/A、A/D與51?系列單片機的
接口 233
8.3.1 串行D/A芯片MAX517與
51?系列單片機的接口 233
8.3.2 串行A/D芯片MAX1241與
51系列單片機的接口 236
習題 240
第9章 51系列單片機應用
系統設計 242
9.1 單片機應用系統開發過程 243
9.1.1 單片機應用系統開發的
基本過程 243
9.1.2 單片機應用系統的硬件系統
設計 244
9.1.3 單片機應用系統的軟件
設計 246
9.2 單片機多點溫度測量系統設計 248
9.2.1 單片機多點溫度測量系統
功能要求 248
9.2.2 單片機多點溫度測量系統
總體方案 248
9.2.3 單片機多點溫度測量系統
主要部件 249
9.2.4 單片機多點溫度測量系統
硬件電路 255
9.2.5 單片機多點溫度測量系統
軟件程序 255
9.3 帶溫濕度的電子萬年歷設計 262
9.3.1 帶溫濕度的電子萬年歷功能
要求 262
9.3.2 帶溫濕度的電子萬年歷總體
方案 263
9.3.3 時鐘芯片DS1302模塊 264
9.3.4 數字溫濕度傳感器DHT11
模塊 268
9.3.5 帶溫濕度的電子萬年歷硬件
電路 272
9.3.6 帶溫濕度的電子萬年歷軟件
程序 272
9.4 單片機電子密碼鎖設計 281
9.4.1 單片機電子密碼鎖
功能要求 281
9.4.2 單片機電子密碼鎖
總體方案 281
9.4.3 單片機電子密碼鎖
主要部件 282
9.4.4 單片機電子密碼鎖
硬件電路 288
9.4.5 單片機電子密碼鎖
軟件程序 289
習題 294
第10章 51系列單片機仿真實驗 295
實驗1 51系列單片機並行口輸出
流水燈實驗 296
實驗2 51?系列單片機定時/計數器
實驗 296
實驗3 51系列單片機串口方式0
擴展I/O口實驗 297
實驗4 51系列單片機串口方式1
通信實驗 298
實驗5 51?系列單片機控制鍵盤、
數碼管顯示實驗 299
實驗6 51系列單片機軟時鐘
LCD1602液晶顯示實驗 299
實驗7 51系統單片機控制
DAC0832實驗 300
實驗8 51?系統單片機控制
ADC0808/0809實驗 301
附錄A C51的庫函數 302
附錄B 單片機技術及嵌入式系統的
網絡資源 311
參考文獻 312