本書從單片機(jī)的實(shí)際應(yīng)用出發(fā),通過任務(wù)驅(qū)動(dòng)方式,使學(xué)生在完成任務(wù)的過程中,逐步掌握單片機(jī)的基本結(jié)構(gòu)、原理、接口技術(shù)及其應(yīng)用。書中通過15個(gè)任務(wù),使學(xué)生逐步掌握單片機(jī)內(nèi)部資源的應(yīng)用和I/O口的功能及控制方法,掌握數(shù)碼管顯示、鍵盤、液晶顯示、A-D轉(zhuǎn)換、D-A轉(zhuǎn)換、EEPROM的控制等單片機(jī)常用技術(shù),從而進(jìn)一步學(xué)會(huì)和掌握利用單片機(jī)開發(fā)交通燈控制器、溫控儀表等工業(yè)產(chǎn)品的技術(shù)和方法。本書在內(nèi)容編排上力求體現(xiàn)單片機(jī)知識(shí)的系統(tǒng)性,注重前后知識(shí)點(diǎn)之間的關(guān)聯(lián),在注重理論基礎(chǔ)的同時(shí)突出實(shí)踐應(yīng)用,并通過任務(wù)、實(shí)例引導(dǎo)激發(fā)讀者學(xué)習(xí)興趣,培養(yǎng)實(shí)際應(yīng)用能力。
本書可作為普通高校計(jì)算機(jī)類、電子信息類、電氣自動(dòng)化及機(jī)械專業(yè)的教學(xué)用書,還可作為高職高專以及培訓(xùn)機(jī)構(gòu)的教學(xué)用書,同時(shí),也可作為單片機(jī)應(yīng)用領(lǐng)域工程技術(shù)人員的參考書。
適讀人群 :適合單片機(jī)設(shè)計(jì)、制造專業(yè)人員參考
為完善教師培養(yǎng)標(biāo)準(zhǔn)和課程體系,教育部、財(cái)政部在“職業(yè)院校教師素質(zhì)提高計(jì)劃”框架內(nèi)專門設(shè)置了職教師資培養(yǎng)資源開發(fā)項(xiàng)目,系統(tǒng)開發(fā)用于本科專業(yè)職教師資培養(yǎng)標(biāo)準(zhǔn)、培養(yǎng)方案、核心課程和特色教材等系列資源。
本書為教育部、財(cái)政部“職業(yè)院校教師素質(zhì)提高計(jì)劃——本科專業(yè)職教師資培養(yǎng)資源開發(fā)項(xiàng)目”(項(xiàng)目編號(hào):VTNE030)的成果之一。
單片機(jī)作為計(jì)算機(jī)發(fā)展的一個(gè)重要分支,已滲透到人們生活的各個(gè)領(lǐng)域。單片機(jī)在各領(lǐng)域的廣泛應(yīng)用,使其成為目前工程教育中最基本和最核心的課程之一。
在教學(xué)體系中,單片機(jī)是一門實(shí)踐性很強(qiáng)的課程,如果只注重理論學(xué)習(xí),不重視實(shí)踐環(huán)節(jié),就得不到好的學(xué)習(xí)效果。只有遵循“任務(wù)驅(qū)動(dòng)→案例引導(dǎo)→在學(xué)中做→在做中學(xué)”這樣一個(gè)循序漸進(jìn)、由淺入深的學(xué)習(xí)過程,才能逐漸理解和掌握單片機(jī)的理論知識(shí)和應(yīng)用技能。
單片機(jī)的學(xué)習(xí),難在軟件設(shè)計(jì),也就是如何用軟件控制硬件,因此書中列舉了大量的案例,這些案例都是經(jīng)過實(shí)驗(yàn)驗(yàn)證的。讀者可以通過分析這些案例,理解和掌握單片機(jī)的編程及操作,同時(shí)通過這些案例加深對(duì)理論的理解。分析案例和模仿案例進(jìn)行程序設(shè)計(jì)是初學(xué)者提高技能的有效方法,但一直模仿下去就不會(huì)進(jìn)步了,因此要盡力獨(dú)立完成工作任務(wù),盡情發(fā)揮個(gè)人創(chuàng)造力,多實(shí)踐、多積累,就會(huì)逐漸成為編程高手。
學(xué)習(xí)單片機(jī)的最終目的,是獲得利用知識(shí)解決生產(chǎn)實(shí)際問題的能力。為此,本書在詳細(xì)介紹了單片機(jī)的基礎(chǔ)知識(shí)后,從工程實(shí)際應(yīng)用角度出發(fā),以培養(yǎng)開發(fā)設(shè)計(jì)能力為目的,在單片機(jī)接口技術(shù)的應(yīng)用方面,引入了交通燈控制器設(shè)計(jì)和溫控儀表設(shè)計(jì)等側(cè)重于實(shí)際應(yīng)用的工作任務(wù),旨在引導(dǎo)讀者掌握工業(yè)產(chǎn)品開發(fā)的能力。
就軟件設(shè)計(jì)而言,匯編語言和C語言各有特點(diǎn),很難區(qū)分孰優(yōu)孰劣。究竟采用哪種語言編程,完全取決于個(gè)人的興趣和愛好。但匯編語言入門難和移植性不好是業(yè)界公認(rèn)的,而且隨著存儲(chǔ)器技術(shù)的發(fā)展和單片機(jī)執(zhí)行速度的提升,在設(shè)計(jì)開發(fā)時(shí)人們已經(jīng)不再擔(dān)心存儲(chǔ)容量和程序執(zhí)行時(shí)間的問題,因此C語言逐漸成為單片機(jī)軟件開發(fā)的“新寵”。本書采用C語言作為軟件設(shè)計(jì)語言,對(duì)C語言的介紹以“夠用”為目標(biāo),只求靈活精煉,不求廣博深?yuàn)W,并簡(jiǎn)單介紹了Keil C51編譯器的實(shí)操用法。
本書除能滿足大中專院!秵纹瑱C(jī)控制技術(shù)與應(yīng)用》的課程教學(xué)外,也可以作為相關(guān)專業(yè)課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)的參考書,還可以作為單片機(jī)開發(fā)設(shè)計(jì)愛好者的參考資料。
本書是吉林工程技術(shù)師范學(xué)院劉君義教授主持的教育部、財(cái)政部“職業(yè)院校教師素質(zhì)提高計(jì)劃——本科專業(yè)職教師資培養(yǎng)資源開發(fā)項(xiàng)目”(項(xiàng)目編號(hào):VTNE030)的成果之一。
本書由唐耀武、羅忠寶、張立新編著,唐耀武編寫了第2章、第4章、第8章及附錄;羅忠寶編寫了第3章、第5章及第6章;張立新編寫了第1章和第7章;全書由唐耀武統(tǒng)稿,由劉君義教授通篇審讀。在此對(duì)全體參編人員予以感謝,同時(shí)感謝許建平教授、方建教授在本書編寫過程中給予的大力幫助。
由于編著者水平有限,書中不足之處難免,敬請(qǐng)廣大讀者批評(píng)指正。
前言
第1章 單片機(jī)概述
1.1 什么是單片機(jī)
1.2 單片機(jī)的用途
1.3 單片機(jī)的種類
1.4 本書的選擇
1.5 如何學(xué)習(xí)單片機(jī)
練習(xí)題
第2章 MCS-51單片機(jī)的硬件結(jié)構(gòu)
2.1 MCS-51單片機(jī)的硬件組成
2.2 MCS-51單片機(jī)的引腳功能
2.3 MCS-51單片機(jī)的CPU
2.3.1 運(yùn)算器
2.3.2 控制器
2.4 MCS-51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)
2.4.1 程序存儲(chǔ)區(qū)
2.4.2 數(shù)據(jù)存儲(chǔ)區(qū)
2.4.3 特殊功能寄存器
2.4.4 位地址空間
2.5 MCS-51單片機(jī)的并行I/O口
2.5.1 P0口
2.5.2 P1口
2.5.3 P2口
2.5.4 P3口
2.6 時(shí)鐘電路
2.7 復(fù)位電路
2.8 單片機(jī)最小系統(tǒng)
2.9 單片機(jī)的低功耗節(jié)電模式
2.9.1 節(jié)電模式控制寄存器
2.9.2 空閑模式
2.9.3 掉電模式/停機(jī)模式
練習(xí)題
第3章 MCS-51單片機(jī)的指令系統(tǒng)
3.1 指令系統(tǒng)概述
3.2 MCS-51單片機(jī)的尋址方式
3.3 MCS-51單片機(jī)指令分類介紹
3.3.1 數(shù)據(jù)傳送類指令
3.3.2 算術(shù)運(yùn)算類指令
3.3.3 邏輯操作類指令
3.3.4 控制轉(zhuǎn)移類指令
3.3.5 位操作類指令
3.4 匯編語言程序設(shè)計(jì)
3.4.1 偽指令及匯編語言源程序匯編
3.4.2 匯編語言程序設(shè)計(jì)舉例
練習(xí)題
第4章 MCS-51單片機(jī)的C語言編程
4.1 C51的數(shù)據(jù)類型
4.2 常量與變量
4.3 C51數(shù)據(jù)的存儲(chǔ)類型與MCS-51單片機(jī)存儲(chǔ)器結(jié)構(gòu)
4.4 MCS-51單片機(jī)特殊功能寄存器及其C51定義
4.5 MCS-51單片機(jī)并行接口及其C51定義
4.6 位變量及其C51定義
4.7 C51的運(yùn)算符、表達(dá)式及其規(guī)則
練習(xí)題
第5章 單片機(jī)開發(fā)軟件及開發(fā)工具
5.1 C51程序結(jié)構(gòu)
5.2 Keil C51應(yīng)用
5.3 下載前的準(zhǔn)備
5.4 使用STC-ISP下載軟件
練習(xí)題
第6章 MCS-51單片機(jī)I/O口的應(yīng)用
6.1 任務(wù)1 流水燈控制
6.1.1 發(fā)光二極管
6.1.2 單片機(jī)的I/O口
6.1.3 單片機(jī)如何實(shí)現(xiàn)延時(shí)
6.1.4 C51語言程序的基本結(jié)構(gòu)及其流程圖
6.1.5 循環(huán)語句
6.1.6 一維數(shù)組
6.1.7 函數(shù)
6.1.8 局部變量和全局變量
6.2 任務(wù)2 LED數(shù)碼管顯示電路
6.2.1 LED數(shù)碼管顯示電路
6.2.2 LED顯示器接口實(shí)例
6.3 任務(wù)3 鍵盤電路
6.3.1 鍵盤接口原理
6.3.2 鍵盤的工作原理
6.3.3 鍵盤的工作方式
6.3.4 選擇語句
6.3.5 鍵盤/顯示器接口實(shí)例
6.3.6 C51的庫函數(shù)
練習(xí)題
第7章 MCS-51單片機(jī)內(nèi)部資源應(yīng)用
7.1 任務(wù)4 中斷應(yīng)用——閃光報(bào)警電路
7.1.1 中斷系統(tǒng)概述
7.1.2 MCS-51單片機(jī)的中斷系統(tǒng)
7.1.3 中斷響應(yīng)過程
7.1.4 外部中斷的響應(yīng)時(shí)間
7.1.5 外部中斷的觸發(fā)方式選擇
7.1.6 中斷請(qǐng)求的撤除
7.1.7 中斷服務(wù)程序的設(shè)計(jì)
7.2 任務(wù)5 定時(shí)器/計(jì)數(shù)器應(yīng)用——分秒計(jì)時(shí)器
7.2.1 定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)
7.2.2 定時(shí)器/計(jì)數(shù)器的工作方式
7.2.3 定時(shí)器/計(jì)數(shù)器的應(yīng)用編程
7.2.4 指針
7.3 任務(wù)6 串行口應(yīng)用1——串行口擴(kuò)展并行口
7.3.1 MCS-51單片機(jī)串行口及控制
7.3.2 串行口的工作方式0
7.3.3 用MCS-51單片機(jī)的串行口擴(kuò)展并行口
7.4 任務(wù)7 串行口應(yīng)用2——單片機(jī)雙機(jī)通信
7.4.1 串行數(shù)據(jù)通信概述
7.4.2 串行口用于串行數(shù)據(jù)通信的工作方式
7.4.3 多處理機(jī)通信方式
7.4.4 串行口波特率計(jì)算
7.4.5 串行口編程和應(yīng)用
7.5 任務(wù)8 帶時(shí)間顯示的交通燈系統(tǒng)設(shè)計(jì)
7.5.1 單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)與開發(fā)
7.5.2 交通燈系統(tǒng)設(shè)計(jì)
練習(xí)題
第8章 單片機(jī)擴(kuò)展應(yīng)用技術(shù)
8.1 任務(wù)9 D-A轉(zhuǎn)換應(yīng)用—信號(hào)發(fā)生器
8.1.1 概述
8.1.2 D-A轉(zhuǎn)換典型集成芯片DAC0832芯片
8.1.3 DAC0832應(yīng)用舉例
8.2 任務(wù)10 A-D轉(zhuǎn)換應(yīng)用—數(shù)字電壓表
8.2.1 A-D轉(zhuǎn)換概述
8.2.2 STC12C5A60S2系列單片機(jī)
8.2.3 STC12C5A60S2系列單片機(jī)的A-D轉(zhuǎn)換器的結(jié)構(gòu)
8.2.4 A-D轉(zhuǎn)換控制寄存器
8.2.5 A-D轉(zhuǎn)換器應(yīng)用舉例
8.3 任務(wù)11 EEPROM存儲(chǔ)器應(yīng)用——數(shù)據(jù)的掉電保護(hù)
8.3.1 EEPROM的功能
8.3.2 IAP及EEPROM新增特殊功能寄存器介紹
8.3.3 EEPROM空間大小及地址
8.3.4 EEPROM存儲(chǔ)器應(yīng)用的程序?qū)崿F(xiàn)
8.4 任務(wù)12 LCD點(diǎn)陣顯示電路LCD1602的應(yīng)用
8.4.1 LCD1602硬件介紹及其工作原理
8.4.2 LCD1602指令
8.4.3 LCD1602內(nèi)部復(fù)位電路初始化
8.5 任務(wù)13 溫度測(cè)控儀表的設(shè)計(jì)
8.5.1 測(cè)控儀表要考慮的問題
8.5.2 溫度檢測(cè)電路的測(cè)試
8.5.3 溫控儀表的硬件設(shè)計(jì)
8.5.4 儀表殼確定和PCB設(shè)計(jì)
8.5.5 溫控儀表的軟件設(shè)計(jì)
8.6 任務(wù)14 數(shù)字式電流表設(shè)計(jì)
8.6.1 小電流的測(cè)量方式
8.6.2 大電流的測(cè)量方法
8.6.3 交流電流測(cè)量
8.6.4 利用5A/5mA電流互感器設(shè)計(jì)電流表
8.7 任務(wù)15 遠(yuǎn)程循環(huán)檢測(cè)儀表設(shè)計(jì)
8.7.1 串行總線通信的基本原理
8.7.2 RS-485接口電路
8.7.3 RS-485通信協(xié)議
8.7.4 基于RS-485通信的軟件設(shè)計(jì)
練習(xí)題
附錄
《單片機(jī)控制技術(shù)及應(yīng)用》學(xué)生工作任務(wù)單
參考文獻(xiàn)