本書以宏晶科技的單片機IAP15W4K58S4為主線,詳細介紹了這款具有在線仿真功能的單片機內部結構、工作原理及其典型應用。內容主要包括三部分,第1部分是基礎篇,主要講述STC15系列單片機基本知識、C語言編程基礎、指令系統(tǒng)、Keil μVision集成開發(fā)環(huán)境。第2部分是提高篇,主要介紹I/O接口、中斷系統(tǒng)、定時器/計數(shù)器、串行口通信、同步通信SPI和I2C、A-D轉換、PCA模塊、PWM模塊等。第3部分給出了5個單片機典型應用的綜合實例。
本書可作為培養(yǎng)應用型人才的高等院校單片機課程的教材,也可作為單片機愛好者及工程技術人員的參考書。
目前市場上的單片機教材大多都是講授MCS-51單片機系列中的80C51單片機,或者講授國內宏晶科技/南通國芯微電子有限公司的STC89C52單片機,但是這些單片機由于其功能過于簡單,在實際工業(yè)中已經(jīng)很少應用。本書以STC單片機系列中可仿真的IAP15W4K58S4單片機為主線,講授單片機知識結構和應用系統(tǒng)設計。
傳統(tǒng)單片機教材采取“CPU-存儲器-I/O接口”的主線講授單片機知識體系,這不能更好地體現(xiàn)單片機的工程實踐課程屬性,缺乏工程實踐環(huán)節(jié)的教學。本書突破傳統(tǒng)的單片機教學編寫模式,按照基礎、提高和綜合應用三個能力遞進的篇章布局內容,其主要特色如下。
。1)以實踐為主線,構建教學新模式
本書采用任務驅動模式組織教材內容,以工程應用為主線,講授單片機知識體系。不再沿襲傳統(tǒng)的“CPU-存儲器-I/O接口”的主線講授單片機知識體系,而是將單片機的知識點融入到每一個單片機應用系統(tǒng)中,學習單片機就是在做單片機應用系統(tǒng),構建“教、學、做”一體化教學模式,有效地提高了學生應用單片機技術解決工程實踐問題的能力。
。2)融入熱門技術,力爭學用零距離
本書內容涉及STC單片機系列中最為先進的IAP15W4K58S4單片機體系結構、C51編程、數(shù)據(jù)通信、存儲、顯示等,以及RS-232、RS-485、紅外、射頻(RFID)技術、藍牙技術、以太網(wǎng)、GPRS模塊、GPS模塊、GSM模塊等熱門知識,使學生學以致用,從而能夠吸引學生學習的主動性和積極性。
。3)體現(xiàn)宜教易學,組織遞進式內容
本書共分為三篇(17章),內容按照能力遞進式安排,通過理論基礎、知識模塊、綜合實訓三個環(huán)節(jié)構建教材內容,每個不同層次的學校可以根據(jù)實際需求選擇教學內容。具體如下。
第一部分是基礎篇,分為4章,包括STC15系列單片機、KeilμVision4集成開發(fā)環(huán)境、單片機匯編語言、C51編程基礎。
第二部分是提高篇,分8章,以按鍵與顯示、數(shù)據(jù)采集、數(shù)據(jù)通信、數(shù)據(jù)存儲四個環(huán)節(jié)為主線,將單片機各功能模塊知識融入其中。
第三部分是綜合篇,分5章,每章介紹一個綜合實訓項目,詳細介紹單片機應用系統(tǒng)的設計過程,將單片機相關知識融合在一起,設計出一個較復雜的應用系統(tǒng)。
本書田會峰、張寶芳、趙麗編寫。其中,田會峰編寫了1-4章和13-17章;趙麗編寫了5-7章;張寶芳編寫了8-12章。全書由田會峰統(tǒng)稿。
由于編者水平有限,書中定有疏漏和不妥之處,敬請讀者批評指正。
序
前言
第一篇基礎篇
第1章 STC15系列單片機
1.1單片機概述
1.1.1單片機簡介
1.1.2單片機的發(fā)展過程
1.2常用主流單片機
1.2.1 8051單片機
1.2.2 STC單片機
1.2.3 AVR單片機
1.2.4 PIC單片機
1.2.5 MSP430單片機
1.2.6基于ARM核的單片機
1.3 IAP15系列單片機簡述
1.3.1 IAP15W4K58S4單片機
1.3.2 IAP15F2K61S2單片機
1.3.3 CPU內部結構
1.3.4存儲器結構
1.3.5特殊功能寄存器
1.4單片機系統(tǒng)復位
1.4.1外部RST引腳復位
1.4.2軟件復位
1.4.3掉電復位/上電復位
1.4.4專用復位電路復位
1.4.5內部低壓檢測復位
1.4.6看門狗復位
1.4.7程序地址非法復位
1.4.8熱啟動復位和冷啟動復位
1.5單片機省電模式
1.5.1低速模式
1.5.2空閑模式
1.5.3掉電模式
第2章 Keil C51程序設計基礎
2.1 Keil C51系統(tǒng)概述
2.2 Keil C51軟件開發(fā)結構
2.3 Keil C51與標準C語言
2.3.1 Keil C51擴展關鍵字
2.3.2內存區(qū)域
2.3.3存儲模式
2.3.4存儲類型聲明
2.3.5變量或數(shù)據(jù)類型
2.3.6位變量與聲明
2.4運算符與表達式
2.4.1賦值運算符
2.4.2算術運算符
2.4.3增量與減量運算符
2.4.4關系運算符
2.4.5邏輯運算符
2.4.6位運算符
2.4.7復合賦值運算符
2.4.8逗號運算符
2.4.9條件運算符
2.4.10指針和地址運算符
2.4.11 C51對存儲器和特殊功能寄存器的訪問
2.4.12強制類型轉換運算符
2.4.13 sizeof運算符
2.5 C51程序的基本語句
2.5.1表達式語句
2.5.2復合語句
2.5.3條件語句
2.5.4開關語句
2.5.5循環(huán)語句
2.5.6 goto、break、continue語句
2.5.7返回語句
2.6 Keil C51指針
2.6.1 C51指針
2.6.2利用指針實現(xiàn)絕對地址訪問
2.7 Keil C51函數(shù)
2.8 C51代碼優(yōu)化及庫函數(shù)
2.8.1 C51代碼優(yōu)化
2.8.2 C51內聯(lián)的庫函數(shù)
2.9 C51程序結構及應用要點
2.9.1 C51程序結構
2.9.2 C51應用要點
2.10 Keil C51高級編程
2.10.1絕對地址訪問
2.10.2 Keil C51與匯編的接口
2.10.3 Keil C51軟件包中的通用文件
第3章 STC單片機的指令系統(tǒng)
3.1 STC系列單片機指令系統(tǒng)概述
3.1.1 CISC和RISC
3.1.2指令系統(tǒng)概述
3.2尋址方式
3.2.1立即尋址
3.2.2直接尋址
3.2.3寄存器尋址
3.2.4寄存器間接尋址
3.2.5變址尋址
3.2.6位尋址
3.2.7相對尋址
3.3數(shù)據(jù)傳送指令
3.3.1內部數(shù)據(jù)傳送指令
3.3.2外部數(shù)據(jù)傳送指令
3.3.3堆棧操作指令
3.3.4數(shù)據(jù)交換指令
3.4運算和移位指令
3.4.1算術運算指令
3.4.2邏輯運算指令
3.4.3移位指令
3.5控制轉移和位操作指令
3.5.1控制轉移指令
3.5.2位操作指令
3.6匯編器的偽指令
3.6.1狀態(tài)控制偽指令
3.6.2符號定義偽指令
3.6.3存儲空間初始化偽指令
第4章 Keil μVision集成開發(fā)環(huán)境
4.1軟件安裝過程
4.2建立工程
4.3添加STC系列單片機數(shù)據(jù)庫
4.4生成STC系列單片機頭文件
4.5創(chuàng)建工程文件
4.6應用程序編譯與調試
4.6.1程序編譯
4.6.2調試程序
4.7仿真器操作步驟
4.7.1安裝仿真驅動
4.7.2創(chuàng)建項目
4.8 IAP15W4K58S4實驗箱
4.8.1實驗箱的結構布局
4.8.2實驗箱的使用步驟
第二篇提高篇
第5章 I/O口的配置與應用
5.1 I/O口的工作模式及結構
5.1.1并行I/O口工作模式
5.1.2并行I/O口的結構
5.2與I/O口有關的特殊功能寄存器及其地址聲明
5.3應用舉例
第6章中斷系統(tǒng)
6.1中斷的基本概念
6.1.1中斷的概念
6.1.2中斷源
6.1.3中斷優(yōu)先級
6.1.4中斷嵌套
6.2單片機中斷請求
6.2.1中斷請求標志
6.2.2中斷允許的控制
6.2.3中斷優(yōu)先的控制
6.3中斷響應
6.3.1中斷響應時間
6.3.2中斷響應過程
6.3.3中斷請求標志的撤銷問題
6.4中斷服務與中斷返回
6.5中斷服務函數(shù)
6.6 IAP15W4K58S4單片機中斷應用舉例
第7章定時器/計數(shù)器
7.1定時器T0和T1
7.1.1定時器/計數(shù)器T0/T1的結構和工作原理
7.1.2 IAP15W4K58S4單片機定時/計數(shù)器(T0/T1)的控制
7.1.3 IAP15W4K58S4單片機定時/計數(shù)器(T0/T1)的工作方式
7.2 IAP15W4K58S4單片機的定時器/計數(shù)器T2
7.2.1 IAP15W4K58S4單片機的定時/計數(shù)器T2電路結構
7.2.2 IAP15W4K58S4單片機的定時/計數(shù)器T2的控制寄存器
7.3 IAP15W4K58S4單片機的定時器/計數(shù)器T3/T4
7.3.1 IAP15W4K58S4單片機的定時/計數(shù)器T3/T4電路結構
7.3.2 IAP15W4K58S4單片機的定時/計數(shù)器T3/T4的控制寄存器
7.4 IAP15W4K58S4單片機定時器應用
第8章串行口通信
8.1串行通信基礎
8.2 IAP15W4K58S4單片機的串行口1
8.2.1串行口1的控制寄存器
8.2.2串行口1的工作方式
8.2.3串行口1的波特率設置
8.3 IAP15W4K58S4單片機的串行口2
8.4 IAP15W4K58S4單片機的串行口3
8.5 IAP15W4K58S4單片機的串行口4
8.6串行口通信應用實例
8.6.1單片機與單片機之間的通信
8.6.2單片機與PC間通信
第9章同步通信
9.1 SPI接口
9.1.1 SPI的結構
9.1.2 SPI接口的引腳
9.1.3 SPI接口的相關特殊功能寄存器
9.1.4 SPI接口的數(shù)據(jù)通信
9.1.5 IAP15W4K58S4單片機的SPI接口的應用實例
9.2 I2C通信技術
9.2.1 I2C總線構成
9.2.2 I2C總線的數(shù)據(jù)傳送
9.2.3單片機模擬I2C總線
第10章 A-D轉換
10.1 A-D轉換原理及性能指標