出版時間:2008-9 出版社:化學(xué)工業(yè)出版社 作者:龍威林,楊冠聲,胡山 編 頁數(shù):223
Tag標(biāo)簽:無
前言
單片機已不是一個陌生名詞,在我國大規(guī)模應(yīng)用已有近30年的歷史。單片機體積小、重量輕、成本低,具有很強的靈活性,被廣泛地應(yīng)用于玩具、家電、機器人、工業(yè)控制單元、辦公自動化設(shè)備、儀器儀表、汽車電子系統(tǒng)、金融電子系統(tǒng)等領(lǐng)域,已經(jīng)成為現(xiàn)代電子系統(tǒng)中最重要的智能化工具?! ∧壳?,越來越多的讀者加入了單片機學(xué)習(xí)之列。在高等工科院校和高職高專電子專業(yè)中都普遍開設(shè)了單片機及相關(guān)課程。很多教材和科技類書籍在介紹單片機的應(yīng)用之前,首先講解單片機的內(nèi)部結(jié)構(gòu)和存儲器組織結(jié)構(gòu),這對一些讀者(尤其是不了解計算機硬件基礎(chǔ)知識的讀者)來說,入門可能比較困難。筆者結(jié)合自身在單片機學(xué)習(xí)及工程應(yīng)用方面的經(jīng)驗,提出了學(xué)習(xí)單片機首先應(yīng)從單片機的應(yīng)用人手的思路。所以本書首先向讀者介紹單片機的引腳結(jié)構(gòu)及各引腳的功能,再以簡單實例講解單片機的入門應(yīng)用,待了解了單片機的簡單應(yīng)用后,再引導(dǎo)其學(xué)習(xí)單片機的結(jié)構(gòu)原理,使讀者能夠?qū)纹瑱C作深層次的系統(tǒng)開發(fā)應(yīng)用,這樣大大縮短了讀者的學(xué)習(xí)周期,有事半功倍之效?! 羞x擇了目前應(yīng)用較為廣泛的Atmel公司的兩種單片機作為介紹對象:AT89S5l和ATlnega8。第l章介紹了AT89S5l單片機的特點、引腳結(jié)構(gòu)和功能、單片機的內(nèi)部資源,以及AT89S5l單片機系統(tǒng)板的模塊設(shè)計與制作。了解單片機的引腳結(jié)構(gòu)和制作一塊單片機系統(tǒng)板是學(xué)習(xí)單片機的第一步。第2章介紹了當(dāng)今最為前沿的嵌入式系統(tǒng)開發(fā)工具軟件弘Vision2及程序下載軟件的入門應(yīng)用。第3章以簡單的實例向讀者介紹單片機的應(yīng)用,從發(fā)光二極管控制、數(shù)碼管控制、LED點陣控制、A/D和D/A應(yīng)用、內(nèi)部資源編程幾個方面介紹單片機的應(yīng)用人門。每個實例都以匯編語言和C語言兩種方式編程,向讀者介紹了兩種語言的編程方法與技巧。本書假設(shè)讀者已具備了匯編語言和C語言的基礎(chǔ)知識。第4章介紹了單片機的應(yīng)用提高,更進一步向讀者介紹單片機的系統(tǒng)設(shè)計的方法與步驟。在本章的實例中只提供了C語言參考程序,引導(dǎo)讀者逐步從匯編語言向C語言轉(zhuǎn)化。C語言具有很強的靈活性,尤其在做大的系統(tǒng)設(shè)計時,其優(yōu)勢更為突出。第5章介紹了AVR單片機的特點,并以ATmega8單片機為例與AT89S5l單片機作了對比,讓讀者能以最快的速度過渡到AVR。第6章介紹了AVR單片機的開發(fā)工具ICCAVR和AVR studi。的應(yīng)用。第7章介紹了AVR單片機的硬件操作,通過實際應(yīng)用展現(xiàn)了ATmega8單片機的強大功能。 本書總結(jié)了筆者多年的單片機實踐經(jīng)驗和教學(xué)經(jīng)驗,編程實例豐富,每個參考程序都經(jīng)過了軟件和硬件調(diào)試驗證。可作為單片機愛好者的學(xué)習(xí)用書,也可作為高等院校及高職院校單片機教材?! ”緯升埻?、楊冠聲、胡山編寫,李瑩參加編寫。同時還得到其他老師的大力支持,在此一并表示衷心的感謝?! ∮捎诰幷咚接邢蓿瑫须y免存在缺點和不妥之處,請廣大讀者給予批評指正。
內(nèi)容概要
本書從單片機的實際應(yīng)用入手,介紹AT89S51和AVR單片機及開發(fā)軟件的入門應(yīng)用,主要內(nèi)容包括AT89S51單片機實踐系統(tǒng)板設(shè)計與制作,KeilC51軟件及程序下載快速入門,AT89S51單片機的程序入門設(shè)計與應(yīng)用提高,最后介紹了AVR單片機的特點、開發(fā)環(huán)境及硬件操作。本書沒有復(fù)雜的單片機理論,以實例來介紹單片機的應(yīng)用,由淺入深,實用性強。 本書是單片機初學(xué)者的良師益友,也可作為大中專院校單片機課程的教學(xué)參考。
書籍目錄
第1章 AT89S51單片實踐系統(tǒng)板設(shè)計與制作 1.1 AT89S51單片機簡介 1.1.1 AT89S51單片機的特點 1.1.2 AT89S51芯片引腳及其功能特點介紹 1.1.3 AT89S51的內(nèi)部資源 1.1.4 AT89S52單片機介紹 1.2 AT89S51系統(tǒng)板的設(shè)計 1.2.1 單片機系統(tǒng)模塊 1.2.2 電源模塊 1.2.3 八路LED指示模塊 1.2.4 動態(tài)數(shù)碼管顯示模塊 1.2.5 八路獨立式鍵盤模塊 1.2.6 232電平轉(zhuǎn)換模塊 1.2.7 程序下載模塊 1.2.8 A/D轉(zhuǎn)換模塊 1.2.9 D/A轉(zhuǎn)換模塊 1.2.10 直流電動機控制模塊 1.2.11 步進電動機控制模塊 1.2.12 4×4行列式鍵盤模塊 1.2.13 8×8 LED點陣模塊 1.2.14 音頻輸出模塊 1.2.15 分頻模塊 1.3 AT89S51系統(tǒng)板PCB設(shè)計與焊接要求第2章 KeilC51軟件及程序下載軟件快速入門 2.1 Keil C51簡介 2.2 Keil C51軟件的安裝 2.2.1 系統(tǒng)要求 2.2.2 軟件的安裝 2.3 uWisiorl2集成開發(fā)環(huán)境 2.4 創(chuàng)建項目 2.5 程序的編譯與調(diào)試 2.6 程序下載第3章 AT89S51單片機程序設(shè)計入門 3.1 LED發(fā)光二極管控制 3.1.1 單片機控制單個LED閃爍 3.1.2 8個LED流水燈控制 3.1.3 廣告燈設(shè)計 3.2 按鍵信號采集 3.2.1 模擬開關(guān)燈 3.2.2 多路開關(guān)狀態(tài)指示 3.2.3 按鍵去抖動 3.2.4 一鍵多功能 3.2.5 4×4鍵盤識別技術(shù) 3.3 LED數(shù)碼管顯示技術(shù) 3.3.1 控制單個LED數(shù)碼管靜態(tài)顯示字符或數(shù)字 3.3.2 10進制加減計數(shù)器。 3.3.3 動態(tài)數(shù)碼管顯示技術(shù) 3.3.4 60進制脈;中計數(shù)器 3.4 8×8 LED點陣顯示技術(shù) 3.4.1 點亮矩陣中的任意一個點 3.4.2 字符和圖形顯示技術(shù) 3.4.3 滾動屏顯示技術(shù) 3.5 單片機內(nèi)部資源編程 3.5.1 中斷介紹 3.5.2 外部中斷編程應(yīng)用 3.5.3 定時器計數(shù)器 3.5.4 定時器計數(shù)器的應(yīng)用 3.5.5 串行通信技術(shù)應(yīng)用 3.6 A/D、D/A轉(zhuǎn)換器的應(yīng)用 3.6.1 ADc0809的應(yīng)用 3.6.2 DAc0832的應(yīng)用 3.7 音頻輸出應(yīng)用第4章 單片機應(yīng)用提高 4.1 多功能數(shù)字電子鐘設(shè)計 4.1.1 設(shè)計要求 4.1.2 設(shè)計方案 4.1.3 硬件電路設(shè)計 4.1.4 軟件設(shè)計 4.2 秒表設(shè)計 4.2.1 設(shè)計要求 4.2.2 設(shè)計方案 4.2.3 硬件電路設(shè)計 4.2.4 軟件設(shè)計 4.3 乒乓球游戲設(shè)計 4.3.1 設(shè)計要求 4.3.2 設(shè)計方案 ……第5章 AVR單片機介紹第6章 AVR單片機的開發(fā)環(huán)境第7章 AVR單片機的硬件操作參考文獻
章節(jié)摘錄
本章以簡單的實例由淺人深,逐步向讀者介紹單片機編程方法與技巧,讓讀者輕松快速入門。本章每個實例都給出了兩種語言的參考程序,向讀者介紹C語言及匯編語言編程的方法與技巧,使讀者掌握單片機I/O控制、內(nèi)部資源的編程及訪問外圍器件的編程方法與技巧?! R編語言具有以下特點?! 、僦浄噶詈蜋C器指令一一對應(yīng),所以用匯編語言編寫的程序效率高,占用存儲空間小,運行速度快,因此匯編語言能編寫出最優(yōu)化的程序。但在單片機程序設(shè)計中,要對數(shù)據(jù)的存放、寄存器和工作單元的使用等做出具體安排?! 、谑褂脜R編語言編程比使用高級語言困難。因為匯編語言的對象是計算機,匯編語言的程序設(shè)計人員必須對計算機硬件有相當(dāng)深入地了解。使用匯編語言對單片機編程,設(shè)計人員必須對所使用的單片機的硬件結(jié)構(gòu)有較為詳細地了解,特別是對各類寄存器、端口、定時/計數(shù)器、中斷等內(nèi)容更應(yīng)了如指掌,以便在程序設(shè)計中熟練使用。 ?、蹍R編語言能直接訪問存儲器及接口電路,也能處理中斷,因此匯編語言程序能直接管理和控制硬件設(shè)備?! 、軈R編語言缺乏通用性,程序不易移植,各種計算機都有自己的匯編語言,不同計算機的匯編語言之間不能通用?! 、輰Τ绦蛟O(shè)計的技巧性要求較高?! ∨c匯編語言相比,C語言有如下優(yōu)點?! 、賹纹瑱C的指令系統(tǒng)不要求了解,僅要求對8051的存儲器結(jié)構(gòu)有初步了解?! 、诩拇嫫鞯姆峙?、不同存儲器的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理?! 、鄢绦蛴幸?guī)范的結(jié)構(gòu),可分為不同的函數(shù),這種方式可使程序結(jié)構(gòu)化。 ?、芫哂袑⒖勺兊倪x擇與特殊操作組合在一起的能力,改善了程序的可讀性。 ?、蓐P(guān)鍵字及運算函數(shù)可用近似人的思維過程方式使用?! 、蘧幊碳俺绦蛘{(diào)試時間顯著縮短,從而提高效率?! 、咛峁┑膸彀S多標(biāo)準(zhǔn)子程序,具有較強的數(shù)據(jù)處理能力。 ?、嘁丫幒玫某绦蚩扇菀椎刂踩胄鲁绦?,因為C語言具有方便的模塊化編程技術(shù)。 C語言作為一種非常方便的語言而得到廣泛的支持,C語言程序本身并不依賴于機器硬件系統(tǒng),基本上不作修改就可根據(jù)單片機的不同較快地移植過來。盡管懂匯編語言不是目的,但看懂一些可幫助了解任何影響語言效率的8051特殊限定。例如,懂得匯編語言指令就可使用在片外RAM作變量的優(yōu)勢,因為片外變量需要幾條指令才能設(shè)置累加器和數(shù)據(jù)指針進行存取。要求使用浮點和啟用函數(shù)時,只有具有匯編編程經(jīng)驗,才能避免生成龐大的、效率低的程序,只需要考慮簡單的算術(shù)運算或使用預(yù)先算好的查表法。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載