本書以51系列單片機為硬件基礎,以C語言為軟件編程基礎,系統全面地介紹51系列單片機的基本知識與基本應用,主要內容包括:微型計算機基礎、51系列單片機硬件基礎,軟件編程基礎—C51語言基礎,P0~P3口、中斷系統、定時器/計數器、串行口應用基礎,并行總線接口擴展技術,串行總線接口擴展技術,液晶與點陣顯示器應用示例,應用系統設計基礎等。提供大量實例及詳細說明與注釋,硬件設計實例都經過Proteus仿真,每章配有本章小結、習題、實驗與設計等,提供配套電子課件、程序代碼、習題參考答案與實驗指導。
姜志海,山東理工大學自動化學院教授,有超過三十年的豐富教學經驗,并致力于單片機方面的科研工作,已出版多種單片機方面的教材與科技書。
第1章 微型計算機基礎1
1.1 微型計算機的定義與工作過程1
1.1.1 定義1
1.1.2 馮?諾依曼體系1
1.1.3 工作過程2
1.2 計算機中的數制和編碼基礎3
1.2.1 計算機中的數制及轉換3
1.2.2 原碼、反碼、補碼3
1.2.3 定點數和浮點數4
1.2.4 計算機中常用的編碼5
1.3 微型計算機結構7
1.3.1 微型計算機硬件結構概述7
1.3.2 微型計算機軟件概述8
1.3.3 CPU、存儲器、I/O口、總線11
1.4 中斷、定時器/計數器、串行通信、
并行通信的初步認識17
1.4.1 中斷的初步認識17
1.4.2 定時器/計數器的初步認識18
1.4.3 并行通信與串行通信的初步
認識18
1.5 CPU與外設的數據傳輸方式20
1.5.1 無條件傳輸方式20
1.5.2 程序查詢傳輸方式20
1.5.3 中斷傳輸方式21
1.5.4 DMA傳輸方式21
本章小結22
習題22
第2章 51系列單片機硬件基礎23
2.1 認識單片機23
2.1.1 單片機的特點、應用、分類、
發展趨勢23
2.1.2 常用的單片機產品27
2.1.3 MCS-51單片機已成為國際經典29
2.1.4 單片機與CPU、ARM、嵌入式
系統的關系30
2.1.5 單片機應用系統開發的軟硬件
環境32
2.2 51單片機的總體結構34
2.2.1 內部結構34
2.2.2 外部引腳說明35
2.2.3 CPU的時序周期38
2.3 51單片機的存儲器39
2.3.1 程序存儲器39
2.3.2 數據存儲器40
2.3.3 特殊功能寄存器42
本章小結45
習題45
第3章 51系列單片機軟件編程基礎——
C51語言基礎46
3.1 C51語言的數據46
3.1.1 數據類型46
3.1.2 常量與變量46
3.1.3 數據存儲類型49
3.2 C51語言對單片機主要資源的
控制51
3.2.1 特殊功能寄存器的C51語言
定義51
3.2.2 **地址的訪問52
3.2.3 位變量的C51語言定義54
3.3 C51語言的基本運算與流程控制
語句55
3.3.1 基本運算55
3.3.2 分支判斷—if、switch語句56
3.3.3 循環控制—while、for語句58
3.3.4 break、continue、return和goto
語句60
3.4 C51語言的數組、指針、函數61
3.4.1 數組61
3.4.2 指針63
3.4.3 函數65
3.5 C51語言的預處理命令及匯編語句
的嵌入67
3.5.1 文件包含、宏定義、條件編譯67
3.5.2 C51中匯編語句的嵌入69
3.6 C51的程序結構70
3.6.1 C51的程序結構70
3.6.2 C51編程規范及注意事項71
3.6.3 C51的標識符與關鍵字72
本章小結74
習題75
第4章 51系列單片機P0~P3口應用
基礎76
4.1 認識51單片機的P0~P3口76
4.1.1 P1口76
4.1.2 P3口77
4.1.3 P0口77
4.1.4 P2口79
4.1.5 P0~P3口特點總結79
4.2 輸出操作79
4.2.1 基本輸出操作舉例—字節輸出
與位輸出79
4.2.2 擴展輸出操作舉例—流水燈與
霹靂燈80
4.2.3 擴展輸出操作舉例—8段LED
靜態與動態顯示82
4.3 輸入操作86
4.3.1 閘刀型開關輸入信號87
4.3.2 單個按鈕型開關輸入信號88
4.3.3 多個按鈕型開關輸入信號—鍵盤90
4.4 實驗與設計95
本章小結98
習題98
第5章 51系列單片機中斷系統應用基礎99
5.1 中斷系統的再認識99
5.1.1 中斷的有關概念99
5.1.2 中斷處理過程100
5.2 認識51單片機中斷系統102
5.2.1 51單片機中斷系統結構102
5.2.2 中斷控制寄存器103
5.2.3 中斷優先級與中斷響應104
5.2.4 中斷函數的結構形式106
5.3 外部中斷舉例107
5.3.1 外部中斷源初始化107
5.3.2 外部中斷示例108
5.4 實驗與設計112
本章小結115
習題115
第6章 51系列單片機的定時器/計數器
應用基礎116
6.1 可編程的硬件定時器/計數器的
再認識116
6.1.1 功能116
6.1.2 工作原理116
6.1.3 計數器初值的計算117
6.2 認識51單片機的定時器/計數器117
6.2.1 定時器/計數器的的結構117
6.2.2 定時器/計數器的控制寄存器118
6.2.3 定時器/計數器工作模式119
6.3 定時器/計數器的應用舉例122
6.3.1 定時器/計數器的初始化122
6.3.2 應用舉例124
6.4 實驗與設計131
本章小結134
習題134
第7章 51系列單片機串行口應用基礎135
7.1 串行通信的再認識135
7.1.1 異步串行通信與同步串行通信135
7.1.2 波特率138
7.1.3 串行通信的檢錯與糾錯139
7.1.4 串行接口芯片UART和
USART139
7.2 認識51單片機的串行接口140
7.2.1 串行口的結構原理140
7.2.2 串行口的應用控制141
7.3 51單片機串行口的工作方式143
7.3.1 串行口工作方式0143
7.3.2 串行口工作方式1147
7.3.3 串行口工作方式2150
7.3.4 串行口工作方式3153
7.4 51單片機串行口的應用舉例157
7.4.1 串行口編程基礎157
7.4.2 串行口應用舉例159
7.5 實驗與設計165
本章小結167
習題168
第8章 51系列單片機并行總線接口擴展
技術169
8.1 51單片機并行I/O口擴展基礎169
8.1.1 系統擴展總線結構圖169
8.1.2 典型的鎖存器芯片74LS273170
8.1.3 典型的三態緩沖器74LS244170
8.1.4 可編程的I/O接口芯片8255A171
8.2 并行總線的連接175
8.2.1 數據線、控制線的連接175
8.2.2 譯碼信號的形成—系統擴展的
尋址176
8.3 并行I/O接口芯片擴展示例178
8.3.1 利用鎖存器與緩沖器擴展并行
的輸入/輸出口示例178
8.3.2 利用8255A擴展并行的輸入/
輸出口示例180
8.3.3 利用8255A作為8段LED
靜態顯示輸出口的示例181
8.3.4 利用8255A作為8段LED
動態顯示輸出口的示例183
8.4 模擬量接口技術185
8.4.1 A/D與D/A轉換器概述185
8.4.2 8位并行D/A轉換器DAC0832
接口示例192
8.4.3 12位并行D/A轉換器DAC1208
接口示例198
8.4.4 8位并行A/D轉換器ADC0809
接口示例199
8.5 實驗與設計203
本章小結206
習題206
第9章 51系列單片串行總線接口擴展
技術208
9.1 I2C總線接口技術208
9.1.1 認識I2C總線接口208
9.1.2 I2C總線典型器件AT24C02
應用舉例210
9.2 SPI總線接口技術216
9.2.1 認識SPI總線216
9.2.2 SPI總線典型器件X25045
應用舉例217
9.3 單總線(1-wire)接口技術221
9.3.1 認識單總線(1-wire)221
9.3.2 單總線典型器件DS18B20
應用舉例222
9.4 典型串行A/D接口芯片TLC2543的
C51編程228
本章小結231
習題232
第10章 51系列單片機液晶與點陣顯示器
應用示例233
10.1 51單片機液晶顯示器接口技術233
10.1.1 認識LCD顯示器233
10.1.2 字符型LCD1602液晶顯示
模塊接口技術234
10.1.3 點陣式帶漢字庫12864液晶
顯示模塊接口技術239
10.2 51單片機點陣LED顯示器接口
技術247
10.2.1 認識點陣LED顯示器247
10.2.2 一個5×7點陣一個字符
顯示248
10.2.3 兩個8×8點陣字符串顯示249
本章小結251
習題251
第11章 51系列單片機應用系統的設計252
11.1 單片機應用系統結構以及設計
內容252
11.1.1 單片機應用系統的一般硬件
組成252
11.1.2 單片機應用系統的設計內容254
11.2 單片機應用系統的一般設計
方法255
11.2.1 確定系統的功能與性能255
11.2.2 確定系統基本結構