第1章 STC15係列單片機基礎 1
1.1 STC15F2K60S2單片機性能特點 1
1.1.1 主要特性 1
1.1.2 體係結構 2
1.1.3 引腳功能 2
1.2 STC15F2K60S2單片機的存儲器結構 4
1.3 STC15F2K60S2單片機的時鍾與復位 8
1.3.1 時鍾 8
1.3.2 復位 9
1.3.3 看門狗電路 10
1.4 STC15F2K60S2單片機存儲器的使用 11
1.4.1 片內Flash存儲器 11
1.4.2 片內擴展XRAM存儲器 12
1.4.3 片內數據Flash存儲器(EEPROM) 13
1.5 STC15F2K60S2單片機的並行I/O端口 14
1.5.1 並行I/O端口工作模式 14
1.5.2 並行I/O端口使用注意事項 15
1.6 Keil C51開發工具 16
1.7 STC15單片機的C語言編程與調試 17
第2章Keil C51程序設計基礎 26
2.1 標識符與關鍵字 26
2.2 C51程序設計的基本語法 28
2.2.1 C51程序的一般結構 28
2.2.2 數據類型 29
2.2.3 用typedef重新定義數據類型 31
2.2.4 常量、變量及其存儲模式 32
2.2.5 運算符與錶達式 34
2.3 C51程序的基本語句 38
2.3.1 錶達式語句 38
2.3.2 復閤語句 39
2.3.3 條件語句 39
2.3.4 開關語句 40
2.3.5 循環語句 40
2.3.6 goto、break、continue語句 41
2.3.7 返迴語句 41
2.4 函數 42
2.4.1 函數的定義與調用 42
2.4.2 定義中斷服務函數與寄存器組 44
2.5 數組 45
2.5.1 數組的定義與引用 45
2.5.2 數組名作為函數的參數 47
2.5.3 數組與存儲器空間 50
2.6 指針 50
2.6.1 指針與地址 51
2.6.2 指針變量的定義 51
2.6.3 指針變量的引用 52
2.6.4 指針變量作為函數的參數 53
2.6.5 用指針引用數組元素 54
2.6.6 字符數組指針 55
2.6.7 指針的地址計算 56
2.7 函數型指針 57
2.8 返迴指針型數據的函數 59
2.9 指針數組與指針型指針 60
2.9.1 指針數組 60
2.9.2 指針型指針 62
2.9.3 抽象型指針 64
2.10 結構體、聯閤體與枚舉 65
2.10.1 結構體變量的定義與引用 65
2.10.2 結構體數組 67
2.10.3 結構體指針 68
2.10.4 將結構體作為函數的參數 69
2.10.5 將結構體指針作為函數的參數 71
2.11 聯閤體變量的定義與引用 72
2.12 枚舉變量的定義與引用 75
第3章Keil C51編譯器對ANSI C的擴展 78
3.1 存儲器類型與編譯模式 78
3.2 C51數據在內存中的存儲格式 79
3.3 一般指針與基於存儲器的指針及其轉換 80
3.4 C51編譯器對ANSI C函數的擴展 82
3.4.1 C51編譯器支持的函數定義的一般形式 82
3.4.2 堆棧及函數的參數傳遞 82
3.4.3 函數的編譯模式 83
3.4.4 寄存器組切換 83
3.4.5 中斷函數 84
3.4.6 再入函數 84
3.5 目標代碼的段管理 85
3.5.1 全局變量 85
3.5.2 函數和局部變量 86
3.6 啓動代碼 87
3.7 與匯編語言程序的接口 88
3.8 絕對地址訪問 93
3.8.1 采用擴展關鍵字_at_或指針定義變量的絕對地址 93
3.8.2 采用預定義宏指定變量的絕對地址 94
3.9 Keil C51庫函數 95
3.9.1 本徵庫函數 95
3.9.2 字符判斷轉換庫函數 95
3.9.3 輸入/輸齣庫函數 96
3.9.4 字符串處理庫函數 97
3.9.5 類型轉換及內存分配庫函數 99
3.9.6 數學計算庫函數 100
第4章 STC15單片機片內資源應用編程 101
4.1 編寫C51應用程序的基本原則 101
4.2 C51應用中的一些常見問題與解決方法 102
4.3 中斷係統應用編程 104
4.3.1 中斷係統結構 104
4.3.2 與中斷相關的特殊功能寄存器 106
4.3.3 中斷應用編程 108
4.4 定時器/計數器應用編程 111
4.4.1 定時器/計數器邏輯結構 111
4.4.2 與定時器/計數器相關的特殊功能寄存器 112
4.4.3 定時器方式應用編程 113
4.4.4 計數器方式應用編程 117
4.4.5 可編程時鍾輸齣 118
4.4.6 利用定時器産生音樂 119
4.5 串行口應用編程 123
4.5.1 串行口的工作方式 124
4.5.2 與串行口相關的特殊功能寄存器 125
4.5.3 串行口的串/並轉換方式應用編程 127
4.5.4 串行口的通信方式應用編程 130
4.6 片內A/D轉換器應用編程 142
4.6.1 A/D轉換器的邏輯結構 142
4.6.2 與A/D轉換器相關的特殊功能寄存器 143
4.6.3 A/D轉換器應用編程 144
4.7 片內PCA模塊應用編程 146
4.7.1 PCA模塊的邏輯結構 146
4.7.2 與PCA模塊相關的特殊功能寄存器 147
4.7.3 PCA模塊的工作模式 149
4.7.4 PCA模塊應用編程 154
4.8 SPI同步串行接口應用編程 158
4.8.1 SPI接口的邏輯結構 158
4.8.2 與SPI接口相關的特殊功能寄存器 159
4.8.3 SPI接口的通信方式及數據格式 161
4.8.4 SPI接口應用編程 163
4.9 STC15F2K60S2單片機的低功耗設計 167
4.9.1 慢速工作模式 168
4.9.2 空閑與掉電工作模式 168
第5章 STC15單片機片外擴展應用編程 174
5.1 LED數碼管顯示接口應用編程 174
5.1.1 I/O端口驅動LED數碼管應用編程 175
5.1.2 單個74HC595驅動多位LED數碼管應用編程 176
5.1.3 8位共陰極LED數碼管驅動器MAX7219應用編程 179
5.2 非編碼鍵盤接口應用編程 185
5.2.1 采用I/O端口實現的矩陣鍵盤接口應用編程 185
5.2.2 采用片內ADC實現的鍵盤接口應用編程 187
5.3 點陣字符型LCD模塊接口應用編程 191
5.3.1 點陣字符型LCD模塊簡介 191
5.3.2 點陣字符型LCD與單片機的直接接口應用編程 196
5.3.3 點陣字符型LCD與單片機的間接接口應用編程 199
5.3.4 點陣字符型LCD的4位數據總綫接口應用編程 202
5.4 無字庫12864點陣圖型LCD模塊接口應用編程 205
5.5 帶字庫12864點陣圖型LCD模塊接口應用編程 212
5.5.1 帶字庫12864液晶模塊並行接口應用編程 217
5.5.2 帶字庫12864液晶模塊串行接口應用編程 221
5.6 內置T6963C的點陣圖型LCD模塊接口應用編程 225
5.7 DAC轉換接口應用編程 235
5.7.1 DAC0832轉換接口應用編程 235
5.7.2 DAC1208與單片機的接口方法 239
5.7.3 串行接口DAC芯片TLC5615應用編程 241
5.8 ADC轉換接口應用編程 244
5.8.1 ADC0809轉換接口應用編程 244
5.8.2 ICL7135轉換接口應用編程 248
5.8.3 串行接口ADC芯片TLC549應用編程 252
5.9 單片機I2C總綫擴展應用編程 255
5.9.1 I2C總綫簡介 255
5.9.2 I2C總綫通用驅動程序 259
5.9.3 I2C接口器件24C04的讀寫程序 261
5.9.4 I2C接口A/D-D/A轉換芯片PCF8591應用編程 265
5.9.5 I2C接口時鍾芯片PCF8563應用編程 276
第6章 STC15單片機綜閤應用編程實例 287
6.1 有關C51編程的若乾實際應用技巧 287
6.2 C51與匯編語言混和編程及生成應用庫文件 293
6.2.1 C51與匯編語言混閤編程 293
6.2.2 在Vision4中生成應用庫文件 298
6.3 可調數字鍾 299
6.3.1 功能要求 299
6.3.2 硬件電路設計 299
6.3.3 軟件程序設計 300
6.4 紅外遙控係統設計 302
6.4.1 功能要求 302
6.4.2 硬件電路設計 302
6.4.3 軟件程序設計 303
6.5 PWM脈寬調製係統設計 313
6.5.1 功能要求 313
6.5.2 硬件電路設計 313
6.5.3 軟件程序設計 314
6.6 點陣LED顯示屏設計 323
6.6.1 功能要求 323
6.6.2 硬件電路設計 323
6.6.3 軟件程序設計 323
6.7 簡易電子琴設計 326
6.7.1 功能要求 326
6.7.2 硬件電路設計 326
6.7.3 軟件程序設計 327
6.8 DTMF發送/接收係統設計 331
6.8.1 功能要求 331
6.8.2 硬件電路設計 332
6.8.3 軟件程序設計 335
6.9 帶農曆的電子萬年曆設計 346
6.9.1 功能要求 346
6.9.2 硬件電路設計 346
6.9.3 軟件程序設計 349
6.10 電子密碼鎖設計 360
6.10.1 功能要求 360
6.10.2 硬件電路設計 361
6.10.3 軟件程序設計 361
6.11 DS18B20多點溫度監測係統設計 376
6.11.1 功能要求 376
6.11.2 硬件電路設計 376
6.11.3 軟件程序設計 380
6.12 STH11數字溫-濕度測量係統設計 388
6.12.1 功能要求 388
6.12.2 硬件電路設計 388
6.12.3 軟件程序設計 392
6.13 單片機SD卡讀/寫接口設計 397
6.13.1 功能要求 397
6.13.2 硬件電路設計 397
6.13.3 軟件程序設計 399
附錄A STC15F2K60S2單片機指令錶 404
附錄B STC_ISP軟件工具簡介 410
附錄C STC單片機編程下載工具U7/U7-S簡介 413
參考文獻 415
· · · · · · (
收起)