《單片機原理與應用-基於彙編、C51及混合編程》是2014年高等教育出版社出版的圖書,作者是陳勇等人。
本書以STC12C5A60S2單片機為主線,詳細介紹了51內核單片機的結構原理、
彙編指令系統、
C51程序設計、C51與彙編混合編程,以及STC12C5A60S2單片機的PCA/PWM、A/D、
EEPROM、
SPI介面等片上資源。系統擴展設計及例題的介紹與實際應用相結合,原理圖中給出了各元器件的實際應用參數。書中給出了大量例題,在第7-12章中的每一道例題都採用彙編、C51兩種語言分別編程實現。第12章中
數字顯示溫度計、RLC測量儀兩個應用實例的電路及程序都通過了驗證。本書知識系統全面、簡潔易懂,可作為自動控制、
電力電子、智能儀器儀錶、通信、
電子信息等相關專業本科生的教材,也可供有關工程技術人員參考。
第1章 單片機概述 | 第2章 STC系列單片機的結構與原理 | 第3章 單片機開發軟體快速入門 | 第4章 51內核單片機彙編語言程序設計 |
1.1 單片機的基本概念 | 2.1 51內核單片機的內部基本結構簡介 | 3.1 Proteus7.4快速入門 | 4.1彙編指令格式 |
1.2 單片機的發展歷程 | 2.2 STC系列單片機簡介 | 3.1.1 窗口界面 | 4.2定址方式 |
1.2.1 4位單片機 | 2.3 STC12C5A60S2單片機管腳功能 | 3.1.2 基本操作 | 4.2.1立即定址【立即(數)定址】 |
1.2.2 8位單片機 | 2.4程序狀態字寄存器 | 3.1.3 程序的編譯和模擬 | 4.2.2 寄存器定址 |
1.2.3 16位單片機 | 2.5存儲器及存儲空間 | 3.2 Keil uVision3快速入門 | 4.2.3直接定址 |
1.2.4 32位單片機 | 2.5.1程序存儲器 | 3.2.1 Keil uVision3 IDE的主要特性 | 4.2.4寄存器間接定址 |
1.2.5 64位單片機 | 2.5.2 片內RAM | 3.2.2 Keil工程的建立及設置 | 4.2.5變址定址 |
1.3 8位單片機的主要系列 | 2.5.3特殊功能寄存器 | 3.3 Keil 霽ision3和Proteus7.4聯調 | 4.2.6相對定址 |
1.3.1 51內核系列單片機 | 2.5.4擴展RAM | 習題3 | 4.2.7 位定址 |
1.3.2 非51內核單片機 | 2.6 I/O口工作方式及配置 | | 4.3 指令系統 |
1.4 單片機的應用 | 2.6.1 I/O口的工作方式 | | 4.3.1 數據傳送指令 |
習題1 | 2.6.2准雙向口輸出配置 | | 4.3.2 算術運算指令 |
| 2.6.3強推挽輸出配置 | | 4.3.3邏輯運算指令 |
| 2.6.4僅為輸入配置 | | 4.3.4控制轉移指令 |
| 2.6.5開漏輸出配置 | | 4.3.5 位操作指令 |
| 2.6.6 PWM輸出時I/O口的狀態 | | 4.4 彙編程序常用偽指令 |
| 2.7時鐘電路與時序 | | 4.5 彙編語言程序設計 |
| 2.7.1 時鐘電路 | | 4.5.1 51內核單片機的彙編程序總體結構 |
| 2.7.2時鐘分頻及分頻寄存器 | | 4.5.2 彙編程序設計示例 |
| 2.7.3時序 | | 習題4 |
| 2.8 省電模式 | | |
| 2.9 複位電路 | | |
| 2.9.1 上電複位 | | |
| 2.9.2看門狗(WDT)複位 | | |
| 2.9.3外部低壓檢測複位 | | |
| 2.9.4軟體複位 | | |
| 習題2 | | |
第5章 單片機C51程序設計 | 第6章 C51與彙編語言混合編程 | 第7章 中斷控制、定時/計數器及PCA/PWM的應用 | 第8章串列口通信 |
5.1 C 51程序設計基礎 | 6.1 C51與彙編語言混合編程概述 | 7.1 中斷的概念 | 8.1 串列通信的概念 |
5.1.1 C51語言特點 | 6.1.1 C51與彙編語言混合編程的優點 | 7.2中斷系統的結構 | 8.2 串列口1的相關寄存器 |
5.1.2 C51程序結構 | 6.1.2 單片機程序的編譯過程 | 7.3中斷寄存器 | 8.3 串列口1的工作方式 |
5.1.3 C51的字符集、標識符與關鍵字 | 6.2 C51 和A51程序介面基礎 | 7.4低壓檢測中斷 | 8.3.1方式0 |
5.2 C51的數據類型及其在51內核單片機中的存儲方式 | 6.2.1 C51函數名的轉換及其命名規則 | 7.5外部中斷 | 8.3.2方式1 |
5.2.1 C51的數據類型 | 6.2.2 C51函數及其相關段的命名規則 | 7.6定時/計數器T0、T1的工作方式 | 8.3.3方式2 、方式3 |
5.2.2 數據的存儲器類型 | 6.2.3 C51函數的參數傳遞規則 | 7.6.1 方式0 | 8.3.4 多機通信 |
5.2.3 常量和變數 | 6.3 混合編程的實現 | 7.6.2 方式1 | 8.4串列口1通信中波特率的設置 |
5.2.4 存儲模式 | 6.3.1 C51程序中嵌入彙編程序 | 7.6.3方式2 | 8.5 串列口2的相關寄存器 |
5.3 硬體資源訪問 | 6.3.2 C51與彙編函數的相互調用 | 7.6.4方式3 | 8.6串列口2的工作方式 |
5.3.1 C51對特殊功能寄存器的定義 | 習題6 | 7.7定時/計數器T0、T1的應用舉例 | 8.6.1方式0 |
5.3.2 C51對位變數的定義 | | 7.8定時/計數器T2的工作方式及應用 | 8.6.2方式1 |
5.3.3 C51對存儲器和外部I/O介面的絕對地址訪問 | | 7.8.1 與定時/計數器T2相關的寄存器 | 8.6.3方式2 |
5.4 C51 的運算符 | | 7.8.2捕獲方式 | 8.6.4方式3 |
5.5 C51的指針 | | 7.8.3自動重裝遞增計數器方式 | 8.7 串列口的應用 |
5.6 C51的函數 | | 7.8.4自動重裝遞增或遞減計數器方式 | 8.8RS-232串列標準 |
5.7 C51流程式控制制 | | 7.8.5波特率發生器 | 8.9 RS-485串列介面 |
5.7.1 分支語句 | | 7.8.6 時鐘輸出方式 | 8.10 SPI串列介面概述 |
5.7.2循環語句 | | 7.9 PCA/PWM模塊的結構及應用 | 8.10.1 SPI介面電路 |
5.8 C51編程實例 | | 7.9.1 PCA/PWM模塊的結構 | 8.10.2 SPI串列通信的特殊功能寄存器 |
5.8.1 C51程序的反彙編程序(源代碼) | | 7.9.2 PCA 16位定時/計數器 | 8.11 SPI串列數據通信 |
5.8.2 算術運算程序設計 | | 7.9.3 PCA/PWM各個模塊的特殊功能寄存器 | 8.11.1單主單從通信方式 |
5.8.3 數制轉換程序設計 | | 7.9.4 PCA/PWM模塊的工作方式及應用 | 8.11.2 互為主從的通信方式 |
5.8.4 查表程序設計 | | 習題7 | 8.11.3單主多從通信方式 |
5.8.5 單片機硬體介面程序設計 | | | 8.11.4 SPI通信的具體過程 |
5.9 模塊化程序設計 | | | 8.11.5 SPI通信時序 |
習題5 | | | 8.12 SPI介面的應用 |
| | | 習題8 |
第9章 STC12C5A60S2單片機的片內A/D轉換器 | 第10章STC系列單片機片內EEPROM的應用 | 第11章 單片機常用介面 | 第12章 單片機應用系統設計案例 | 附錄A STC系列單片機指令匯總表 |
9.1 A/D轉換的內部結構 | 10.1 EEPROM模塊所屬特殊功能寄存器 | 11.1 單片機最小系統 | 12.1 基於STC12C5A60S2單片機的數字顯示溫度計 | 附錄B C51庫函數 |
9.2 A/D轉換器的相關寄存器 | 10.2 EEPROM讀、寫、擦除 | 11.2 數據存儲器擴展 | 12.1.1數字溫度計硬體電路設計 | 附錄C STC單片機選型指南 |
9.3 A/D轉換器的應用 | 習題10 | 11.2.1 SRAM晶元 | 12.1.2 系統軟體設計 | 附錄D STC12系列單片機程序下載說明 |
習題9 | | 11.2.2 單片機和SRAM的介面 | 12.2 電阻、電感、電容測量儀 | |
| | 11.3輸入/輸出口擴展 | 12.2.1電阻、電感、電容測量儀的工作原理 | |
| | 11.3.1 I/O介面電路的功能 | 12.2.2系統硬體電路的設計 | |
| | 11.3.2 簡單的I/O口擴展舉例 | 12.2.3系統軟體程序的設計 | |
| | 11.4 8255A可編程I/O介面擴展 | 習題12 | |
| | 11.4.1 8255A內部結構和引腳功能 | | |
| | 11.4.2 8255A控制字 | | |
| | 11.4.3 8255A的工作方式 | | |
| | 11.4.4 8255A的應用 | | |
| | 11.5單片機與外部A/D、 D/A轉換電路的介面 | | |
| | 11.5.1 A/D轉換器的分類和性能指標 | | |
| | 11.5.2高速A/D轉換器TLC5510 | | |
| | 11.5.3單片機與高速A/D轉換器TLC5510的介面 | | |
| | 11.5.4 D/A轉換器 | | |
| | 11.5.5 D/A轉換器TLC5620 | | |
| | 11.5.6 單片機與TLC5620的介面 | | |
| | 11.6單片機與鍵盤的介面 | | |
| | 11.6.1按鍵的原理 | | |
| | 11.6.2獨立鍵盤 | | |
| | 11.6.3矩陣鍵盤 | | |
| | 11.7單片機與LED顯示器的介面 | | |
| | 11.7.1 LED數碼管靜態顯示 | | |
| | 11.7.2 LED數碼管動態顯示 | | |
| | 11.7.3 LED點陣驅動 | | |
| | 11.8 單片機與光電耦合器件的介面 | | |
| | 11.9單片機與電磁式繼電器的介面 | | |
| | 11.10單片機與蜂鳴器的介面 | | |
| | 習題11 | | |