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