出版時間:2012-5 出版社:電子工業(yè)出版社 作者:陳忠平 頁數(shù):454 字數(shù):742000
Tag標簽:無
前言
單片機是芯片級的微型計算機系統(tǒng),具有性價比高、功耗低、易于開發(fā)等優(yōu)點,可以嵌入各種應(yīng)用系統(tǒng)中,以實現(xiàn)智能化控制。近20年來,嵌入式C語言的推廣普及,片載Flash程序存儲器及其在系統(tǒng)內(nèi)可編程(ISP)和在應(yīng)用中編程(IAP)技術(shù)的廣泛采用,使得單片機越來越受到廣大電子工程師的歡迎?! ”緯試鴥?nèi)最流行的80C51系列單片機的硬件和軟件設(shè)計為背景,以C語言為基礎(chǔ),以項目為載體,采用任務(wù)驅(qū)動方式的教學(xué)方法,通過豐富的C語言程序?qū)嵗?,由淺入深地介紹了80C51系列單片機的基礎(chǔ)知識及各種應(yīng)用開發(fā)技術(shù)。在編寫過程中,編者注重題材的取舍,使本書具有以下4個特點?! ?.項目為載體,任務(wù)帶動教學(xué) 本書以“項目為載體,采用任務(wù)驅(qū)動方式”編寫,強調(diào)“教、學(xué)、做”一體化,堅持理論知識夠用的原則,并將知識點分散到多個任務(wù)中,使讀者能夠邊學(xué)邊做,輕松完成單片機學(xué)習(xí)之旅?! ?.軟硬結(jié)合,虛擬仿真 沿用傳統(tǒng)單片機學(xué)習(xí)與開發(fā)經(jīng)驗,通過相關(guān)編譯軟件(如Keil)編寫程序并生成*?Hex文件,然后在Proteus中繪制硬件電路圖(這一過程相當于硬件電路的焊接),調(diào)用*?Hex文件進行虛擬仿真(這一過程相當于硬件調(diào)試)。這樣,對于單片機初學(xué)者來講,可節(jié)約學(xué)習(xí)成本,提高學(xué)習(xí)積極性;對于單片機系統(tǒng)開發(fā)人員來講,可縮短開發(fā)時間,提高設(shè)計效率,降低開發(fā)成本?! ?.C語言編程,增強可讀性 C語言是一種編譯型程序設(shè)計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。用C語言來編寫程序會大大縮短開發(fā)周期,且明顯地增加程序的可讀性,便于改進和擴充。采用C語言進行單片機程序設(shè)計是單片機開發(fā)與應(yīng)用的必然趨勢。許多人員在學(xué)習(xí)MCS—51單片機時,均先學(xué)習(xí)了匯編語言,然后再學(xué)習(xí)用C語言編寫MCS—51程序代碼,通過這種歷程他們深深地感悟:匯編指令太枯燥,學(xué)習(xí)起來費時費力,用匯編語言編寫一個程序或讀懂程序時不是一件容易的事情;使用C語言進行編程時,不必對單片機的硬件結(jié)構(gòu)有很深入的了解,編寫程序相對簡單,且程序的可讀性和可移植性均很強?! ?.兼顧原理,注重實用 基本原理、基本實例一直是學(xué)習(xí)和掌握單片機應(yīng)用技術(shù)的基本要求,本書側(cè)重于實際應(yīng)用,因此很少講解相關(guān)理論知識,這樣避免了知識的重復(fù)講解。為緊隨技術(shù)的發(fā)展,在編寫過程中還注重知識的新穎性和實用性,因此本書中講解了SPI總線、I2C總線、1-Wire總線芯片的使用方法,使讀者學(xué)習(xí)的知識能夠緊隨時代的發(fā)展?! ⒓颖緯帉懙挠泻瞎こ搪殬I(yè)技術(shù)學(xué)院陳忠平、徐剛強、李銳敏,湖南航天局7801研究所劉瓊,湖南涉外經(jīng)濟學(xué)院侯玉寶、高金定,湖南科技職業(yè)技術(shù)學(xué)院高見芳,湖南三一重工集團王漢其等。全書由湖南工程職業(yè)技術(shù)學(xué)院陳建忠教授主審,在編寫過程中還得到了湖南工程職業(yè)技術(shù)學(xué)院龔亮、龍曉慶、許睿等眾位高工、老師的大力支持及幫助,在此向他們表示衷心的感謝。同時對在編寫過程中參考的多部51單片機原理及相關(guān)著作的作者表示深深的謝意!由于編者知識水平和經(jīng)驗的局限性,書中難免存在缺點和錯誤,敬請廣大讀者給予批評指正。
內(nèi)容概要
本書是以“項目為載體,采用任務(wù)驅(qū)動方式”編寫的。本書以STC89C52RC單片機為藍本,結(jié)合Keil
C51、Proteus虛擬仿真軟件,從實驗、實踐、實用的角度出發(fā),通過豐富的實例詳細講述51系列單片機C語言程序設(shè)計和單片機控制系統(tǒng)的應(yīng)用技術(shù)。本書的主要內(nèi)容包括單片機及最小應(yīng)用系統(tǒng)、單片機系統(tǒng)開發(fā)軟件的使用、C51程序設(shè)計語言基礎(chǔ)、LED廣告燈的設(shè)計、按鍵控制與LED數(shù)碼管顯示、中斷控制應(yīng)用設(shè)計、定時/計數(shù)器控制的應(yīng)用設(shè)計、單片機串行通信設(shè)計、LED點陣顯示器設(shè)計、LCD液晶顯示設(shè)計、A/D與D/A轉(zhuǎn)換、串行總線擴展及應(yīng)用設(shè)計等12個項目83個任務(wù)。
書籍目錄
項目一 單片機及最小應(yīng)用系統(tǒng)
任務(wù)1 認識單片機
任務(wù)2 STC89系列單片機的識讀
任務(wù)3 單片機最小應(yīng)用系統(tǒng)的組成
項目二 單片機系統(tǒng)開發(fā)軟件的使用
任務(wù)1 Keil C51編譯軟件的使用
任務(wù)2 STC下載軟件的使用
任務(wù)3 Proteus 7?8仿真軟件的使用
項目三 C51程序設(shè)計語言基礎(chǔ)
任務(wù)1 C51程序組成的識讀
任務(wù)2 運算符和表達式
任務(wù)3 程序結(jié)構(gòu)及流程控制
任務(wù)4 數(shù)組與指針
任務(wù)5 函數(shù)與編譯預(yù)處理
項目四 LED廣告燈的設(shè)計
任務(wù)1 LED控制原理
任務(wù)2 閃爍廣告燈的設(shè)計
任務(wù)3 流水廣告燈的設(shè)計
任務(wù)4 拉幕式與閉幕式廣告燈的設(shè)計
任務(wù)5 復(fù)雜廣告燈的設(shè)計
項目五 鍵盤控制與LED數(shù)碼管顯示
任務(wù)1 鍵盤控制原理
任務(wù)2 LED數(shù)碼管顯示原理
任務(wù)3 單個LED數(shù)碼管顯示設(shè)計
任務(wù)4 多個LED數(shù)碼管顯示設(shè)計
任務(wù)5 條形LED花樣選擇顯示
任務(wù)6 查詢式按鍵設(shè)計
任務(wù)7 LED數(shù)碼管顯示矩陣鍵盤按鍵的設(shè)計
任務(wù)8 矩陣鍵盤按鍵控制條形LED的設(shè)計
任務(wù)9 簡單撥號鍵盤的設(shè)計
項目六 中斷控制應(yīng)用設(shè)計
任務(wù)1 中斷控制原理
任務(wù)2 帶中斷控制的LED花樣燈
任務(wù)3 采用外中斷控制的條形LED彩燈設(shè)計
任務(wù)4 采用兩個外中斷的條形LED彩燈控制
任務(wù)5 采用兩個外中斷實現(xiàn)LED鍵控移位
任務(wù)6 采用外中斷實現(xiàn)計數(shù)
任務(wù)7 采用外中斷進行計數(shù)和清零控制
項目七 定時/計數(shù)器控制的應(yīng)用設(shè)計
任務(wù)1 定時/計數(shù)器控制原理
任務(wù)2 簡單計數(shù)器的設(shè)計
任務(wù)3 方波信號發(fā)生器
任務(wù)4 用T2實現(xiàn)流水燈控制
任務(wù)5 59s計時器的設(shè)計
任務(wù)6 LED滾動閃爍控制
任務(wù)7 簡單門鈴設(shè)計
任務(wù)8 速度可調(diào)流水燈控制
任務(wù)9 PWM調(diào)光
任務(wù)10 簡單電子頻率計
項目八 單片機串行通信設(shè)計
任務(wù)1 單片機串行通信原理
任務(wù)2 甲機通過串口控制乙機LED顯示狀態(tài)
任務(wù)3 甲機通過串口控制乙機計時
任務(wù)4 單片機雙機通信
任務(wù)5 單片機向主機發(fā)送字符串
任務(wù)6 單片機與PC通信
任務(wù)7 串入并出擴展
任務(wù)8 并入串出擴展
項目九 LED點陣顯示器設(shè)計
任務(wù)1 LED點陣顯示器控制原理
任務(wù)2 一個5×7 LED點陣字符顯示設(shè)計
任務(wù)3 一個8×8 LED點陣字符串顯示
任務(wù)4 兩個8×8 LED點陣字符串顯示
任務(wù)5 兩個8×8 LED點陣滾動顯示
任務(wù)6 一個16×16 LED點陣漢字顯示
任務(wù)7 一個16×16 LED點陣漢字移位顯示
任務(wù)8 兩個16×16 LED點陣漢字顯示
任務(wù)9 兩個16×16 LED點陣漢字分批顯示
任務(wù)10 兩個16×16 LED點陣漢字移位顯示
項目十 LCD液晶顯示設(shè)計
任務(wù)1 LCD液晶顯示原理
任務(wù)2 字符式LCD顯示字符串
任務(wù)3 字符式LCD靜態(tài)顯示
任務(wù)4 字符式LCD滾動顯示
任務(wù)5 字符式LCD移位顯示
任務(wù)6 漢字式LCD靜態(tài)顯示
任務(wù)7 漢字式LCD移位顯示
任務(wù)8 漢字式LCD滾動顯示
任務(wù)9 漢字式LCD圖片顯示
項目十一 A/D與D/A轉(zhuǎn)換
任務(wù)1 ADC0808模/數(shù)轉(zhuǎn)換
任務(wù)2 ADC0809模/數(shù)轉(zhuǎn)換
任務(wù)3 ADC0832模/數(shù)轉(zhuǎn)換
任務(wù)4 TLC549模/數(shù)轉(zhuǎn)換
任務(wù)5 TLC2543模/數(shù)轉(zhuǎn)換
任務(wù)6 DAC0832數(shù)/模轉(zhuǎn)換
任務(wù)7 TLC5615數(shù)/模轉(zhuǎn)換
任務(wù)8 PCF8591的A/D及D/A轉(zhuǎn)換
項目十二 串行總線擴展及應(yīng)用設(shè)計
任務(wù)1 24C04開啟次數(shù)統(tǒng)計
任務(wù)2 PCF8574串行總線擴展
任務(wù)3 MAX7219控制數(shù)碼管動態(tài)顯示
任務(wù)4 MAX7221控制數(shù)碼管移位顯示
任務(wù)5 DS18B20測溫
任務(wù)6 DS1302可調(diào)時鐘日歷
附錄A Proteus常用快捷鍵
附錄B C51庫函數(shù)
參考文獻
章節(jié)摘錄
版權(quán)頁: 插圖: 3.LED數(shù)碼管的識別與檢測方法 LED數(shù)碼管的識別與檢測可以使用干電池檢測或萬用表檢測這兩種方法進行。 1)干電池檢測法取兩節(jié)普通1.5V干電池串聯(lián)起來形成3V電壓源,并串聯(lián)一個100Ω、1/8W的限流電阻,以防止電流過大燒壞被測LED數(shù)碼管。將3V電壓的負極引線接在被測數(shù)碼管的公共陰極上,正極引線依次移動接觸各筆段電極(a~h腳)。當正極引線接觸到LED數(shù)碼管的某一段碼電極時,對應(yīng)段碼就發(fā)光顯示。用這種方法可以快速測出數(shù)碼管是否有斷筆(某一段碼不能顯示)或連筆(某些段碼連在一起),并且可相對比較出不同的段碼發(fā)光強弱是否一致。若檢測共陽極數(shù)碼管,只需將電池的正、負極引線對調(diào)一下即可。被測數(shù)碼管的各筆段電極(a~h腳)全部短接起來,再接通測試用干3V電壓,則可使被測數(shù)碼管實現(xiàn)全段碼發(fā)光。對于質(zhì)量較好的數(shù)碼管,其發(fā)光顏色應(yīng)該均勻,并且無段碼殘缺或局部變色等現(xiàn)象。 如果不清楚被測數(shù)碼管是共陽極的還是共陰極的,以及引腳排序,可從被測數(shù)碼管的左邊第1腳開始,逆時針方向依次逐腳測試各引腳,使各段碼分別發(fā)光,即可測繪出該數(shù)碼管的引腳排列和內(nèi)部接線。測試時注意,只要某一段碼發(fā)光,就說明被測的兩個引腳中有一個是公共引腳,假定某一腳是公共引腳不動,變動另一測試腳,如果另一個段碼發(fā)光,說明假定正確。這樣根據(jù)公共引腳所接電源的極性,可判斷出被測數(shù)碼管是共陽極的還是共陰極的。顯然,公共引腳如果接電池正極,則被測數(shù)碼管為共陽極的;公共引腳如果接電池負極,則被測數(shù)碼管應(yīng)為共陰極的。接下來測試剩余各引腳,即可很快確定出所對應(yīng)的段碼來。 2)萬用表檢測法這里以指針式萬用表為例,說明具體檢測方法:首先將指針式萬用表撥至“R×10k”電阻擋。由于數(shù)碼管內(nèi)部的LED正向?qū)妷阂话悴恍∮?.8V,所以萬用表的電阻擋應(yīng)置于內(nèi)部電池電壓是15V(或9V)的“R×10k”擋,而不應(yīng)置于內(nèi)部電池電壓是1.5V的“R×100”或“R×1k”擋,否則無法正常測量LED的正、反向電阻。然后,進行檢測。在測量共陰極數(shù)碼管時,萬用表紅表筆(注意:紅表筆接表內(nèi)電池負極、黑表筆接表內(nèi)電池正極)應(yīng)接數(shù)碼管的“-”公共端,黑表筆則分別去接各段碼電極(a~g、dp腳);對于共陽極的數(shù)碼管,黑表筆應(yīng)接數(shù)碼管的“+”公共端,紅表筆則分別去接a~g、dp腳。正常情況下,萬用表的指針應(yīng)該偏轉(zhuǎn)(一般示數(shù)在100Ω以內(nèi)),說明對應(yīng)段碼的LED導(dǎo)通,同時對應(yīng)段碼會發(fā)光。若測到某個引腳時,萬用表指針不偏轉(zhuǎn),所對應(yīng)的段碼也不發(fā)光,則說明被測段碼的LED已經(jīng)開路損壞。與干電池檢測法一樣,采用萬用表檢測法也可對不清楚結(jié)構(gòu)類型和引腳排序的數(shù)碼管進行快速檢測。
編輯推薦
《卓越工程師培養(yǎng)計劃:51單片機C語言程序設(shè)計經(jīng)典實例》以國內(nèi)最流行的80C51系列單片機的硬件和軟件設(shè)計為背景,以C語言為基礎(chǔ),以項目為載體,采用任務(wù)驅(qū)動方式的教學(xué)方法,通過豐富的C語言程序?qū)嵗?,由淺入深地介紹了80C51系列單片機的基礎(chǔ)知識及各種應(yīng)用開發(fā)技術(shù)?!蹲吭焦こ處熍囵B(yǎng)計劃:51單片機C語言程序設(shè)計經(jīng)典實例》內(nèi)容全面,取材新穎,敘述清楚,理論聯(lián)系實際,突出實用特色?!蹲吭焦こ處熍囵B(yǎng)計劃:51單片機C語言程序設(shè)計經(jīng)典實例》適合單片機愛好者自學(xué)使用,也可作為高等院校51單片機課程“教、學(xué)、做”一體化的教學(xué)用書,還可作為51系列單片機應(yīng)用開發(fā)人員的實用參考書。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
51單片機C語言程序設(shè)計經(jīng)典實例 PDF格式下載