基于Proteus的AVR單片機C語言程序設(shè)計與仿真

出版時間:2011-1  出版社:電子工業(yè)出版社  作者:陳忠平  頁數(shù):542  
Tag標簽:無  

前言

  單片機又稱單片微控制器,其實質(zhì)是將一個計算機系統(tǒng)集成到一個芯片上。它具有體積小、質(zhì)量輕、價格便宜、控制功能強等特點,在工業(yè)控制、智能儀表、家用電器及軍事裝置等方面都得到了廣泛的應(yīng)用?! 鴥?nèi)高等院校的單片機教學(xué)與研究已經(jīng)有了近30年的歷程,但目前大部分院校開設(shè)的單片機課程還是以20世紀80年代開始流行的MCS-51系列(包括增強型51系列)單片機為藍本,以匯編語言或C語言為編程工具,以并行擴展為核心來講述單片機的相關(guān)知識的。盡管MCS-51系列單片機在實際應(yīng)用中還占據(jù)一定的市場,但由于該系列的單片機采用普林斯頓體系結(jié)構(gòu),使得指令周期長、執(zhí)行速度慢、功能單一、訪問外部數(shù)據(jù)有瓶頸。隨著微電子技術(shù)的迅猛發(fā)展,在20世紀90年代末,市場上已經(jīng)開始出現(xiàn)了AVR系列單片機。AVR系列單片機采用的是哈佛結(jié)構(gòu)。與MCS-51系列單片機相比,它在運行速度、內(nèi)存容量、內(nèi)部功能模塊的集成化等方面均有很大的改善。AVR單片機于1997年推出后,很快得到了市場的認可,并迅速推廣開來,成為MCS-51系列單片機的強力競爭者?! ≡S多單片機初學(xué)者都是首先學(xué)習(xí)單片機的相關(guān)基礎(chǔ)知識,然后使用計算機在一些編譯軟件上編寫程序,最后通過分析寄存器的內(nèi)容以檢驗程序設(shè)計是否符合要求,或者自己焊接硬件電路將源程序代碼下載到單片機中來觀察運行效果。這種學(xué)習(xí)方法很好,但是如果所設(shè)計系統(tǒng)較復(fù)雜,則難以分析相關(guān)寄存器的內(nèi)容,或者由于硬件成本過高,難以制作硬件電路,此時這種學(xué)習(xí)方法就有所欠缺,尤其是對于在校學(xué)生而言?! roteus軟件強勢推出后,改變了單片機的傳統(tǒng)學(xué)習(xí)方法,對于單片機學(xué)習(xí)或者系統(tǒng)開發(fā)都能提供有力的幫助。Proteus是多功能的EDA軟件,真正實現(xiàn)了虛擬物理原型功能,在目標板還沒投產(chǎn)前,它就可以對所設(shè)計的硬件系統(tǒng)的功能、合理性和性能指標進行充分調(diào)整,并可以在沒有硬件電路的情況下,進行相應(yīng)的程序設(shè)計與調(diào)試,可由仿真原理圖直接導(dǎo)出繪制成印制電路板(PCB)。對于單片機初學(xué)者而言,虛擬物理原型可節(jié)約學(xué)習(xí)成本,提高學(xué)習(xí)積極性;對于單片機系統(tǒng)開發(fā)人員而言,它可縮短開發(fā)時間,提高設(shè)計效率,降低開發(fā)成本。  為使初學(xué)者能迅速入門,提高對AVR單片機的興趣與愛好,并能在短期內(nèi)掌握AVR單片機的應(yīng)用開發(fā)要領(lǐng),編者特編寫了此書。在編寫過程中,編者十分注重題材的取舍,使得本書具有以下四個特點?! ?. 由淺入深,循序漸進  本書在內(nèi)容編排上采用由淺入深、由易到難的原則,從最初的AVR單片機開發(fā)環(huán)境、Proteus軟件的使用,講到單片機內(nèi)部單元的實現(xiàn),再到單片機外圍擴展,直至單片機的電動機控制應(yīng)用,這樣的編排可讓讀者根據(jù)自己的情況選擇閱讀起點。  2. 軟硬結(jié)合,虛擬仿真  沿用傳統(tǒng)單片機學(xué)習(xí)與開發(fā)經(jīng)驗,先通過相關(guān)編譯軟件(如CodeVisionAVR)編寫程序并生成.HEX(或.COFF)文件,然后在Proteus中畫好硬件電路圖(這一過程相當于硬件電路的焊接),最后調(diào)用HEX文件進行虛擬仿真(這一過程相當于硬件調(diào)試)。這樣可節(jié)約學(xué)習(xí)成本,提高讀者的學(xué)習(xí)積極性?! ?. 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é)過了MCS-51單片機的人員或從未學(xué)過單片機的人員來說,學(xué)習(xí)AVR單片機時是否也要先從匯編入手呢?答案是否定的?! 】紤]有些單片機初學(xué)者以前從未使用C語言編寫單片機程序,因此本書在第3章介紹了C語言的相關(guān)知識,這樣可使他們在很短時間內(nèi)掌握C語言的相關(guān)語法。全書所有實例均采用C語言編寫,這樣對已學(xué)過MCS-51單片機或從未學(xué)過單片機的讀者來說,可以使他們很容易看懂程序或進行程序的移植,也就是快速進入AVR的學(xué)習(xí)之門?! ?. 兼顧原理,注重實用  基本原理、基本實例一直是學(xué)習(xí)和掌握單片機應(yīng)用技術(shù)的基本要求,由于許多AVR單片機初學(xué)者在學(xué)習(xí)AVR單片機時對相關(guān)原理不是很清楚,所以本書從第4章至第12章在講解AVR單片機的部分功能應(yīng)用時,首先講解了相關(guān)原理,然后通過一些實例講解其應(yīng)用。在講講解實例時,先進行設(shè)計分析,然后給出源程序代碼。這樣的編寫安排,使初學(xué)者可以不借助其他的AVR單片機原理方面的書籍,直接通過本書的學(xué)習(xí)就掌握AVR單片機的應(yīng)用?! ∮捎赑roteus軟件的操作方式與一般的應(yīng)用軟件不同,菜單欄與工具條也不完全對應(yīng),所以本書只列出了與菜單欄相對應(yīng)的一些工具條,對于與菜單欄不對應(yīng)的工具條,請讀者參考相關(guān)資料。為了便于讀者學(xué)習(xí)和使用實際的Proteus軟件,本書對軟件電路圖中不符合國家標準的圖形及符號等未做改動(如在Proteus軟件中,電容單位F使用uF進行標記)?! 楸阌谧x者閱讀、學(xué)習(xí),特提供本書所講實例下載資源?! ⒓颖緯帉懙挠泻瞎こ搪殬I(yè)技術(shù)學(xué)院陳忠平、湖南航天局7801研究所劉瓊、湖南涉外經(jīng)濟學(xué)院侯玉寶、湖南科技職業(yè)技術(shù)學(xué)院高見芳、湖南工程職業(yè)技術(shù)學(xué)院龍曉慶、李銳敏、湖南三一重工集團王漢其等。全書由湖南工程職業(yè)技術(shù)學(xué)院陳建忠教授主審。在編寫過程中還得到了湖南工程職業(yè)技術(shù)學(xué)院龔亮、彭芳等眾位高工、老師的大力支持及幫助,在此向他們表示衷心的感謝。同時對在編寫過程中參考的多部AVR單片機原理及相關(guān)著作的作者表示深深的謝意!  由于編著者知識水平和經(jīng)驗的局限性,書中難免存在缺點和錯誤,敬請廣大讀者給予批評指正?! 【幹?/pre>

