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