學習情境一 單片機的發(fā)展和應用領域 1
1.1 初識單片機 1
1.1.1 什么是單片機 1
1.1.2 單片機發(fā)展歷史與高速SOC單片機C8051F 2
1.1.3 Cygnal C8051F系列單片機特點 2
1.1.4 有關C8051系列CPU 3
1.2 單片機介紹 4
1.2.1 MCS-51單片機基本功能介紹 5
1.2.2 CIP-51單片機基本功能介紹 5
1.3 單片機學習相關知識 7
1.3.1 數制和編碼 7
1.3.2 邏輯運算 9
1.3.3 真值與機器數 9
1.3.4 原碼、反碼、補碼 9
1.3.5 BCD碼 10
1.3.6 常用邏輯元件及功率輸出元件 11
思考題 15
學習情境二 單片機內部結構 16
2.1 MCS-51單片機基本組成及引腳功能 16
2.1.1 單片機的基本組成 16
2.1.2 單片機的引腳及其功能 17
2.1.3 MCS-51單片機的存儲器 19
2.2 CIP-51單片機基本功能介紹 26
2.3 單片機復位 27
2.3.1 通電復位 28
2.3.2 斷電復位 28
2.3.3 外部復位 29
2.3.4 軟件強制復位 29
2.3.5 時鐘丟失檢測器復位 29
2.3.6 比較器0復位 29
2.3.7 外部CNVSTR引腳復位 30
2.3.8 看門狗定時器復位 30
思考題 31
學習情境三 單片機指令系統(tǒng) 32
3.1 指令 32
3.2 程序設計語言 32
3.3 Cygnal(80C51)單片機指令 33
3.4 匯編語言的特點 37
3.5 匯編指令的格式 37
3.6 指令系統(tǒng)符號的意義 38
3.7 尋址方式 38
3.8 Cygnal系列單片機指令 39
3.8.1 數據傳送和交換類指令 39
3.8.2 算術操作類指令(24) 42
3.8.3 邏輯運算指令 45
3.8.4 控制轉移類指令 46
3.8.5 位操作指令 48
思考題 49
學習情境四 實現交通燈自動控制 53
4.1 匯編語言程序設計概述 53
4.2 偽指令 54
4.3 單片機匯編語言程序的基本結構形式 54
4.4 Cygnal單片機匯編語言程序設計舉例 60
思考題 67
學習情境五 在電機控制中應用中斷 68
5.1 中斷系統(tǒng)的概述 68
5.1.1 中斷原理介紹 68
5.1.2 使用中斷的好處 69
5.2 單片機中斷系統(tǒng)結構 70
5.2.1 中斷源 70
5.2.2 中斷控制系統(tǒng)中的特殊功能寄存器(SFR) 71
5.3 中斷響應 74
5.3.1 中斷響應條件 74
5.3.2 中斷響應過程 74
5.3.3 中斷響應時間 74
5.4 外部中斷方式的選擇 75
5.4.1 電平觸發(fā)方式 75
5.4.2 脈沖觸發(fā)方式 75
5.5 中斷程序設計 75
5.5.1 中斷初始化程序 75
5.5.2 中斷服務程序 76
思考題 77
學習情境六 電機轉速控制與定時器/計數器 79
6.1 定時器/計數器工作原理及結構 79
6.1.1 定時器/計數器結構 80
6.1.2 定時器/計數器控制寄存器 81
6.2 定時器/計數器工作方式 82
6.2.1 方式0:13位定時器/計數器 82
6.2.2 方式1:16位定時器/計數器 83
6.2.3 方式2:8位自動重裝載的定時器/計數器 83
6.2.4 方式3:兩個8位定時器/計數器(僅定時器0) 84
6.2.5 定時器/計數器的定時/計數范圍 85
6.3 單片機定時器/計數器的應用 85
6.3.1 定時器/計數器的編程和使用方法 85
6.3.2 定時器/計數器的應用實例 86
6.4 門控位的應用 90
思考題 92
學習情境七 模擬量輸入與實時控制輸出 94
7.1 模擬量與數字量概述 94
7.2 A/D轉換原理 95
7.3 A/D轉換器及參數指標 96
7.4 典型A/D轉換器芯片ADC0809 99
7.4.1 ADC0809的內部結構及工作原理 99
7.4.2 ADC0809典型應用 101
7.4.3 應用舉例 103
7.5 D/A 轉換接口電路 106
7.5.1 D/A 轉換器的技術性能指標 106
7.5.2 典型D/A 轉換器芯片DAC0832 107
學習情境八 PWM波輸出 109
8.1 PWM波的產生原理 110
8.2 PWM波變頻控制原理 111
8.2.1 PWM脈寬調制基本知識 111
8.2.2 軟件產生PWM波的調速原理 112
8.2.3 實現任務的軟件方式之一 112
8.3 Cygnal可編程計數器陣列 115
8.4 Cygnal的PCA計數器/定時器 115
8.5 Cygnal的捕捉/比較模塊 117
8.5.1 邊沿觸發(fā)的捕捉方式 118
8.5.2 軟件定時器(比較)方式 118
8.5.3 高速輸出方式 119
8.5.4 頻率輸出方式 120
8.5.5 8位脈寬調制器方式 121
8.5.6 16位脈寬調制器方式 121
8.6 PCA0寄存器說明 122
思考題 125
學習情境九 串行外設通信SPI0與UART 126
9.1 串行通信基礎知識 126
9.2 MCS-51單片機串行口結構及工作方式 128
9.3 串行口的應用 132
9.4 串行外設接口總線(SPI0) 138
9.4.1 信號說明 138
9.4.2 SPI0操作 139
9.4.3 串行時鐘時序 141
9.4.4 SPI特殊功能寄存器 141
9.5 UART0 144
9.5.1 UART0工作方式 144
9.5.2 多機通信 148
9.5.3 幀錯誤和傳輸錯誤檢測 149
9.5.4 UART0特殊功能寄存器 150
思考題 151
學習情境十 集成開發(fā)環(huán)境 153
10.1 系列單片機下載使用 153
10.1.1 ByteBlaster下載線電路 153
10.1.2 AT89S系列的ISP方法 153
10.2 AVR系列的ISP方法 155
10.3 工具箱 156
10.4 硬件連接 156
10.5 軟件安裝 156
10.6 Silabs集成開發(fā)環(huán)境 157
10.6.1 系統(tǒng)要求 157
10.6.2 匯編程序和連接程序 157
10.6.3 評估版C51C編譯器 157
10.6.4 在SilabsIDE上使用Keil8051軟件工具 157
10.6.5 源程序實例 158
10.6.6 寄存器定義文件(頭文件) 158
10.7 目標板 158
10.7.1 系統(tǒng)時鐘源 158
10.7.2 按鍵和發(fā)光二極管 159
10.7.3 串口J5 159
10.7.4 模擬輸入輸出口J11和J20 159
10.7.5 外擴I/O連接器(J24) 160
10.7.6 電源檢測器禁止跳線器J23 161
10.7.7 目標板JTAG接口J4 161
10.7.8 I/O 接口連接器(J12~J19) 161
10.7.9 VREF連接器(J22) 162
10.8 串行適配器 162
10.9 U-EC5操作指南 162
10.9.1 U-EC5調試適配器操作說明 163
10.9.2 應用專用軟件(U-EC5中文編程軟件)快速燒錄C8051FMCU操作說明 167
10.10 在5V系統(tǒng)中應用3.3V Cygnal單片機解決方案 171
10.10.1 電源選擇 171
10.10.2 用5V輸出驅動3V輸入 172
10.10.3 用3V輸出驅動5V輸入 172
學習情境十一 單片機知識擴展 174
11.1 嵌入式系統(tǒng) 174
11.2 ARM 開發(fā)基礎知識 174
11.2.1 ARM簡介 174
11.2.2 ARM微處理器特點 175
11.2.3 ARM應用領域 175
11.2.4 ARM內核 175
11.2.5 開發(fā)工具 176
11.2.6 開發(fā)流程 178
11.3 DSP基礎知識 179
11.3.1 DSP芯片 179
11.3.2 DSP系統(tǒng)的運算量 180
11.3.3 DSP系統(tǒng)的特點 181
11.3.4 DSP芯片的應用 181
參考文獻 182