內(nèi)容概要

《基于proteus的avr單片機c語言程序設(shè)計與仿真》以目前流行的軟、硬件仿真軟件proteus為核心,采用現(xiàn)代教學(xué)方法,從實驗、實踐、實用的角度,通過豐富的實例詳細敘述了該軟件在avr atmega16單片機課程教學(xué)和單片機應(yīng)用產(chǎn)品開發(fā)過程中的應(yīng)用?!  痘趐roteus的avr單片機c語言程序設(shè)計與仿真》以夯實基礎(chǔ),面向應(yīng)用、理論與實踐緊密結(jié)合的原則,根據(jù)avr單片機的運行速度快、資源豐富、功能強大、以串行擴展為主等特點,采用c語言作為系統(tǒng)軟件開發(fā)平臺。本書知識系統(tǒng)全面,闡述深入淺出,主要包括單片機系統(tǒng)的設(shè)計及相關(guān)軟件的使用、自制avr單片機下載電纜、proteus中原理圖的繪制與仿真及電子線路印制電路板(pcb)的制作、codevisionavr的c語言基礎(chǔ)知識、proteus在avr atmega16單片機系統(tǒng)設(shè)計中的應(yīng)用。書中選擇的實例具有很強的實用性和指導(dǎo)性。通過閱讀這些實例,讀者可以在不花費硬件成本的前提下,學(xué)習(xí)和開發(fā)avr單片機應(yīng)用系統(tǒng)?!  痘趐roteus的avr單片機c語言程序設(shè)計與仿真》既可作為高等院校信息工程、計算機應(yīng)用、自動化、電氣工程等相關(guān)專業(yè)的avr單片機教材或培訓(xùn)教材,也可作為avr單片機愛好者的自學(xué)實踐教材,還可作為從事avr單片機應(yīng)用研發(fā)科技人員的實用參考書。

