本書分為兩部分共9 章,前面5 章介紹標準MCS?51 單片機的基本原理、內(nèi)部結(jié)構(gòu)、指令系統(tǒng)和C51 程序設(shè)計;后4章重點介紹Silabs 公司推出的髙集成度、髙性能的RISC 單片機C8051F410,包括單片機硬件結(jié)構(gòu)和常用片內(nèi)資源的工作原理、程序設(shè)計等,*后1 章給出應(yīng)用實例。本書重在原理與實踐,從標準51 開始由淺入深出詳細介紹C8051F410,旨在培養(yǎng)讀者的單片機基礎(chǔ)知識和系統(tǒng)實用開發(fā)技能,讓讀者逐步掌握單片機的工作原理、電路設(shè)計與程序編寫能力。本書為浙江省省級精品課程建設(shè)成果。本書適合各類本科高等院校、高等職業(yè)技術(shù)學(xué)院、中等技術(shù)學(xué)校電氣類、電子信息類、自動化類、計算機類及機械電子工程專業(yè)單片機課程教材,也可供剛剛接觸單片機的初學(xué)者自學(xué)閱讀和從事單片機應(yīng)用設(shè)計的工程技術(shù)人員參考。
前言單片機又稱單片微控制器,它不僅是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上,相當(dāng)于一個缺少了I/O 設(shè)備的微型計算機。1976 年Intel 公司研制出MCS?48 系列8 位單片機,標志著單片機的問世,同年Zilog公司開發(fā)的Z80 微處理器廣泛用于工業(yè)自動控制設(shè)備。20 世紀80 年代初,Intel 公司推出了MCS?51 系列8 位單片機,MCS?51 單片機采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器、隨機存儲器、只讀存儲器、多種I/O 口和中斷系統(tǒng)、定時器/計時器等功能集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng),擴展方面有了很大的提高。隨著電子技術(shù)的高速發(fā)展,單片機種類豐富、功能日益完善,由單片機作為主控制器的設(shè)備如全自動洗衣機、變頻空調(diào)、遙控電視、數(shù)碼相機、高清機頂盒、門禁控制、打印機等產(chǎn)品早已悄悄地進入了人們的生活;工業(yè)和國防領(lǐng)域的智能儀表、工業(yè)測控裝置、醫(yī)療CT、航天技術(shù)、導(dǎo)航設(shè)備、現(xiàn)代軍事裝備等都有單片機扮演著重要的角色。C8051 系列單片機是Silabs 公司開發(fā)的混合信號微處理器,采用全球領(lǐng)先的模擬器件、高速8051 CPU、ISP Flash 存儲器、JTAG 調(diào)試工具,是目前還在廣泛使用的8 位單片機;兼容標準8051 硬件和指令系統(tǒng)集成有A/D、D/A、可編程定時/計數(shù)器陣列PCA、16 位定時器、UART、I2C 串行總線、看門狗定時器等眾多功能部件,因此又稱為片上系統(tǒng)(SoC)。最具特色的是增加了數(shù)字交叉開關(guān),它可將內(nèi)部數(shù)字系統(tǒng)資源定向到P0、P1 和P2 端口I/O 引腳,并可將定時器、串行總線、外部中斷源、AD 輸入、轉(zhuǎn)換比較器輸出通過設(shè)置Crossbar 開關(guān)控制寄存器定向到P0、P1、P2 的I/O 端口,這就允許用戶根據(jù)自己的特定應(yīng)用選擇通用I/O端口和所需數(shù)字資源的組合。目前的單片機教材大多是沿用20 世紀80 年代的8051 內(nèi)容,學(xué)生學(xué)完單片機課程后,不能直接融入企業(yè)的系統(tǒng)設(shè)計和技術(shù)開發(fā)。為此,本書在編寫過程中,對原有的MCS?51 單片機內(nèi)容進行了壓縮和優(yōu)化,作為單片機原理性介紹,將那些在實際應(yīng)用中很少用到或已經(jīng)淘汰的芯片不再寫入教材,以C8051F410 的基本內(nèi)容及其應(yīng)用做重點介紹,形成具有鮮明特色的C8051F 系列單片機入門教材。全書共分9 章。第1 章是緒論,介紹了單片機的發(fā)展歷程、應(yīng)用領(lǐng)域、發(fā)展趨勢和SoC單片機的性能特點;第2 章介紹了8051 單片機的硬件系統(tǒng)、體系結(jié)構(gòu)、引腳功能、存儲器,以及指令系統(tǒng)和使用方法;第3 章介紹了C51 在單片機中的編程方法,以及混合編程的具體運用;第4 章介紹了8051 單片機定時器、中斷系統(tǒng)結(jié)構(gòu)、中斷控制及編程方法;第5 章介紹了8051 單片機串行口結(jié)構(gòu)和編程控制;第6 章介紹Silabs 公司推出的C8051F410 單片機的系統(tǒng)結(jié)構(gòu)、存儲器組織、IO 端口、中斷處理和時鐘、電源管理,以及相應(yīng)的控制方法;第7 章介紹C8051F410 單片機的片內(nèi)定時器和看門狗應(yīng)用;第8 章介紹C8051F410 單片機的模數(shù)和數(shù)模轉(zhuǎn)換器的接口使用方法;第9 章以電源控制系統(tǒng)為例,介紹系統(tǒng)硬件電路設(shè)計和軟件編程方法。全書內(nèi)容豐富,結(jié)構(gòu)完整,其中第2 章、第4 章、第5 章由吳桂初編寫,第6 章、第7章、第9 章由吳平編寫,第1 章、第8 章由楊衛(wèi)波編寫,第3 章由管曉春編寫,書中的示圖表格由章上聰制作和整理;參加本書編寫工作的還有部分研究生。吳桂初、吳平老師負責(zé)全書的策劃、內(nèi)容安排、文稿編寫修改和審定。全書參考教學(xué)理論36~54 學(xué)時,實驗18 學(xué)時,每章配有適量的思考與練習(xí)題,教學(xué)時可以根據(jù)實際情況,適當(dāng)取舍。本書在編寫過程中參考了有關(guān)書籍和文獻資料,在此對相關(guān)作者一并致謝。由于作者水平有限,涉及的知識點較多,難免有錯誤和不足之處,歡迎讀者提出寶貴意見,以便進一步改進和完善。編 者2018 年2 月
主編吳桂初,溫州大學(xué)教授,浙江省低壓電器重點實驗室主任、“單片機原理及應(yīng)用”精品課程負責(zé)人、“智能電網(wǎng)用低壓電器技術(shù)”重點科技創(chuàng)新團隊帶頭人。浙江省浙重大科技專項專家組專家,中國電工技術(shù)學(xué)會電工產(chǎn)品可靠性研究會常務(wù)理事。主持浙江省重大科技專項多項,發(fā)表學(xué)術(shù)論文60余篇。
目錄前言第1 章 緒論 11.1 單片機的發(fā)展概況 11.1.1 單片機的發(fā)展歷史 11.1.2 單片嵌入式系統(tǒng) 21.2 單片機的應(yīng)用及發(fā)展趨勢 31.2.1 單片機應(yīng)用系統(tǒng)結(jié)構(gòu) 31.2.2 單片嵌入式系統(tǒng)的應(yīng)用領(lǐng)域 41.2.3 單片機的發(fā)展趨勢 51.3 SoC 單片機簡介 71.3.1 C8051F 系列單片機簡介 71.3.2 C8051F 系列單片機的特點 71.3.3 C8051F 系列單片機的應(yīng)用 91.4 思考與練習(xí) 9第2 章 標準單片機硬件結(jié)構(gòu)與指令系統(tǒng) 112.1 標準51 單片機的基本結(jié)構(gòu)及信號引腳 112.1.1 標準51 單片機的基本結(jié)構(gòu) 112.1.2 標準51 單片機的內(nèi)部結(jié)構(gòu) 122.1.3 標準51 單片機的引腳及其功能 142.2 標準51 單片機的存儲器結(jié)構(gòu) 152.2.1 標準51 單片機的數(shù)據(jù)存儲器 162.2.2 標準51 單片機的程序存儲器 182.2.3 標準51 單片機的特殊功能寄存器 192.3 標準51 單片機并行輸入/輸出口電路結(jié)構(gòu) 212.3.1 標準51 單片機的P1 接口、P3 接口的結(jié)構(gòu) 212.3.2 標準51 單片機的P0 接口、P2 接口的結(jié)構(gòu) 232.3.3 標準51 單片機并行接口的負載能力 242.4 標準51 單片機指令系統(tǒng)和尋址方式 242.4.1 標準51 單片機指令格式及常用符號 252.4.2 標準51 單片機的尋址方式 272.5 標準51 單片機指令分類介紹 302.5.1 數(shù)據(jù)傳送類指令(30 條) 312.5.2 算術(shù)運算類指令(24 條) 352.5.3 邏輯運算與循環(huán)類指令(25 條) 392.5.4 控制轉(zhuǎn)移類指令(22 條) 422.5.5 標準51 單片機指令長度和周期數(shù)規(guī)律歸納 452.6 標準51 單片機匯編語言程序設(shè)計舉例 462.6.1 程序編制的方法和技巧 462.6.2 源程序的編制 492.6.3 基本程序結(jié)構(gòu) 512.6.4 簡單程序舉例 562.7 思考與練習(xí) 57第3 章 單片機C51 語言程序設(shè)計基礎(chǔ) 603.1 C51 語言程序設(shè)計概述 603.1.1 C51 與匯編語言的區(qū)別 603.1.2 C51 程序設(shè)計基礎(chǔ) 623.2 C51 程序設(shè)計實例解析 703.2.1 基于C51 的程序設(shè)計 703.2.2 C51 程序設(shè)計與匯編語言程序設(shè)計的比較 713.3 Keil C51 集成開發(fā)環(huán)境簡介 763.4 思考與練習(xí) 84第4 章 標準51 單片機的中斷與定時 874.1 輸入輸出的基本概念 874.1.1 輸入輸出接口 874.1.2 輸入輸出方式 884.2 標準51 單片機中斷系統(tǒng) 924.2.1 標準51 單片機中斷源 934.2.2 標準51 單片機中斷控制 934.2.3 標準51 單片機中斷響應(yīng)及中斷處理過程 974.3 標準51 單片機的定時器/計數(shù)器 1044.3.1 標準51 單片機定時器的控制 1054.3.2 標準51 單片機定時器的4 種模式及其應(yīng)用 1074.4 定時器/計數(shù)器與中斷應(yīng)用舉例 1114.5 思考與練習(xí) 116第5 章 標準51 單片機串行通信 1185.1 串行口結(jié)構(gòu)與工作原理 1185.1.1 并行和串行通信 1185.1.2 串行通信的波特率 1195.1.3 標準51 單片機的串行接口 1195.2 串行通信工作方式 1225.2.1 串行口方式0 1225.2.2 串行口方式1 1235.2.3 串行口方式2 和方式3 1235.2.4 波特率設(shè)定 1245.3 串行口應(yīng)用舉例 1255.3.1 雙機通信硬件電路 1255.3.2 PC 和單片機之間的通信 1325.4 本章小結(jié) 1365.5 思考與練習(xí) 136第6 章 C8051F410 單片機的結(jié)構(gòu)與原理 1376.1 C8051F410 單片機系統(tǒng)結(jié)構(gòu) 1376.1.1 系統(tǒng)概述 1376.1.2 系統(tǒng)內(nèi)部結(jié)構(gòu) 1396.1.3 系統(tǒng)引腳 1426.2 C8051F410 存儲器組織 1456.3 C8051F410 端口輸入/輸出 1516.3.1 端口輸入/輸出 1516.3.2 優(yōu)先權(quán)交叉開關(guān)譯碼器 1526.3.3 端口I/O 初始化 1546.3.4 通用端口I/O 1576.4 C8051F410 中斷系統(tǒng) 1636.4.1 C8051F410 中斷系統(tǒng)概述 1636.4.2 中斷寄存器說明 1656.4.3 外部中斷 1696.5 復(fù)位與時鐘 1716.5.1 復(fù)位源 1716.5.2 上電復(fù)位 1726.5.3 掉電復(fù)位和VDD 監(jiān)視器 1726.5.4 外部復(fù)位 1736.5.5 時鐘丟失檢測器復(fù)位 1736.5.6 比較器0 復(fù)位 1746.5.7 PCA 看門狗定時器復(fù)位 1746.5.8 FLASH 錯誤復(fù)位 1746.5.9 smaRTClock(實時時鐘)復(fù)位 1746.5.10 軟件復(fù)位 1756.6 電源管理方式 1756.6.1 空閑方式 1756.6.2 停機方式 1756.6.3 掛起方式 1766.7 思考與練習(xí) 176第7 章 C8051F41x 片內(nèi)定時器/計數(shù)器 1777.1 定時器0 和定時器1 1777.2 定時器2 1837.3 定時器3 1877.4 可編程計數(shù)器陣列 1917.4.1 PCA 計數(shù)器/定時器 1927.4.2 捕捉/比較模塊 1927.5 看門狗定時器方式 1987.5.1 看門狗定時器操作 1987.5.2 看門狗定時器使用 1997.6 思考與練習(xí) 204第8 章 模數(shù)和數(shù)模轉(zhuǎn)換 2058.1 電壓基準 2058.2 模數(shù)轉(zhuǎn)換器ADC 2078.2.1 12 位ADC 結(jié)構(gòu) 2078.2.2 ADC 工作方式 2088.2.3 可編程窗口檢測器 2118.2.4 ADC 相關(guān)的I/O 寄存器 2138.2.5 ADC 應(yīng)用設(shè)計 2168.2.6 ADC 應(yīng)用設(shè)計的深入討論 2198.3 數(shù)模轉(zhuǎn)換器DAC 2198.3.1 12 位IDAC 結(jié)構(gòu) 2198.3.2 IDA0 輸出更新 2208.3.3 IDAC 輸出字格式 2218.3.4 IDAC 相關(guān)的I/O 寄存器 2218.3.5 DAC 的應(yīng)用設(shè)計 2238.4 思考與練習(xí) 225第9 章 綜合應(yīng)用 2269.1 數(shù)控交流穩(wěn)壓電源簡介 2269.2 硬件電路設(shè)計 2269.2.1 單片機最小系統(tǒng) 2269.2.2 降壓模塊 2289.2.3 鍵盤模塊 2289.2.4 顯示模塊 2289.2.5 直流電機驅(qū)動模塊 2299.3 軟件程序設(shè)計 2299.3.1 變量聲明和初始化設(shè)置 2299.3.2 主程序設(shè)計 2339.3.3 定時器中斷任務(wù)程序設(shè)計 2339.3.4 A/D 中斷任務(wù)程序設(shè)計 2349.3.5 顯示任務(wù)程序設(shè)計 2359.3.6 按鍵任務(wù)程序設(shè)計 2369.3.7 電機任務(wù)程序設(shè)計 238附錄 80C51 單片機指令速查表 240參考文獻 244