第1章 ST7通用單片機簡介
1.1 概述1
1.1.1 ST公司單片機產品介紹1
1.1.2 ST系列單片機的命名規(guī)則1
1.2 ST公司8位單片機簡介2
1.2.1 ST公司8位單片機的特點2
1.2.2 ST5系列單片機4
1.2.3 ST6系列單片機4
1.2.4 ST7系列單片機4
1.2.5 ST9系列單片機5
1.3 ST7通用系列單片機5
1.3.1 ST7通用系列單片機的特點5
1.3.2 ST7FLITE0系列單片機7
1.3.3 ST7FLITE1/2系列單片機8
1.3.4 ST72324系列單片機9
第2章 ST7系列單片機結構及原理
2.1 單片機的基本結構11
2.1.1 ST7系列單片機的基本組成11
2.1.2 引腳定義及功能14
2.1.3 基本工作條件22
2.2 中央處理器CPU22
2.2.1 程序計數器PC22
2.2.2 狀態(tài)寄存器CC23
2.2.3 累加器A24
2.2.4 索引寄存器X和Y25
2.2.5 堆棧指針SP25
2.2.6 堆棧的操作過程26
2.3 寄存器與存儲器的分配27
2.3.1 存儲器的空間分配27
2.3.2 HW寄存器29
2.4 閃存程序存儲器33
2.4.1 主要特性33
2.4.2 編程模式33
2.4.3 ICC接口34
2.4.4 閃存保護36
2.5 數據EEPROM37
2.5.1 主要特點37
2.5.2 EEPROM控制與狀態(tài)寄存器37
2.5.3 存儲器的操作38
2.5.4 電源節(jié)電模式39
2.5.5 讀/寫時可能產生的錯誤 40
2.5.6 對EEPROM的讀保護40
2.5.7 EEPROM存儲器的工作時間40
2.5.8 EEPROM數據存儲器應用舉例41
2.6 時鐘管理41
2.6.1 ST7FLITE0/1/2的時鐘管理42
2.6.2 ST72324的時鐘管理45
2.6.3 內部RC振蕩器的調節(jié)48
2.6.4 鎖相環(huán)PLL48
2.7 復位管理49
2.7.1 復位來源49
2.7.2 復位過程50
2.7.3 異步外部復位51
2.7.4 內部低電壓檢測復位52
2.7.5 內部看門狗復位52
2.8 系統(tǒng)可靠性管理52
2.8.1 SICSR寄存器53
2.8.2 低電壓檢測器LVD54
2.8.3 輔助電壓檢測器AVD55
2.9 ST7單片機的選擇字節(jié)56
2.9.1 ST7FLITE0系列的選擇字節(jié)57
2.9.2 ST7FLITE1/2子系列的選擇字節(jié)59
2.9.3 ST72324子系列的選擇字節(jié)60
2.10 ST7的中斷系統(tǒng)61
2.10.1 中斷的概念62
2.10.2 中斷技術的優(yōu)點62
2.10.3 中斷源62
2.10.4 中斷系統(tǒng)的功能63
2.10.5 ST7的中斷系統(tǒng)結構64
2.10.6 中斷處理過程69
2.10.7 中斷的優(yōu)先級管理和低功耗模式71
2.11 ST7的低功耗方式72
2.11.1 慢速模式72
2.11.2 等待模式72
2.11.3 活躍暫停和暫停模式73
2.11.4 自動喚醒模式76
第3章 指令系統(tǒng)
3.1 ST7指令系統(tǒng)簡介79
3.2 尋址方式80
3.2.1 符號注釋80
3.2.2 尋址方式81
3.2.3 機器碼的前綴字節(jié)90
3.3 數據傳送類指令91
3.3.1 傳送指令91
3.3.2 半字節(jié)交換指令94
3.3.3 堆棧操作指令95
3.4 算術運算類指令96
3.4.1 加法指令96
3.4.2 減法指令97
3.4.3 無符號乘法指令97
3.4.4 加1/減1指令98
3.5 邏輯操作類指令99
3.5.1 邏輯“與”指令99
3.5.2 邏輯“或”指令99
3.5.3邏輯“異或”指令100
3.5.4 移位指令100
3.5.5 取反與求補指令102
3.5.6 清0指令102
3.6 控制轉移類指令102
3.6.1 無條件轉移指令103
3.6.2 條件跳轉指令103
3.6.3 調用子程序及返回指令104
3.6.4 其他控制類指令106
3.7 位操作指令106
3.7.1 位修正指令107
3.7.2 位測試轉移指令108
3.8 比較和測試指令109
3.8.1 比較指令109
3.8.2 邏輯位比較指令110
3.8.3 測試指令110
第4章 匯編語言程序設計
4.1 概述111
4.1.1 程序設計語言111
4.1.2 匯編語言源程序的格式112
4.1.3 匯編語言程序設計步驟113
4.2 基本匯編偽指令114
4.2.1 段偽指令SEGMENT114
4.2.2 匯編結束指令END116
4.2.3 定義變量偽指令DS116
4.2.4 定義常量偽指令DC 117
4.2.5 賦值偽指令EQU和CEQU119
4.2.6 定義偽指令#DEFINE120
4.2.7 外部符號指令EXTERN120
4.2.8 公共符號指令PUBLIC121
4.2.9 默認類型指令122
4.2.10 數字表達方式123
4.3 匯編程序中地址的定位123
4.3.1 一般程序的地址定位123
4.3.2 重定位 125
4.3.3 段的定位 126
4.3.4 關于變量的初始化與定位127
4.4 條件編譯130
4.4.1 條件編譯的句法格式130
4.4.2 條件編譯舉例130
4.5 宏的應用132
4.5.1 宏偽指令的格式與作用132
4.5.2 可替換參數133
4.5.3 局部符號LOCAL134
4.5.4 宏定義中的條件表達式136
4.6 程序設計實例138
4.6.1 順序程序設計138
4.6.2 循環(huán)程序設計139
4.6.3 分支程序設計140
4.6.4 查表程序設計141
4.6.5 子程序設計141
4.6.6 綜合編程舉例143
第5章 片上外圍電路
5.1 輸入/輸出端口148
5.1.1 I/O端口簡介148
5.1.2 輸入模式151
5.1.3 輸出模式151
5.1.4 復用功能151
5.1.5 I/O端口的外部中斷功能152
5.1.6 I/O端口設置153
5.1.7 I/O端口的引腳特性參數154
5.2 LITE定時器155
5.2.1 主要特性155
5.2.2 LITE定時器的結構和原理156
5.2.3 LITE定時器中的寄存器157
5.2.4 時鐘功能說明158
5.2.5 看門狗功能159
5.2.6 輸入捕獲功能160
5.2.7 LITE定時器的中斷161
5.3 12位自動重裝載定時器AT161
5.3.1 AT的主要特點161
5.3.2 AT的結構及工作原理161
5.3.3 AT定時器的寄存器162
5.3.4 PWM工作模式166
5.3.5 輸出比較方式167
5.3.6 中斷168
5.3.7 低功耗模式下的AT定時器168
5.4 LT2定時器168
5.4.1 主要特點169
5.4.2 LT2定時器的組成與原理169
5.4.3 寄存器說明170
5.4.4 功能介紹171
5.4.5 中斷與低功耗模式172
5.5 看門狗定時器WDG172
5.5.1 主要特性172
5.5.2 看門狗定時器的組成172
5.5.3 看門狗的寄存器 173
5.5.4 看門狗的工作174
5.5.5 設計看門狗的復位時間間隔174
5.5.6 低功耗模式176
5.6 12位自動重裝載定時器2(AT2)176
5.6.1 主要特性176
5.6.2 AT2的功能結構177
5.6.3 AT2的寄存器178
5.6.4 功能說明183
5.6.5 中斷185
5.7 16位定時器186
5.7.1 主要特性186
5.7.2 16位定時器的組成187
5.7.3 16位定時器的寄存器188
5.7.4 定時器功能192
5.7.5 輸入捕獲功能194
5.7.6 輸出比較功能195
5.7.7 單脈沖模式198
5.7.8 脈寬調制模式199
5.7.9 低功耗模式200
5.7.10 中斷201
5.8 SPI串行外圍接口201
5.8.1 主要特性201
5.8.2 基本組成與功能202
5.8.3 SPI的寄存器203
5.8.4 主模式操作206
5.8.5 從模式操作208
5.8.6 時鐘相位和時鐘極性209
5.8.7 錯誤標志及處理209
5.8.8 SPI系統(tǒng)配置與功能介紹210
5.8.9 低功耗模式211
5.8.10 SPI的中斷212
5.9 SCI串行通信接口212
5.9.1 主要特性212
5.9.2 SCI接口的結構及組成213
5.9.3 串行數據的幀格式214
5.9.4 SCI的寄存器215
5.9.5 發(fā)送器221
5.9.6 接收器222
5.9.7 常規(guī)波特率的設置223
5.9.8 擴展波特率的設置223
5.9.9 接收暫停和喚醒功能224
5.9.10 奇偶控制225
5.9.11 低功耗模式226
5.9.12 中斷226
5.10 8位A/D轉換器226
5.10.1 主要特點及技術指標226
5.10.2 模/數轉換器的結構與原理227
5.10.3 模/數轉換器的寄存器228
5.10.4 A/D轉換的操作過程230
5.10.5 輸入電壓放大器230
5.10.6 A/D轉換結果230
5.10.7 A/D轉換時序231
5.10.8 低功耗模式231
5.11 10位A/D轉換器232
5.11.1 主要特點232
5.11.2 結構與原理232
5.11.3 模/數轉換寄存器234
5.11.4 A/D轉換結果236
5.11.5 A/D轉換操作過程236
5.11.6 低功耗模式237
第6章 開發(fā)工具和開發(fā)方法
6.1 inDARTST7FLITE0簡介238
6.1.1 inDARTST7FLITE0的主要優(yōu)點238
6.1.2 inDARTST7FLITE0的工作原理239
6.1.3 ICP在線編程239
6.1.4 IDBST7FLITE0演示面板240
6.1.5 STVD7綜合開發(fā)環(huán)境242
6.2 inDARTST7FLITE0的安裝242
6.2.1 inDARTST7FLITE0系統(tǒng)的配置242
6.2.2 硬件安裝243
6.2.3 軟件安裝243
6.3 STVD7開發(fā)工具244
6.3.1 STVD7簡介244
6.3.2 編譯連接過程244
6.3.3 匯編命令ASM246
6.3.4 連接命令 LYN247
6.3.5 格式化命令OBSEND248
6.3.6 庫命令LIB248
6.4 STVD7應用指南249
6.4.1 啟動運行STVD7249
6.4.2 建立或進入工作區(qū)250
6.4.3 文件編輯252
6.4.4 編譯連接253
6.4.5 配置MCU254
6.4.6 斷點說明256
6.4.7 執(zhí)行命令說明256
6.4.8 inDARTST7FLITE0的應用限制257
6.4.9 ICP編程功能258
6.5 調試應用實例258
6.5.1 例題說明259
6.5.2 調試前的準備259
6.5.3 建立工作區(qū)259
6.5.4 編寫程序源文件259
6.5.5 建立批處理命令文件261
6.5.6 編譯連接程序262
6.5.7 調試程序262
6.6 故障處理266
6.6.1 inDARTST7FLITE0不能通信266
6.6.2 運行速度太慢266
6.6.3 用戶程序執(zhí)行時中途停止266
6.6.4 未執(zhí)行中斷處理程序267
6.6.5 程序工作不正常267
6.6.6 顯示通信錯誤267
第7章 ST7系列單片機應用實例
7.1 I/O應用舉例268
7.2 定時器應用舉例270
7.3 A/D轉換應用舉例276
7.4 ST7和PC機間的SCI串行通信278
7.4.1 系統(tǒng)組成278
7.4.2 配置ST72324279
7.4.3 PC機的串行通信280
7.4.4 軟件設計281
7.5 ST7單片機的SPI通信287
7.5.1 系統(tǒng)組成287
7.5.2 ST7FLITE0的配置287
7.5.3 M95040 EEPROM簡介289
7.5.4 ST7與EEPROM的通信軟件說明291
7.5.5 ST7單片機與多個EEPROM通信295
附錄AST公司8位單片機部分產品參數表
附錄BST7指令表
附錄CST7指令指令操作碼簡表
參考文獻