《單片機應用技術基礎》以增強型8051內核單片機STC15F2K60S2為背景,介紹了單片機的基本概念、單片機應用系統常用的元器件、學習單片機技術所需的條件、單片機各部分的硬件結構及功能;以功能強大的KeilμVision集成開發環境作為程序設計和調試環境介紹了程序的調試方法;介紹了單片機應用系統中常見的人機交互模塊;最后以溫度測控系統為典型案例,介紹了單片機應用系統的設計方法和步驟。
為了便于讀者入門,本書不再講授晦澀難懂的匯編語言及匯編語言程序設計,完全按照使用C語言編程的思路進行介紹。這樣,只要學過了C語言,就可以學習單片機,以達到快速入門的目的。
本書深入淺出、層次分明、實例豐富、通俗易懂、突出實用、可操作性強,特別適合作為普通高校計算機專業、電子專業、電氣自動化及機械專業的教學用書,還可作為高職高專以及培訓班的教材使用。同時,也可作為單片機應用領域的工程技術人員的參考用書。
隨著技術的不斷發展,作為自動檢測和控制系統核心的單片機技術也取得了突飛猛進的發展,從最初的4位發展到8位、16位、32位等諸多系列。其中8051內核的單片機由于具有使用方便、價格便宜等優點,獲得了眾多制造廠商的支持,已經發展成為具有上百個品種的大家族。目前,8051內核的單片機仍然是應用最廣泛的單片機。而在眾多的8051內核單片機中,宏晶科技有限公司的STC系列單片機由于具有集成度高、抗干擾能力強的優點,越來越受到廣大工程師的青睞。本書以宏晶科技有限公司的IAP15W4K58S4單片機為背景,來進行單片機的原理介紹和應用設計講解。
IAP15W4K58S4單片機采用增強型8051內核,速度比傳統8051內核單片機快8~12倍,片內集成:58KB Flash程序存儲器(沒有被程序占用的Flash存儲器都可以作為數據Flash存儲器使用)、4096B的SRAM、5個16位可自動重裝載的定時/計數器(T0~T4)、最多62根I/O口線、4個全雙工異步串行口(UART1~ UART4)、1個高速同步通信端口(SPI)、8通道10位高速ADC模塊、8路10位PWM、內置比較器、3通道PWM/可編程計數器陣列/捕獲/比較單元(Capture/Compare/PWM,CCP)、內部高可靠上電復位電路和硬件看門狗、內部集成高精度R/C時鐘,常溫工作時,可以省去外部晶振電路。
IAP15W4K58S4完全兼容STC15W4K系列單片機,并且具有在系統可編程(ISP)功能和仿真調試功能,可以省去價格較高的專用編程器,開發環境的搭建非常容易。
為了便于讀者入門,本書按照使用C語言編程的思路進行介紹。只要學過了C語言,就可以學習單片機。本書的每一章都給出了相應的習題,便于教學。與本書配套的電子教案和書中的所有實例以及最后一章應用系統設計的相關內容可以從網站下載。有興趣的讀者,也可以發送電子郵件與作者進一步交流。
本書由山東大學陳桂友教授任主編,對全書進行規劃統稿,并編寫了第8章;山東特殊教育職業學院祝再興編寫了第3章;山東力明科技職業學院渠秋會編寫了第4章,咸陽職業技術學院張偉斌編寫了第1章和第5章;河北建材職業技術學院紀春明編寫了第2章;遼寧石油化工大學礦業工程學院李芳編寫了第6章和第7章。華北科技學院杜啟軍編寫了第9章。山東大學董廷志同學對本書中所有的例題進行了測試。宏晶公司姚永平總經理對本書進行了認真審閱。在此對所有提供幫助的人深表感謝!
前言
第1章 概述 1
1.1 單片機簡介 1
1.1.1 什么是單片機及單片機應用系統 1
1.1.2 MCS-51系列單片機 4
1.1.3 單片機的應用 5
1.2 單片機系統常用的元器件簡介 6
1.3 單片機應用系統開發和學習環境的搭建 10
1.3.1 硬件環境 10
1.3.2 軟件環境 11
1.4 習題 12
第2章 單片機基礎知識 13
2.1 實例導入——信號燈的控制 13
2.1.1 硬件環境 13
2.1.2 準備程序 13
2.2 計算機的結構及工作過程 23
2.2.1 計算機模型的結構 23
2.2.2 模型機的工作過程 25
2.3 單片機的基本機構 27
2.3.1 IAP15W4K58S4單片機的內部組成 27
2.3.2 IAP15W4K58S4單片機的引腳 30
2.3.3 存儲空間 32
2.4 并行輸入/輸出口 39
2.4.1 IAP15W4K58S4單片機的I/O口 39
2.4.2 IAP15W4K58S4單片機I/O口的工作模式 42
2.4.3 IAP15W4K58S4單片機I/O口的結構 43
2.5 時鐘電路與復位電路 45
2.5.1 時鐘電路與時序 45
2.5.2 單片機的復位 47
2.6 習題 48
第3章 單片機的C語言程序設計及調試 49
3.1 單片機C語言程序中的常用功能 49
3.1.1 關系運算、邏輯運算和位運算 49
3.1.2 預處理 51
3.2 Keil C和ANSI C 53
3.2.1 Keil C51擴展關鍵字 53
3.2.2 Keil C51函數 57
3.2.3 IAP15W4K58S4單片機C51程序框架 59
3.3 IAP15W4K58S4單片機C語言程序調試 61
3.3.1 利用軟件模擬仿真器調試C語言程序 61
3.3.2 利用仿真器調試C語言程序 63
3.4 習題 67
第4章 中斷系統 68
4.1 中斷概述 68
4.1.1 相關概念 68
4.1.2 中斷的特點 69
4.1.3 中斷系統的功能 69
4.2 IAP15W4K58S4單片機的中斷系統 70
4.2.1 中斷源及中斷系統構成 70
4.2.2 中斷寄存器 73
4.2.3 單片機中斷處理過程 79
4.3 中斷系統的應用 79
4.4 習題 82
第5章 定時/計數器 83
5.1 定時/計數器結構與功能 83
5.2 定時/計數器的功能寄存器 85
5.3 定時/計數器的工作方式 88
5.4 時間常數的計算 89
5.5 定時/計數器應用舉例 89
5.6 習題 92
第6章 串行通信 93
6.1 串行通訊的基礎知識 93
6.2 單片機的串行接口 96
6.2.1 串行接口寄存器 96
6.2.2 串行接口的工作方式 99
6.2.3 波特率的設定 102
6.3 單片機串行通信接口的應用 104
6.3.1 標準串行通信接口 105
6.3.2 雙機串行通信應用舉例 107
6.3.3 多機串行通信應用舉例 111
6.4 單片機的SPI接口 115
6.4.1 SPI接口簡介 115
6.4.2 單片機的SPI接口的結構 115
6.4.3 SPI接口的數據通信 116
6.4.4 SPI接口的數據通信方式 117
6.4.5 與SPI相關的特殊功能寄存器 120
6.4.6 SPI接口的應用 122
6.5 習題 123
第7章 模/數轉換器 124
7.1 ADC的結構及相關寄存器 124
7.1.1 ADC的結構 124
7.1.2 參考電壓源 125
7.2 與ADC相關的特殊功能寄存器 125
7.3 ADC的應用 128
7.4 習題 129
第8章 人機交互模塊 131
8.1 顯示器及其接口電路 131
8.1.1 LED數碼管顯示器 131
8.1.2 LCD液晶屏顯示器 137
8.2 鍵盤及其接口電路 142
8.2.1 撥碼開關鍵盤 143
8.2.2 獨立式鍵盤 144
8.2.3 矩陣式鍵盤 146
8.3 習題 150
第9章 基于單片機的溫度測控系統設計 151
9.1 溫度測控系統的要求 151
9.2 溫度測控系統的總體設計分析 151
9.3 溫度測控系統的硬件設計 152
9.4 溫度測控系統的軟件設計 155
9.5 習題 164
附錄A 單片機寄存器頭文件stc15.h內容 165
參考文獻 169