書籍目錄

第1章 avr單片機系統(tǒng)的設(shè)計與開發(fā)環(huán)境  1.1 atmel單片機簡介  1.2 avr單片機與c語言的關(guān)系  1.3 codevisionavr的c語言編譯器的使用  1.4 avr studio集成開發(fā)軟件的使用  1.5 ponyprog2000下載軟件的使用  1.6 自制isp下載線 第2章 proteus7.5入門  2.1 proteus isis的操作及電路原理圖的設(shè)計  2.2 proteus vsm虛擬系統(tǒng)模型  2.3 proteus ares的pcb設(shè)計 第3章 codevisionavr的c語言基礎(chǔ)知識  3.1 數(shù)據(jù)運算  3.2 流程控制  3.3 數(shù)組  3.4 指針  3.5 結(jié)構(gòu)體  3.6 共用體  3.7 函數(shù)  3.8 編譯預(yù)處理 第4章 atmega16通用i/o控制  4.1 atmega16的基本結(jié)構(gòu)  4.2 atmega16通用數(shù)字i/o端口的介紹  4.3 pa端口的應(yīng)用  4.4 pb端口的應(yīng)用  4.5 閃爍燈  4.6 流水燈  4.7 帶按鍵選擇的花樣燈  4.8 控制16個發(fā)光二極管的花樣燈 第5章 atmega16中斷控制與led數(shù)碼管顯示  5.1 atmega16中斷系統(tǒng)  5.2 led數(shù)碼管的基礎(chǔ)知識  5.3 int0的應(yīng)用  5.4 int1的應(yīng)用  5.5 int2的應(yīng)用  5.6 int0和int1中斷嵌套的應(yīng)用  5.7 int0和int1控制的加減計數(shù) 第6章 atmega16的定時/計數(shù)控制  6.1 atmega16定時/計數(shù)系統(tǒng)  6.2 定時/計數(shù)器0用于定時的應(yīng)用  6.3 定時/計數(shù)器0用于計數(shù)的應(yīng)用  6.4 定時/計數(shù)器0的ctc模式應(yīng)用  6.5 定時/計數(shù)器0的快速pwm模式應(yīng)用  6.6 定時/計數(shù)器0的相位修正pwm模式應(yīng)用  6.7 定時/計數(shù)器1用于定時的應(yīng)用  6.8 定時/計數(shù)器1用于計數(shù)的應(yīng)用  6.9 定時/計數(shù)器1的ctc模式應(yīng)用  6.10 定時/計數(shù)器1的快速pwm模式應(yīng)用  6.11 定時/計數(shù)器1的相位修正pwm模式應(yīng)用  6.12 定時/計數(shù)器1的輸入捕捉模式應(yīng)用  6.13 定時/計數(shù)器2用于定時的應(yīng)用  6.14 定時/計數(shù)器2用于異步計數(shù)的應(yīng)用  6.15 定時/計數(shù)器2的ctc模式應(yīng)用 第7章 通用串行接口  7.1 atmega16通用串行接口usart  7.2 單片機自發(fā)自收數(shù)據(jù)  7.3 兩個單片機通信(一)  7.4 兩個單片機通信(二) 第8章 鍵盤的應(yīng)用  8.1 鍵盤的工作原理  8.2 查詢式鍵盤的設(shè)計  8.3 矩陣式鍵盤的設(shè)計(一)  8.4 矩陣式鍵盤的設(shè)計(二)  8.5 簡單撥號鍵盤的設(shè)計 第9章 atmega16的模擬比較器和模/數(shù)轉(zhuǎn)換器  9.1 atmega16的模擬比較器  9.2 atmega16的模/數(shù)轉(zhuǎn)換器  9.3 模擬比較器的應(yīng)用  9.4 模/數(shù)轉(zhuǎn)換器的應(yīng)用  9.5 電源電壓指示燈的設(shè)計 第10章 顯示器的應(yīng)用  10.1 led點陣顯示器的應(yīng)用  10.2 lcd液晶顯示器的應(yīng)用 第11章 串行總線的應(yīng)用  11.1 spi總線的應(yīng)用  11.2 twi總線的應(yīng)用 第12章 電動機控制  12.1 步進電動機控制  12.2 直流電動機控制  12.3 伺服電動機控制 附錄a proteus常用快捷鍵 附錄b codevisionavr編譯器常用庫函數(shù)簡介 參考文獻

