單片機C語言程式設計實訓100例——基於8051+Proteus仿真 ( 簡體 字) |
作者:彭偉 | 類別:1. -> 電腦組織與體系結構 -> 單晶片 -> 8051 2. -> 電子工程 -> Proteus |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 21316 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:6/1/2009 |
頁數:372 |
光碟數:0 |
|
站長推薦:  |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
【不接受訂購】 |
ISBN:9787121087578 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:前 言 目前,各高校電類專業都將C語言作為專業基礎課程納入教學計劃。由于C語言功能強大,便于模塊化開發,所帶庫函數非常豐富,編寫的程序易于移植,諸多優點使之成為單片機應用系統開發最快速高效的程序設計語言,僅具有C語言基礎知識但不熟悉8051單片機指令系統的讀者也能很快掌握單片機的C語言程序設計技術,C語言在單片機應用系統設計上的效率已經遠遠高于匯編、PL/M、BASIC等開發語言。 單片機C語言程序設計不同于通用計算機應用程序設計,它必須針對具體的微控制器及外圍電路來完成,為了便于學習單片機應用程序設計和系統開發,很多公司推出了單片機實驗箱、仿真器和開發板等,這些硬件設備可用于驗證單片機程序,開發和調試單片機應用系統,但由于這些設備價格不菲,普通讀者不是人人都可以配備的。幸運的是,英國Labcenter公司推出了具有單片機系統仿真功能的Proteus軟件,使讀者僅用一臺PC在純軟件環境中完成系統設計與調試成為可能。目前Proteus支持8051、AVR、PIC等多種單片機,系統庫中包含有大量的模擬、數字、光電和機電類元器件,系統還提供了多種虛擬儀器,用Keil C開發的程序可以在用Proteus設計的仿真電路中調試和交互運行,這無疑為讀者學習和提高單片機C語言程序設計技術,為單片機應用系統高水平工程師的成長提供了理想平臺。 為幫助讀者快速提高單片機C語言程序設計水平,本書基于德國Keil公司的μVision集成開發環境和英國Labcenter公司的Proteus仿真環境,精心編寫了100余個8051單片機C語言程序設計案例,各案例同時給出了難易適中的實訓目標。 本書前2章分別對C51程序設計和Proteus操作基礎進行概述;第3章基礎程序部分給出的案例貫穿8051單片機端口編程、定時/計數器應用、中斷程序設計和串口通信程序設計,各案例分別對相關知識和技術要點進行闡述與分析,源程序中還給出了豐富的注釋信息;第4章硬件應用部分則針對8051單片機常用的外部存儲器外展、接口擴展、譯碼、編碼、驅動、光機、機電、傳感器、I2C等器件給出了數十個案例,對案例中涉及的硬件技術資料亦進行了有針對性的分析,使讀者可以快速理解相關代碼的編寫原理;第5章綜合單片機內部資源和外部擴展硬件,給出了數十個綜合設計案例,通過對這些案例的分析、調試運行及獨立實訓,讀者用C語言設計開發8051單片機應用系統的能力會得到大幅提升。 本書由彭偉編寫,在編寫的中后期,筆者正在德國考察學習,為使本書早日與讀者見面,筆者仍堅持擠出時間,每晚在住所筆耕不已。在本書的編寫過程中,王魏、張力和魏來參與了第3章、第4章部分案例的設計調試,劉凱為本書提供了重要技術資料,在此對他們表示感謝!在本書選題、撰稿到出版的全過程中,學院領導、學院科研處及教師教育研究所始終給予了大力支持,并提供了項目資助,教務部和信息技術系也一直關注本書的編寫與進展情況,在此一并對學院和部門領導的關心與支持表示由衷的感謝! 由于編者水平有限,加之時間倉促,書中錯漏之處在所難免,在此真誠歡迎讀者多提寶貴意見,作者郵箱是pw95aaa@foxmail.com。 另外,本書的AVR與PIC版也正在編寫之中,筆者將努力爭取使后續版本早日出爐,以饗讀者。
彭偉 2009年5月于武昌 注:本書的案例壓縮包在電子工業出版社網站(http://www.phei.com.cn)的“資源下載”欄目中提供,歡迎讀者下載。
|
內容簡介:
第一章用簡短篇幅介紹8051單片機的特點、應用,以及Keil C語言程序設計,在語言程序設計中重點介紹8051內部資源;第二章介紹Proteus的入門操作;第三~五章全部為單片機的C程序設計案例;第三章為基礎案例,涉及C語言基礎部分,基本IO部分,中斷與定時器,串口控制,模數與數模轉換部分等;第四章在前面的基礎上對擴展的外圍硬件應用進行編程,包括譯碼器、串并轉換芯片、存儲器、中英文液晶屏、IIC等;第五章是綜合設計部分,涉及一些具體的應用型產品的設計。 讀者對象: 本書適用于計算機專業或電子類專業在校學生,特別是職業技術院校學生,實驗室投入不足的學校,電子工程技術人員,以及社會上希望學習單片機技術但還沒有購置單片機硬件實驗設備的人員。
|
目錄:第1章 8051單片機C語言程序設計概述 1 1.1 8051單片機引腳 1 1.2 數據與程序內存 2 1.3 特殊功能寄存器 3 1.4 外部中斷、定時/計數器及串口應用 4 1.5 有符號與無符號數應用、數位分解、位操作 5 1.6 變量、存儲類型與存儲模式 7 1.7 數組、字符串與指針 9 1.8 流程控制 11 1.9 可重入函數和中斷函數 11 1.10 C語言在單片機系統開發中的優勢 12 第2章 Proteus操作基礎 13 2.1 Proteus操作界面簡介 13 2.2 仿真電路原理圖設計 14 2.3 元件選擇 16 2.4 調試仿真 20 2.5 Proteus與 V3的聯合調試 21 第3章 基礎程序設計 22 3.1 閃爍的LED 22 3.2 從左到右的流水燈 23 3.3 左右來回循環的流水燈 25 3.4 花樣流水燈 26 3.5 LED模擬交通燈 28 3.6 單只數碼管循環顯示0~9 30 3.7 8只數碼管滾動顯示單個數字 31 3.8 8只數碼管顯示多個不同字符 33 3.9 數碼管閃爍顯示 35 3.10 8只數碼管滾動顯示數字串 36 3.11 K1~K4控制LED移位 37 3.12 K1~K4按鍵狀態顯示 39 3.13 K1~K4分組控制LED 40 3.14 K1~K4控制數碼管移位顯示 42 3.15 K1~K4控制數碼管加減演示 44 3.16 4×4鍵盤矩陣控制條形LED顯示 46 3.17 數碼管顯示4×4鍵盤矩陣按鍵 48 3.18 開關控制LED 51 3.19 繼電器控制照明設備 52 3.20 數碼管顯示撥碼開關編碼 53 3.21 開關控制報警器 55 3.22 按鍵發音 56 3.23 播放音樂 58 3.24 INT0中斷計數 59 3.25 INT0中斷控制LED 61 3.26 INT0及INT1中斷計數 63 3.27 TIMER0控制單只LED閃爍 66 3.28 TIMER0控制流水燈 68 3.29 TIMER0控制4只LED滾動閃爍 70 3.30 T0控制LED實現二進制計數 72 3.31 TIMER0與TIMER1控制條形LED 73 3.32 10s的秒表 75 3.33 用計數器中斷實現100以內的按鍵計數 77 3.34 10 000s以內的計時程序 78 3.35 定時器控制數碼管動態顯示 81 3.36 8×8 LED點陣屏顯示數字 83 3.37 按鍵控制8×8 LED點陣屏顯示圖形 85 3.38 用定時器設計的門鈴 87 3.39 演奏音階 89 3.40 按鍵控制定時器選播多段音樂 91 3.41 定時器控制交通指示燈 93 3.42 報警器與旋轉燈 96 3.43 串行數據轉換為并行數據 98 3.44 并行數據轉換為串行數據 99 3.45 甲機通過串口控制乙機LED閃爍 101 3.46 單片機之間雙向通信 104 3.47 單片機向主機發送字符串 108 3.48 單片機與PC串口通信仿真 110 第4章 硬件應用 115 4.1 74LS138譯碼器應用 115 4.2 74HC154譯碼器應用 116 4.3 74HC595串入并出芯片應用 118 4.4 用74LS148擴展中斷 121 4.5 I2C-24C04與蜂鳴器 123 4.6 I2C-24C04與數碼管 127 4.7 用6264擴展內存 132 4.8 用8255實現接口擴展 134 4.9 555的應用 136 4.10 BCD譯碼數碼管顯示數字 138 4.11 MAX7221控制數碼管動態顯示 139 4.12 1602字符液晶滾動顯示程序 142 4.13 1602液晶顯示的DS1302實時時鐘 148 4.14 12864LCD圖像滾動顯示 154 4.15 160128LCD圖文演示 160 4.16 2×20串行字符液晶顯示 167 4.17 開關控制12864LCD串行模式顯示 169 4.18 ADC0832模數轉換與顯示 175 4.19 用ADC0808控制PWM輸出 178 4.20 ADC0809模數轉換與顯示 181 4.21 用DAC0832生成鋸齒波 183 4.22 用DAC0808實現數字調壓 184 4.23 PCF8591模數與數模轉換 186 4.24 DS1621溫度傳感器輸出顯示 193 4.25 DS18B20溫度傳感器輸出顯示 198 4.26 正反轉可控的直流電動機 203 4.27 正反轉可控的步進電動機 205 4.28 鍵控看門狗 208 第5章 綜合設計 211 5.1 可以調控的走馬燈 211 5.2 按鍵選播電子音樂 214 5.3 可演奏的電子琴 216 5.4 1602LCD顯示仿手機鍵盤按鍵字符 219 5.5 1602LCD顯示電話撥號鍵盤按鍵 222 5.6 12864LCD顯示計算器鍵盤按鍵 225 5.7 數碼管隨機模擬顯示乘法口訣 231 5.8 1602LCD隨機模擬顯示乘法口訣 234 5.9 用數碼管設計的可調式電子鐘 236 5.10 用1602LCD設計的可調式電子鐘 239 5.11 用DS1302與數碼管設計的可調式電子表 243 5.12 用DS1302與1602LCD設計的可調式電子日歷與時鐘 247 5.13 用DS1302與12864LCD設計的可調式中文電子日歷 252 5.14 用PG12864LCD設計的指針式電子鐘 257 5.15 高仿真數碼管電子鐘 266 5.16 1602LCD顯示的秒表 269 5.17 數碼管顯示的頻率計 274 5.18 字符液晶顯示的頻率計 276 5.19 用ADC0832調節頻率輸出 279 5.20 用ADC0832設計的兩路電壓表 281 5.21 用數碼管與DS18B20設計的溫度報警器 284 5.22 用1602LCD與DS18B20設計的溫度報警器 289 5.23 數碼管顯示的溫控電動機 295 5.24 溫度控制直流電動機轉速 298 5.25 用ADC0808設計的調溫報警器 303 5.26 160128LCD中文顯示溫度與時間 306 5.27 用DAC0808設計的直流電動機調速器 309 5.28 160128液晶中文顯示ADC0832兩路模數轉換結果 310 5.29 160128液晶曲線顯示ADC0832兩路模數轉換結果 313 5.30 串口發送數據到2片8×8點陣屏滾動顯示 315 5.31 用74LS595與74LS154設計的16×16點陣屏 318 5.32 用8255與74LS154設計的16×16點陣屏 320 5.33 8×8 LED點陣屏仿電梯數字滾動顯示 323 5.34 用24C04與1602LCD設計電子密碼鎖 325 5.35 光耦控制點亮和延時關閉照明設備 331 5.36 12864LCD顯示24C08保存的開機畫面 334 5.37 12864LCD顯示EPROM2764保存的開機畫面 340 5.38 160128液晶顯示當前壓力 342 5.39 單片機系統中自制硬件字庫的應用 344 5.40 用8051與1601LCD設計的整數計算器 349 5.41 模擬射擊訓練游戲 357 參考文獻 363
|
序: |