《單片機C語言程序設計實訓100例:基于8051+Proteus仿真(第2版)》基于Keil μVision程序設計平臺和Proteus硬件仿真平臺,精心編寫了100項8051單片機C語言程序設計案例,并且還分別提出了難易適中的實訓目標。
全書基礎設計類案例涵蓋8051單片機最基本的端口編程、定時器/計數(shù)器應用、中斷程序設計和串口通信程序設計;硬件應用類案例涵蓋編碼與解碼器件、串并與并串轉(zhuǎn)換器件、并行存儲器及接口擴展器件、LED顯示及驅(qū)動器件、字符液晶顯示器件、圖形液晶顯示器件、實時日歷時鐘器件、模數(shù)與數(shù)模轉(zhuǎn)換器件、I2C接口器件、SPI接口器件、1-Wire總線器件及其他器件共計12類;綜合設計類案例包括大量實用型項目設計,如多功能電子日歷牌、計算器、電子秤、密碼鎖、多點溫度監(jiān)測、大幅面LED點陣屏設計、交流電壓檢測、K型熱電偶及鉑電阻溫度計、GPS系統(tǒng)、紅外遙控系統(tǒng)、測距系統(tǒng)、溫室監(jiān)控系統(tǒng)、Modbus總線系統(tǒng)等。
《單片機C語言程序設計實訓100例:基于8051+Proteus仿真(第2版)》適用于本科、?圃盒W生用于學習實踐8051單片機C語言程序設計技術的教材或參考書,也可作為工程技術人員或單片機技術愛好者的學習參考書或工具書。
不同于通用計算機應用程序設計,單片機C語言程序設計必須針對具體的微控制器及外圍電路來進行,為此,很多公司推出了單片機實驗箱等多種配套設備,其不菲的價格令人望而卻步,這使得眾多讀者對單片機技術學習、研究與應用的愿望難以實現(xiàn)。
幸運的是,英國Labcenter公司推出的Proteus軟件具有單片機系統(tǒng)仿真功能,能夠很好地支持多種單片機,系統(tǒng)器件庫包含大量元器件,并提供了多種虛擬儀器,使得僅用一臺PC在純軟件環(huán)境中完成單片機系統(tǒng)設計、調(diào)試、運行成為可能,這無疑為讀者學習、運用單片機C語言程序設計技術提供了理想平臺。
本書基于μVision集成開發(fā)環(huán)境和Proteus仿真軟件搭建組合平臺,系統(tǒng)規(guī)劃、精心設計了100個8051單片機C語言程序設計案例,所有案例均可以在仿真電路中調(diào)試和交互運行,具體內(nèi)容分為以下三部分:
1.語言程序與仿真平臺應用基礎包括第1、2章,簡要介紹開發(fā)單片機C語言程序必須熟悉與重點掌握的內(nèi)容,以及Proteus仿真軟件的基本應用技術,為全書案例的學習提供鋪墊。
2.內(nèi)置資源與擴展資源應用設計包括第3、4章,分別為基礎設計與硬件應用兩類案例;A設計類案例涵蓋8051單片機所有內(nèi)置資源,包括端口編程、中斷、定時器/計數(shù)器等;硬件應用類案例涵蓋12類擴展資源應用技術,包括編碼/解碼、串并/并串轉(zhuǎn)換、并行存儲及接口擴展、LED顯示及驅(qū)動、字符/圖形液晶、RTC、A/D與D/A、I2C、SPI、1-Wire接口及其他器件。
3.資源整合與功能集成應用設計由第5章提供,全部為綜合型案例,如多功能電子日歷、計算器、電子秤、密碼鎖、多點溫度監(jiān)測、大幅面LED、交流電壓檢測、GPS系統(tǒng)、紅外遙控、測距、溫室監(jiān)控、Modbus總線系統(tǒng)等。
本書第1版2009年6月推出后,受到讀者厚愛,已連續(xù)6次重印。經(jīng)過幾年來對案例的進一步累積、優(yōu)化、凝練與規(guī)范,結合最新版本仿真軟件提供的新型器件及功能,并充分考慮讀者的反饋意見,應電子工業(yè)出版社之約,現(xiàn)全新推出第2版。
第2版在保留第1版體例結構及撰寫特色的基礎上進行了以下修改:
大幅增加擴展硬件類案例,并進行細致歸類,優(yōu)化器件的分配比重。
調(diào)整并增加資源整合與功能集成應用類案例,突出本書的實用價值。
給案例源碼添加行號,便于閱讀定位;補充大量代碼注釋,便于分析研究。
進一步規(guī)范仿真電路、設計簡介、技術資源與程序源碼,并刪減冗余內(nèi)容。
本書特點:
全書代碼均調(diào)試通過,可作為8051單片機的“代碼寶典”或“代碼手冊”使用。
大量“核心源碼”及“可移植源碼”可直接應用到工程項目中。
案例電路可實時仿真運行,增加了學習過程的趣味性并提振信心。
所規(guī)劃的案例設計循序漸進,所設定的實訓目標難易適中。
這些特點使讀者“漫步”于系統(tǒng)電路、程序邏輯、工作時序、接口設計、讀寫控制、功能實現(xiàn)之中,便可輕松提高8051單片機C語言程序設計水平與系統(tǒng)開發(fā)效率。
在本書選題、撰寫到出版的全過程中,學院領導、學院教務、科研等部門均給予了重要支持,并提供了項目資助,在此對學院及部門領導的關心與支持表示由衷感謝!
由于作者水平有限,且全書撰寫任務極其繁重,書中錯漏之處在所難免,在此真誠歡迎讀者多提寶貴意見,以期不斷改進。
本書所有案例的配套資料壓縮包可到電子工業(yè)出版社華信教育資源網(wǎng)免費下載,其中包括案例的仿真電路、C語言源程序框架及編譯生成的HEX文件。
彭偉2012年10月于武昌
第1章 8051單片機C語言程序設計概述
1.1 8051單片機引腳
1.2 數(shù)據(jù)與程序內(nèi)存
1.3 特殊功能寄存器
1.4 外部中斷、定時器/計數(shù)器及串口應用
1.5 有符號與無符號數(shù)應用、數(shù)位分解、位操作
1.6 變量、存儲類型與存儲模式
1.7 關于C語言運算符的優(yōu)先級
1.8 字符編碼
1.9 數(shù)組、字符串與指針
1.10 流程控制
1.11 可重入函數(shù)和中斷函數(shù)
1.12 C語言在單片機系統(tǒng)開發(fā)中的優(yōu)勢
第2章 Proteus操作基礎
2.1 Proteus操作界面簡介
2.2 仿真電路原理圖設計
2.3 元件選擇
2.4 調(diào)試仿真
2.5 Proteus與Vision 3的聯(lián)合調(diào)試
2.6 Proteus在8051單片機應用系統(tǒng)開發(fā)的優(yōu)勢
第3章 基礎程序設計
3.1 閃爍的LED
3.2 雙向來回的流水燈
3.3 花樣流水燈
3.4 LED模擬交通燈
3.5 分立式數(shù)碼管循環(huán)顯示0~9
3.6 集成式數(shù)碼管動態(tài)掃描顯示
3.7 按鍵調(diào)節(jié)數(shù)碼管閃爍增減顯示
3.8 數(shù)碼管顯示4×4鍵盤矩陣按鍵
3.9 普通開關與撥碼開關應用
3.10 繼電器及雙向可控硅控制照明設備
3.11 INT0中斷計數(shù)
3.12 INT0及INT1中斷計數(shù)
3.13 TIMER0控制單只LED閃爍
3.14 TIMER0控制數(shù)碼管動態(tài)管顯示
3.15 TIMER0控制8×8LED點陣屏顯示數(shù)字
3.16 TIMER0控制門鈴聲音輸出
3.17 定時器控制交通指示燈
3.18 TIMER1控制音階演奏
3.19 TIMER0、TIMER1及TIMER2實現(xiàn)外部信號計數(shù)與顯示
3.20 TIMER0、TIMER1及INT0控制報警器與旋轉(zhuǎn)燈
3.21 按鍵控制定時器選播多段音樂
3.22 鍵控看門狗
3.23 雙機串口雙向通信
3.24 PC與單片機雙向通信
3.25 單片機內(nèi)置EEPROM讀/寫測試
第4章 硬件應用
4.1 74HC138譯碼器與反向緩沖器控制數(shù)碼管顯示
4.2 串入并出芯片74HC595控制數(shù)碼管顯示四位數(shù)字
4.3 用74HC164驅(qū)動多只數(shù)碼管顯示
4.4 并串轉(zhuǎn)換器74HC165應用
4.5 用74HC148擴展中斷
4.6 串口發(fā)送數(shù)據(jù)到2片8×8點陣屏滾動顯示
4.7 數(shù)碼管BCD解碼驅(qū)動器CD4511與DM7447應用
4.8 62256RAM擴展內(nèi)存
4.9 用8255實現(xiàn)接口擴展
4.10 可編程接口芯片8155應用
4.11 串行共陰顯示驅(qū)動器控制4+2+2集成式數(shù)碼管顯示
4.12 14段與16段數(shù)碼管演示
4.13 16鍵解碼芯片74C922應用
4.14 1602字符液晶工作于8位模式直接驅(qū)動顯示
4.15 1602液晶顯示DS1302實時時鐘
4.16 1602液晶屏工作于8位模式由74LS373控制顯示
4.17 1602液晶屏工作于4位模式實時顯示當前時間
4.18 1602液晶屏顯示DS12887實時時鐘
4.19 時鐘日歷芯片PCF8583應用
4.20 2×20串行字符液晶屏顯示
4.21 LGM12864液晶屏顯示程序
4.22 TG126410液晶屏串行模式顯示
4.23 Nokia7110液晶屏菜單控制程序
4.24 T6963C液晶屏圖文演示
4.25 ADC0832 A/D轉(zhuǎn)換與LCD顯示
4.26 用DAC0832生成鋸齒波
4.27 ADC0808 PWM實驗
4.28 ADC0809 A/D轉(zhuǎn)換與顯示
4.29 用DAC0808實現(xiàn)數(shù)字調(diào)壓
4.30 16位A/D轉(zhuǎn)換芯片LTC1864應用
4.31 I2C接口存儲器AT24C04讀/寫與顯示
4.32 I2C存儲器設計的中文硬件字庫應用
4.33 I2C接口4通道A/D與單通道D/A轉(zhuǎn)換器PCF8591應用
4.34 I2C接口DS1621溫度傳感器測試
4.35 用兼容I2C接口的MAX6953驅(qū)動4片5×7點陣顯示器
4.36 用I2C接口控制MAX6955驅(qū)動16段數(shù)碼管顯示
4.37 I2C接口數(shù)字電位器AD5242應用
4.38 SPI接口存儲器AT25F1024讀/寫與顯示
4.39 SPI接口溫度傳感器TC72應用測試
4.40 溫度傳感器LM35全量程應用測試
4.41 SHT75溫濕度傳感器測試
4.42 直流電機正、反轉(zhuǎn)及PWM調(diào)速控制
4.43 正反轉(zhuǎn)可控的步進電機
4.44 ULN2803驅(qū)動點陣屏仿電梯數(shù)字滾動顯示
4.45 液晶顯示MPX4250壓力值
4.46 12864LCD顯示24C08保存的開機畫面
4.47 用M145026與M145027設計的無線收發(fā)系統(tǒng)
4.48 DS18B20溫度傳感器測試
4.49 1-Wire式可尋址開關DS2405應用測試
4.50 MMC存儲卡測試
第5章 綜合設計
5.1 帶日歷時鐘及溫度顯示的電子萬年歷
5.2 用8051+1601LCD設計的整型計算器
5.3 電子秤仿真設計
5.4 1602液晶屏顯示仿手機鍵盤按鍵字符
5.5 用24C04與1602液晶屏設計的簡易加密電子鎖
5.6 1-Wire總線器件ROM搜索與多點溫度監(jiān)測
5.7 高仿真數(shù)碼管電子鐘設計
5.8 用DS1302與12864LCD設計的可調(diào)式中文電子日歷
5.9 用T6963C液晶屏設計的指針式電子鐘
5.10 T6963C液晶屏中文顯示溫度與時間
5.11 T6963C液晶屏曲線顯示ADC0832兩路A/D轉(zhuǎn)換結果
5.12 溫度控制直流電機轉(zhuǎn)速
5.13 用74LS595與74LS154設計的16×16點陣屏
5.14 用8255與74LS154設計的16×16點陣屏
5.15 紅外遙控收發(fā)仿真
5.16 GP2D12紅外測距傳感器應用
5.17 三端可調(diào)正穩(wěn)壓器LM317應用測試
5.18 數(shù)碼管顯示的K型熱電偶溫度計
5.19 交流電壓檢測與數(shù)字顯示仿真
5.20 用MCP3421與RTD-PT100設計的鉑電阻溫度計
5.21 可接收串口信息的帶中英文硬字庫的80×16 LED點陣屏
5.22 模擬射擊訓練游戲
5.23 GPS仿真
5.24 溫室監(jiān)控系統(tǒng)仿真
5.25 基于Modbus總線的數(shù)據(jù)采集與開關控制系統(tǒng)設計仿真
……