章節(jié)摘錄

版權(quán)頁:插圖:(4)具有多種獨立的時鐘分頻器。AVR.單片機片內(nèi)具備多種獨立的時鐘分頻器,分別供URAT。12C、SPI使用。其中與8/16位定時器配合的單片機具有多達10位的預(yù)分頻器,可通過軟件設(shè)定分頻系數(shù)以提供多種擋次的定時時間。AVR單片機中的定時器/計數(shù)器(單)可雙向計數(shù)形成三角波,再與輸出比較匹配寄存器配合,生成占空比可變、頻率可變、相位可變的方波,該設(shè)計方法(即脈寬調(diào)制輸出PWM)令人耳目一新。(5)定位于工業(yè)級產(chǎn)品。AVR單片機具有大電流10~20mA(輸出電流)或40mA(吸收電流),可直接驅(qū)動LED、SSR或繼電器;具有看門狗定時器(WDT)安全保護功能,可防止程序跑飛,以提高產(chǎn)品的抗干擾能力。(6)具有超功能精簡指令。AVR單片機具有32個通用工作寄存器,相當于8051單片機中的32個累加器,克服了由單一累加器數(shù)據(jù)處理造成的瓶頸現(xiàn)象;片內(nèi)含有128B~8KB個SRAM,可靈活使用指令運算,適合用c語言進行程序開發(fā),易學(xué)、易寫、易移植,并且具有很高的代碼效率。(7)通信方便、快捷、可靠,支持多機通信。其增強性的高速同/異步串口,具有硬件產(chǎn)生校驗碼、硬件檢測和校驗幀錯、兩級接收緩沖、波特率自動調(diào)整定位(接收時)、屏蔽數(shù)據(jù)幀等功能,提高了通信的可靠性,方便了程序的編寫,更便于組成分布式網(wǎng)絡(luò)和實現(xiàn)多機通信系統(tǒng)的復(fù)雜應(yīng)用。其串口功能大大超過MCS.51/96單片機的串口功能,加上AVR單片機能高速運行,中斷服務(wù)時間短,因此可實現(xiàn)高波特率通信。具有面向字節(jié)的高速硬件串行接口TWI、SPI。TWI與I2C接口兼容,具備ACK信號硬件發(fā)送與識別、地址識別、總線仲裁等功能,能實現(xiàn)主/從機的收/發(fā)的全部4種組合的多機通信。SPI支持主/從機的4種組合的多機通信。(8)增強了嵌入式系統(tǒng)的可靠性。AVR單片機有自動上電復(fù)位電路、獨立的看門狗電路、低電壓檢測電路BOD,多個復(fù)位源(自動上下電復(fù)位、外部復(fù)位、看門狗復(fù)位、BOD復(fù)位),可設(shè)置的啟動后延時運行程序,從而增強了嵌入式系統(tǒng)的可靠性。

