- 單片機C語言程序設(shè)計實訓(xùn)100例
- 彭偉編著
- 1284字
- 2018-12-27 05:11:53
前言
目前,各高校電類專業(yè)都將C語言作為專業(yè)基礎(chǔ)課程納入教學(xué)計劃。由于C語言功能強大,便于模塊化開發(fā),所帶庫函數(shù)非常豐富,編寫的程序易于移植,諸多優(yōu)點使之成為單片機應(yīng)用系統(tǒng)開發(fā)最快速高效的程序設(shè)計語言,僅具有C語言基礎(chǔ)知識但不熟悉8051單片機指令系統(tǒng)的讀者也能很快掌握單片機的C語言程序設(shè)計技術(shù),C語言在單片機應(yīng)用系統(tǒng)設(shè)計上的效率已經(jīng)遠遠高于匯編、PL/M、BASIC等開發(fā)語言。
單片機C語言程序設(shè)計不同于通用計算機應(yīng)用程序設(shè)計,它必須針對具體的微控制器及外圍電路來完成,為了便于學(xué)習(xí)單片機應(yīng)用程序設(shè)計和系統(tǒng)開發(fā),很多公司推出了單片機實驗箱、仿真器和開發(fā)板等,這些硬件設(shè)備可用于驗證單片機程序,開發(fā)和調(diào)試單片機應(yīng)用系統(tǒng),但由于這些設(shè)備價格不菲,普通讀者不是人人都可以配備的。幸運的是,英國Labcenter公司推出了具有單片機系統(tǒng)仿真功能的Proteus軟件,使讀者僅用一臺PC在純軟件環(huán)境中完成系統(tǒng)設(shè)計與調(diào)試成為可能。目前Proteus支持8051、AVR、PIC等多種單片機,系統(tǒng)庫中包含有大量的模擬、數(shù)字、光電和機電類元器件,系統(tǒng)還提供了多種虛擬儀器,用Keil C開發(fā)的程序可以在用Proteus設(shè)計的仿真電路中調(diào)試和交互運行,這無疑為讀者學(xué)習(xí)和提高單片機C語言程序設(shè)計技術(shù),為單片機應(yīng)用系統(tǒng)高水平工程師的成長提供了理想平臺。
為幫助讀者快速提高單片機C語言程序設(shè)計水平,本書基于德國Keil公司的μVision集成開發(fā)環(huán)境和英國Labcenter公司的Proteus仿真環(huán)境,精心編寫了100余個8051單片機C語言程序設(shè)計案例,各案例同時給出了難易適中的實訓(xùn)目標(biāo)。
本書前2章分別對C51程序設(shè)計和Proteus操作基礎(chǔ)進行概述;第3章基礎(chǔ)程序部分給出的案例貫穿8051單片機端口編程、定時/計數(shù)器應(yīng)用、中斷程序設(shè)計和串口通信程序設(shè)計,各案例分別對相關(guān)知識和技術(shù)要點進行闡述與分析,源程序中還給出了豐富的注釋信息;第4章硬件應(yīng)用部分則針對8051單片機常用的外部存儲器外展、接口擴展、譯碼、編碼、驅(qū)動、光機、機電、傳感器、I2C等器件給出了數(shù)十個案例,對案例中涉及的硬件技術(shù)資料亦進行了有針對性的分析,使讀者可以快速理解相關(guān)代碼的編寫原理;第5章綜合單片機內(nèi)部資源和外部擴展硬件,給出了數(shù)十個綜合設(shè)計案例,通過對這些案例的分析、調(diào)試運行及獨立實訓(xùn),讀者用C語言設(shè)計開發(fā)8051單片機應(yīng)用系統(tǒng)的能力會得到大幅提升。
本書由彭偉編寫,在編寫的中后期,筆者正在德國考察學(xué)習(xí),為使本書早日與讀者見面,筆者仍堅持擠出時間,每晚在住所筆耕不已。在本書的編寫過程中,王魏、張力和魏來參與了第3章、第4章部分案例的設(shè)計調(diào)試,劉凱為本書提供了重要技術(shù)資料,在此對他們表示感謝!在本書選題、撰稿到出版的全過程中,學(xué)院領(lǐng)導(dǎo)、學(xué)院科研處及教師教育研究所始終給予了大力支持,并提供了項目資助,教務(wù)部和信息技術(shù)系也一直關(guān)注本書的編寫與進展情況,在此一并對學(xué)院和部門領(lǐng)導(dǎo)的關(guān)心與支持表示由衷的感謝!
由于編者水平有限,加之時間倉促,書中錯漏之處在所難免,在此真誠歡迎讀者多提寶貴意見,作者郵箱是pw95aaa@foxmail.com。
另外,本書的AVR與PIC版也正在編寫之中,筆者將努力爭取使后續(xù)版本早日出爐,以饗讀者。
彭偉
2009年5月于武昌
注:本書的案例壓縮包在電子工業(yè)出版社網(wǎng)站(http://www.phei.com.cn)的“資源下載”欄目中提供,歡迎讀者下載。
- AngularJS入門與進階
- Maven Build Customization
- Learn Programming in Python with Cody Jackson
- Cassandra Data Modeling and Analysis
- Internet of Things with Intel Galileo
- Learning Hunk
- Python深度學(xué)習(xí):模型、方法與實現(xiàn)
- Java編程從入門到精通
- JavaScript程序設(shè)計:基礎(chǔ)·PHP·XML
- Distributed Computing in Java 9
- Mastering HTML5 Forms
- Android Studio開發(fā)實戰(zhàn):從零基礎(chǔ)到App上線 (移動開發(fā)叢書)
- SAP Web Dynpro for ABAP開發(fā)技術(shù)詳解:基礎(chǔ)應(yīng)用
- 你好!Java
- 關(guān)系數(shù)據(jù)庫與SQL Server 2012(第3版)