編輯推薦

《基于Proteus的AVR單片機C語言程序設(shè)計與仿真》是由電子工業(yè)出版社出版的。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    基于Proteus的AVR單片機C語言程序設(shè)計與仿真 PDF格式下載


用戶評論 (總計27條)

 
 

  •   AVR單片機中很少有通過proteus講授的,這是其中一本,要讀?。?!
  •   學(xué)AVR必備的,和馬潮哪本差不多,挺好的,適合仿真學(xué)
  •   這本書物美價廉,詳細介紹了單片機的知識,是一本很好的書
  •   一本很不錯的書,對學(xué)習(xí)單片機很有幫助。相信的當當網(wǎng)的商品,繼續(xù)支持。
  •   這本書寫得很詳實,還是基于proteus的,值得擁有!
  •   本書正對性強,很專業(yè),通過大量的實例,通俗易懂
  •   書厚寫得詳細非常好
  •   老師推薦的,正在使用中
  •   幫別人買的,據(jù)說使用的挺好的
  •   好書,三合一
  •   說句中肯的話,這本書還是一本值得一讀地。本書的總體結(jié)構(gòu)清晰明了,安排妥當,先是詳實的硬件控制位的介紹,再是后來的軟件仿真。書中知識點的介紹很簡單易懂。書中給出的例程的風格還可以。內(nèi)容介紹的很好,很有層次感。但是美中不足的是在第四章介紹總體資源的時候沒有將匯編加以介紹,所以在陳述中有些許混淆概念的感覺,讓人覺得不明就里,但是對于有單片機基礎(chǔ)的來說,稍一想想便會融通,這個缺點給人的感覺獲得知識知識一鱗半爪。從總體上來講,不以一眚掩大德,本書著實是一本好書。個人觀點……
  •   在avr類中也算是不錯的了
  •   代碼什么的挺全的,講解的內(nèi)容很詳細,就是太過于基礎(chǔ)了,剛開始學(xué)的看看還行。有基礎(chǔ)的就不要買了。這么厚的書就講了數(shù)碼管,串口,PWM,AD等自帶的功能,深入的東西沒有
  •   我是初學(xué)者,看來還是有些用。
  •   內(nèi)容倒是不錯,就是書上全是灰,封皮都爛了。
  •   里面講的不是很通俗易懂
  •   這么多東西來自AVR的PDF,而這些讀者都有呀!
  •   購買過N次當當?shù)臅?,這次怎么會這么不認真,就發(fā)貨。有點失望。
  •   書很好,對我學(xué)AVR有很大幫助!但是美中不足的是書上說能在電子工業(yè)出版社下載本書所講實例資源,好像是騙人的哦!不知道是怎么回事呀?
  •   這本書很實用,對學(xué)習(xí)單片機很有幫助
  •   書的內(nèi)容到位,講解較詳細,適合有一定基礎(chǔ)的人用
  •   朋友很喜歡。粗略多了一點。還是很不錯的。
  •   相比較其他的書籍而言還是可以的,講的比較詳細。。
  •   講解AVR單片機很詳細,選擇的編譯器是codevisionAVR 不太常用的一種,但是卻與51單片機很相似,從51轉(zhuǎn)AVR的朋友,選擇這本書,很不錯,很容易上手!我就是初學(xué)AVR(51用了8年了,想改改口味),一天就學(xué)了一半.哈哈,感覺AVR很簡單!-- 書上有一些錯誤,不過影響不大
  •   還行,有點像舊書,不喜歡數(shù)的紙張
  •   對每個功能講解詳細,特別是寫出每個功能所對應(yīng)寄存器的設(shè)置,例程也非常實用??!
  •   例題很不錯,就是調(diào)試內(nèi)容重復(fù)的太多,拓展知識不夠多。卓越的服務(wù)還是挺好的。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7