單片機(jī)的液晶顯示器設(shè)計_第1頁
單片機(jī)的液晶顯示器設(shè)計_第2頁
單片機(jī)的液晶顯示器設(shè)計_第3頁
單片機(jī)的液晶顯示器設(shè)計_第4頁
單片機(jī)的液晶顯示器設(shè)計_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 單片機(jī)的液晶顯示器設(shè)計 摘要液晶顯示已經(jīng)是人機(jī)界面的關(guān)鍵技術(shù)。本文對基于單片機(jī)的液晶顯示控制技術(shù)進(jìn)行了研究。本文闡明單片機(jī)(89C51)控制LCD1602顯示屏的方法。首先本文闡述了LCD1602液晶屏的顯示原理,隨后通過在Proteus仿真軟件上構(gòu)建相關(guān)的仿真電路,并連接在Keil軟件編寫、編輯及編譯生成的相關(guān)的.Hex驅(qū)動程序電路仿真,成功仿真出對所需內(nèi)容的顯示。關(guān)鍵字:LCD1602、單片機(jī)、Proteus仿真目 錄1 單片機(jī)介紹11.1 單片機(jī)發(fā)展概況11.2 單片機(jī)應(yīng)用分類21.3 單片機(jī)基本組成結(jié)構(gòu)31.4 單片機(jī)應(yīng)用范圍52 設(shè)計內(nèi)容和意義71.1 設(shè)計的內(nèi)容71.2 設(shè)計意義

2、73 硬件電路831 89C51系統(tǒng)83.1.1 89C51 單片機(jī)的概述83.1.2 89C51 單片機(jī)管腳說明93.2 振蕩電路外接晶體引腳113.3 復(fù)位電路123.4 LCD液晶顯示屏133.4.1 LCD1602 簡介133.4.2 LCD1602主要參數(shù)引腳功能143.4.3 LCD1602顯示模指令集154 軟件設(shè)計194.1 系統(tǒng)框圖194.2 程序204.3系統(tǒng)電路圖225 Proteus調(diào)試與仿真235.1 Proteus介紹235.1.1 功能特點(diǎn):245.1.2 智能原理圖設(shè)計245.1.3 電路仿真功能245.1.4 協(xié)同仿真功能255.1.5 PROTEUES作用2

3、55.2 系統(tǒng)調(diào)試與仿真275.2.1 安裝與調(diào)試275.2.2 仿真27結(jié) 論29致 謝30參考文獻(xiàn)311 單片機(jī)介紹1.1 單片機(jī)發(fā)展概況單片微型計算機(jī)簡稱單片機(jī),是典型的嵌入式微控制器(MicrocontrollerUnit)常用英文字母的縮寫MCU表示單片機(jī),單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。單片機(jī)由運(yùn)算器,控制器,存儲器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個微型的計算機(jī)(最小系統(tǒng)),和計算機(jī)相比,單片機(jī)缺少了外圍設(shè)備等。概括的講:一塊芯片就成了一臺計算機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用

4、單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。單片機(jī)誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段,早期的SCM單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上發(fā)展出了MCS51系列MCU系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機(jī),但因為性價比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場。而傳統(tǒng)的8位單片機(jī)的性能也

5、得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。高端的32位Soc單片機(jī)主頻已經(jīng)超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。 圖1.1 單片機(jī)芯片由于單片機(jī)在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,單片機(jī)由僅有CPU的專用處理器芯片發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對

6、體積要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的8080是最早按照這種思想設(shè)計出的處理器,當(dāng)時的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)。因為簡單可靠而性能不錯獲得了很大的好評。盡管2000年以后ARM已經(jīng)發(fā)展出了32位的主頻超過300M的高端單片機(jī),直到基于8031的單片機(jī)還在廣泛的使用。在很多方面單片機(jī)比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了廣泛的應(yīng)用。事實上單片機(jī)是世界上數(shù)量最多處理器,隨著單片機(jī)家族的發(fā)展壯大,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣?,F(xiàn)代人類生活中所用的幾乎每件有電子器件的產(chǎn)品中都會集成有單片機(jī)。手機(jī)、電話

7、、計算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電子產(chǎn)品中都含有單片機(jī)。 汽車上一般配備40多片單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百片單片機(jī)在同時工作!單片機(jī)的數(shù)量不僅遠(yuǎn)超過PC機(jī)和其他計算的總和,甚至比人類的數(shù)量還要多。1.2 單片機(jī)應(yīng)用分類單片機(jī)作為計算機(jī)發(fā)展的一個重要分支領(lǐng)域,根據(jù)發(fā)展情況,從不同角度單片機(jī)大致可以分為通用型/專用型、總線型/非總線型及工控型/家電型。(1)按單片機(jī)適用范圍來區(qū)分通用與專用。例如,80C51是通用型單片機(jī),它不是為某種專用途設(shè)計的;專用型單片機(jī)是針對一類產(chǎn)品甚至某一個產(chǎn)品設(shè)計生產(chǎn)的,例如為了滿足電子體溫計的要求,在片內(nèi)集成ADC接口等功能的溫度測量控

8、制電路。(2)按單片機(jī)是否提供并行總線來區(qū)分。總線型單片機(jī)普遍設(shè)置有并行地址總線、 數(shù)據(jù)總線、控制總線,這些引腳用以擴(kuò)展并行外圍器件都可通過串行口與單片機(jī)連接,另外,許多單片機(jī)已把所需要的外圍器件及外設(shè)接口集成一片內(nèi),因此在許多情況下可以不要并行擴(kuò)展總線,大大減省封裝成本和芯片體積,這類單片機(jī)稱為非總線型單片機(jī)。圖1.2 非總線型單片機(jī)(3)按照單片機(jī)大致應(yīng)用的領(lǐng)域進(jìn)行區(qū)分的。一般而言,工控型尋址范圍大,運(yùn)算能力強(qiáng);用于家電的單片機(jī)多為專用型,通常是小封裝、低價格,外圍器件和外設(shè)接口集成度高。 顯然,上述分類并不是惟一的和嚴(yán)格的。例如,80C51類單片機(jī)既是通用型又是總線型,還可以作工控用。1

9、.3 單片機(jī)基本組成結(jié)構(gòu)1. 運(yùn)算器。運(yùn)算器由運(yùn)算部件算術(shù)邏輯單元(Arithmetic & Logical Unit,簡稱ALU)、累加器和寄存器等幾部分組成。ALU的作用是把傳來的數(shù)據(jù)進(jìn)行算術(shù)或邏輯運(yùn)算,輸入來源為兩個8位數(shù)據(jù),分別來自累加器和數(shù)據(jù)寄存器。ALU能完成對這兩個數(shù)據(jù)進(jìn)行加、減、與、或、比較大小等操作,最后將結(jié)果存入累加器。例如,兩個數(shù)6和7相加,在相加之前,操作數(shù)6放在累加器中,7放在數(shù)據(jù)寄存器中,當(dāng)執(zhí)行加法指令時,ALU即把兩個數(shù)相加并把結(jié)果13存入累加器,取代累加器原來的內(nèi)容6。運(yùn)算器有兩個功能:(1) 執(zhí)行各種算術(shù)運(yùn)算。(2) 執(zhí)行各種邏輯運(yùn)算,并進(jìn)行邏輯測試,

10、如零值測試或兩個值的比較。運(yùn)算器所執(zhí)行全部操作都是由控制器發(fā)出的控制信號來指揮的,并且,一個算術(shù)操作產(chǎn)生一個運(yùn)算結(jié)果,一個邏輯操作產(chǎn)生一個判決。2.控制器??刂破饔沙绦蛴嫈?shù)器、指令寄存器、指令譯碼器、時序發(fā)生器和操作控制器等組成,是發(fā)布命令的“決策機(jī)構(gòu)”,即協(xié)調(diào)和指揮整個微機(jī)系統(tǒng)的操作。其主要功能有:(1) 從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置。(2) 對指令進(jìn)行譯碼和測試,并產(chǎn)生相應(yīng)的操作控制信號,以便于執(zhí)行規(guī)定的動作。(3) 指揮并控制CPU、內(nèi)存和輸入輸出設(shè)備之間數(shù)據(jù)流動的方向。微處理器內(nèi)通過內(nèi)部總線把ALU、計數(shù)器、寄存器和控制部分互聯(lián),并通過外部總線與外部的存儲器、輸

11、入輸出接口電路聯(lián)接。外部總線又稱為系統(tǒng)總線,分為數(shù)據(jù)總線DB、地址總線AB和控制總線CB。通過輸入輸出接口電路,實現(xiàn)與各種外圍設(shè)備連接。3.主要寄存器(1)累加器A累加器A是微處理器中使用最頻繁的寄存器。在算術(shù)和邏輯運(yùn)算時它有雙功能:運(yùn)算前,用于保存一個操作數(shù);運(yùn)算后,用于保存所得的和、差或邏輯運(yùn)算結(jié)果。(2)數(shù)據(jù)寄存器DR數(shù)據(jù)寄存器通過數(shù)據(jù)總線向存儲器和輸入/輸出設(shè)備送(寫)或?。ㄗx)數(shù)據(jù)的暫存單元。它可以保存一條正在譯碼的指令,也可以保存正在送往存儲器中存儲的一個數(shù)據(jù)字節(jié)等等。(3)指令寄存器IR和指令譯碼器ID指令包括操作碼和操作數(shù)。指令寄存器是用來保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條

12、指令時,先把它從內(nèi)存中取到數(shù)據(jù)寄存器中,然后再傳送到指令寄存器。當(dāng)系統(tǒng)執(zhí)行給定的指令時,必須對操作碼進(jìn)行譯碼,以確定所要求的操作,指令譯碼器就是負(fù)責(zé)這項工作的。其中,指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。(4)程序計數(shù)器PCPC用于確定下一條指令的地址,以保證程序能夠連續(xù)地執(zhí)行下去,因此通常又被稱為指令地址計數(shù)器。在程序開始執(zhí)行前必須將程序的第一條指令的內(nèi)存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執(zhí)行指令的地址。(5)地址寄存器AR地址寄存器用于保存當(dāng)前CPU所要訪問的內(nèi)存單元或I/O設(shè)備的地址。由于內(nèi)存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地

13、址信息,直到內(nèi)存讀/寫操作完成為止。顯然,當(dāng)CPU向存儲器存數(shù)據(jù)、CPU從內(nèi)存取數(shù)據(jù)和CPU從內(nèi)存讀出指令時,都要用到地址寄存器和數(shù)據(jù)寄存器。同樣,如果把外圍設(shè)備的地址作為內(nèi)存地址單元來看的話,那么當(dāng)CPU和外圍設(shè)備交換信息時,也需要用到地址寄存器和數(shù)據(jù)寄存器。1.4 單片機(jī)應(yīng)用范圍單片機(jī)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用

14、說自動控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械以及各種智能機(jī)械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個范疇: (1)智能儀器:單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實現(xiàn)諸如電壓、電流、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。(2)工業(yè)控

15、制:單片機(jī)具有體積小、控制功能強(qiáng)、功耗低、環(huán)境適應(yīng)能力強(qiáng)、擴(kuò)展靈活和使用方便等優(yōu)點(diǎn),用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、通信系統(tǒng)、信號檢測系統(tǒng)、無線感知系統(tǒng)、測控系統(tǒng)、機(jī)器人等應(yīng)用控制系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統(tǒng),與計算機(jī)聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)等。(3)家用電器:家用電器廣泛采用了單片機(jī)控制,從電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備和白色家電等。(4)網(wǎng)絡(luò)和通信:現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計算機(jī)進(jìn)行數(shù)據(jù)通信,為在計算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,通信設(shè)備基本上都實現(xiàn)了單片機(jī)智能控制

16、,從手機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機(jī)等。(5)設(shè)備領(lǐng)域:單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。(6)模塊化系統(tǒng):某些專用單片機(jī)設(shè)計用于實現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用,而不要求使用人員了解其內(nèi)部結(jié)構(gòu)。如音樂集成單片機(jī),看似簡單的功能,微縮在純電子芯片中(有別于磁帶機(jī)的原理),就需要復(fù)雜的類似于計算機(jī)的原理。如:音樂信號以數(shù)字的形式存于存儲器中(類似于ROM),由微控制器讀出,轉(zhuǎn)化為模擬音樂電信號(類似于聲卡)。在大型電路中,

17、這種模塊化應(yīng)用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便于更換。(7)汽車電子:單片機(jī)在汽車電子中的應(yīng)用非常廣泛,例如汽車中的發(fā)動機(jī)控制器,基于CAN總線的汽車發(fā)動機(jī)智能電子控制器、GPS導(dǎo)航系統(tǒng)、abs防抱死系統(tǒng)、制動系統(tǒng)、胎壓檢測等。此外,單片機(jī)在工商、金融、科研、教育、電力、通信、物流和國防航空航天等領(lǐng)域都有著十分廣泛的用途。2 設(shè)計內(nèi)容和意義1.1 設(shè)計的內(nèi)容課程設(shè)計是在校學(xué)生素質(zhì)教育的重要環(huán)節(jié),是理論與實踐相結(jié)合的橋梁和紐帶。單片機(jī)課程設(shè)計,要求學(xué)生更多的完成軟硬結(jié)合的動手實踐方案,解決目前學(xué)生課程設(shè)計過程中普 遍存在的缺乏動手能力的現(xiàn)象.熟悉掌握1602液晶,和128

18、62液晶的原理,并會編程實現(xiàn)在液晶上顯示出自己的基本信息。1.2 設(shè)計意義 在日常生活中,我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以下幾種:發(fā)光管、LED數(shù)碼管、液晶顯示器。發(fā)光管和LED數(shù)碼管比較常用,軟硬件都比較簡單。在單片機(jī)系統(tǒng)中應(yīng)用晶液顯示器作為輸出器件有以下幾個優(yōu)點(diǎn):(1)顯示質(zhì)量高由于液晶顯示器每一個點(diǎn)在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點(diǎn)。因此,液晶顯示器畫

19、質(zhì)高且不會閃爍。(2)數(shù)字式接口液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡單可靠,操作更加方便。(3)體積小、重量輕液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。(4)功耗低相對而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比其它顯示器要少得多。3 硬件電路31 89C51系統(tǒng)3.1.1 89C51 單片機(jī)的概述該系列單片機(jī)是采用高性能的靜態(tài)80C51設(shè)計由先進(jìn)CMOS工藝制造并帶有非易失性Flash 程序存儲器全部支持12時鐘和6時鐘操作P89C51X2和P89C52X2/54X2/58X2分別包含128

20、字節(jié)和256字節(jié)RAM32條 I/O口線3個16位定時/計數(shù)器6輸入4優(yōu)先級嵌套中斷結(jié)構(gòu)1個串行I/O 口可用于多機(jī)通信I/O擴(kuò)展或全雙工UART以及片內(nèi)振蕩器和時鐘電路。 此外由于器件采用了靜態(tài)設(shè)計可提供很寬的操作頻率范圍頻率可降至0可實現(xiàn)兩個由軟件選擇的節(jié)電模式空閑模式和掉電模式空閑模式凍結(jié)CPU但RAM定時器串口和中斷系統(tǒng)仍然工作掉電模式保存RAM 的內(nèi)容但是凍結(jié)振蕩器導(dǎo)致所有其它的片內(nèi)功能停止工作由于設(shè)計是靜態(tài)的時鐘可停止而不會丟失用戶數(shù)據(jù)運(yùn)行可從時鐘停止處恢復(fù)。圖3.1 89C51引腳圖3.1.2 89C51 單片機(jī)管腳說明VCC:供電電壓。 GND:接地。 工作電壓為5VP0口:P

21、0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩

22、沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電

23、平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示: 口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) P3口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。 ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許

24、的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN信號將不

25、出現(xiàn)。 EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。3.2 振蕩電路外接晶體引腳XTAL119腳 XTAL218腳圖3.2 晶振連接的內(nèi)部、外部方式圖XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2

26、懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。系統(tǒng)的時鐘電路設(shè)計是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT89單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的

27、晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22F。在焊接刷電路板時,晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。3.3 復(fù)位電路在振蕩器運(yùn)行時,有兩個機(jī)器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腿時,將使單片機(jī)復(fù)位,只要這個腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0P3口均置1引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM的00H處開始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來

28、抑制噪聲,它的輸出在每個機(jī)器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時鐘頻率選用6MHz時,C取22F,Rs約為200,Rk約為1K。復(fù)位操作不會對內(nèi)部RAM有所影響。常用的復(fù)位電路如圖3.3所示:圖3.3 常用復(fù)位電路圖3.4 LCD液晶顯示屏3.4.1 LCD1602 簡介1602是指顯示的內(nèi)容為16*2,即可以顯示兩行,每行16個字符。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。1602 液晶

29、顯示: 1602 液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160 個不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼 是 01000001B(41H),顯示時模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。 1602 識別的是 ASCII 碼,試驗可以用 ASCII 碼直接賦值。VSS、 VDD、 V0 一般接地接電源(+5V) 液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個 10K 的電位器調(diào)整對

30、比度)。 RS 為寄存器選擇,高電1時選擇數(shù)據(jù)寄存器、低電0時選擇指令寄存器。R/W 為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。E(或 EN)端為使能(enable)端,下降沿使能。RS為數(shù)據(jù)/命令選擇端,當(dāng)此腳為高電平時,可以對1602進(jìn)行數(shù)據(jù)字節(jié)的傳輸操作,而為電平時,則是進(jìn)行命令字節(jié)的傳輸操作。R/W為讀寫選擇端。當(dāng)此腳為高電平可對LCD1602進(jìn)行讀數(shù)據(jù)操作,反之進(jìn)行寫數(shù)據(jù)操作。下圖為LCD1602的讀操作時序和寫操作時序。1602 通過 D0D7 的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。顯示模式設(shè)置: 0011 0000 0x38 設(shè)置 16×2 顯示、5×7 點(diǎn)

31、陣,位數(shù)據(jù)接口;顯示開關(guān)及光標(biāo)設(shè)置;0000 1DCB 當(dāng)D顯示(1 有效)、 光標(biāo)顯示(1 有效)、 光標(biāo)閃爍(1 有效)0000 01NS N=1(讀 C B 或?qū)懸粋€字符后地址指針加 1 &光標(biāo)加 1),N=0(讀或?qū)懸粋€字符后地址指針減 1 &光標(biāo)減 1),S=1 且 N=1 (當(dāng)寫一個字符后,整屏顯示左移),S =0 當(dāng)寫一個字 符后,整屏顯示不移動數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為 80H,所以數(shù)據(jù)地址為80H+ 地址碼(0-27H,40-67H),其他設(shè)置:01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。寫指令08H 是關(guān)閉顯示 ,寫指令

32、01H 顯示清屏, 寫指令06H光標(biāo)移動設(shè)置 ,寫指令0cH 顯示開及光標(biāo)設(shè)置。當(dāng)我們要寫指令字,設(shè)置LCD1602的工作方式時:需要把RS置為低電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0D7,最后E引腳一個高脈沖將數(shù)據(jù)寫入。當(dāng)我們要寫入數(shù)據(jù)字,在1602上實現(xiàn)顯示時:需要把RS置為高電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0D7,最后E引腳一個高脈沖將數(shù)據(jù)寫入。圖3.4 LCD1602讀寫時序3.4.2 LCD1602主要參數(shù)引腳功能 1602LCD主要技術(shù)參數(shù):顯示容量:16×2個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字

33、符尺寸:2.95×4.35(W×H)mm引腳功能說明LCD1602引腳如圖3.5所示圖3.5引腳圖的功能如表3-1所示表3-1 LCD引腳功能3.4.3 LCD1602顯示模指令集(1)清屏功能:清DDROM值和AC值(2)歸位功能:光標(biāo)復(fù)位,光標(biāo)返回到地址00H(3)輸入方式設(shè)置功能:設(shè)置光標(biāo),畫面移動方式。其中:I/D=1:數(shù)據(jù)讀寫操作后,AC 自加一;I/D=0:數(shù)據(jù)讀寫操作后,AC 自減一;S=1:數(shù)據(jù)讀寫操作,畫面平移;S=0:數(shù)據(jù)讀寫操作,畫面不動;(4)顯示開關(guān)控制功能:設(shè)置顯示、光標(biāo)和閃爍開關(guān)。其中:D 表示顯示開關(guān),D=1 為開,D=0 為關(guān);C 表示光標(biāo)

34、開關(guān),C=1 為開,C=0 為關(guān);B 表示閃爍開關(guān),B=1 為開,B=0 為關(guān)。(5)光標(biāo)、畫面位移功能:光標(biāo)、畫面移動。其中:S/C=1 畫面移動一個字符位;S/C=0 光標(biāo)移動一個字符位;R/L=1:右移;R/L=0 左移。(6)功能設(shè)置功能:工作方式設(shè)置(初始化指令)。其中:DL=1,8 位數(shù)據(jù)接口;DL=0,4 位數(shù)據(jù)接口;N=1,兩行顯示;N=0,一行顯示;F=1,5*10 點(diǎn)陣顯示;F=0,5*7 點(diǎn)陣顯示。(7)CGRAM 地址設(shè)置功能:設(shè)置CGRAM 地址,A5A0=03FH。(8)DDRAM 地址設(shè)置功能:設(shè)置DDRAM 地址。其中:N=0,一行顯示A6A0=04FH;N=1

35、 兩行顯示,首行A6A0=02FH,次行A6A0=4067H。(9)讀BF 及AC 值功能:讀忙BF 和地址計數(shù)器AC 的值。其中:BF=1:忙,BF=0:準(zhǔn)備好。此時AC 值意義為最近一次地址設(shè)置(CGRAM 或DDRAM)定義。(10)寫數(shù)據(jù)功能:根據(jù)最近設(shè)置的地址性質(zhì),數(shù)據(jù)寫入CGRAM 或DDRAM 中。(11)讀數(shù)據(jù)功能:根據(jù)最近設(shè)置的地址性質(zhì),從CGRAM 或DDRAM 數(shù)據(jù)讀出。4 軟件設(shè)計4.1 系統(tǒng)框圖開 始 對LCD1602A進(jìn)行初始化 判是否有按鍵按下 否 掃描按鍵延時 首行掃描字R3列掃描送P1掃描、判行確定鍵值鍵值入棧保護(hù)鍵值轉(zhuǎn)化為ASII碼,存入寄存器判釋放按鍵 否

36、 判第七位是否為0繼續(xù)掃描否LCD1602A寫命令 顯 示延 時結(jié) 束4.2 程序#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code table="Men Hong Sheng"uchar code table1="JIA YOU!"sbit rs=P35;sbit rw=P36;sbit ep=P34;uchar a;void cao(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0

37、;y-);void zl(uchar com)rs=0;P0=com;cao(5);ep=1;cao(10);ep=0;void sj(uchar shu)rs=1;P0=shu;cao(5);ep=1;cao(10);ep=0;void init()rw=0;zl(0x38);zl(0x0c);zl(0x06);/zl(0x80+0x10);void main()init();for(a=0;a<13;a+)sj(tablea);cao(20);zl(0x80+0x40);for(a=0;a<8;a+)sj(table1a);cao(20);/for(a=0;a<16;a+

38、)/zl(0x18);/cao(200);/while(1);4.3系統(tǒng)電路圖 圖4.1 系統(tǒng)未運(yùn)行電路圖5 Proteus調(diào)試與仿真5.1 Proteus介紹Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他

39、系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。proteus仿真開發(fā)平臺是由英國labcenter公司開發(fā)的,是目前世界上最先進(jìn)、最完整的嵌入式系統(tǒng)設(shè)計與仿真平臺,是一個完整的硬件、軟件設(shè)計仿真平臺,包括原理圖輸入系統(tǒng)isis、帶擴(kuò)展的prospice混合模型仿真器、動態(tài)器件庫、高級圖形分析模塊和處理器虛擬系統(tǒng)仿真模型vsm,主要特點(diǎn)有以下幾點(diǎn)。1.可以仿真數(shù)千種模擬、數(shù)字器件和集成電路,并且提供了大量的動態(tài)仿真器件,使仿真運(yùn)行效果更逼真;支持多種型號的微處理器、微控制器芯片的仿真,如51系列、pic系列、avr系列單片機(jī)、摩托羅拉的68mh1l系列,以及phi

40、lips的lpc系列arm芯片等。2.proteus的仿真是基于spice3f5的,因此它也能像其他的eda軟件那樣對各種分立與集成的模擬、數(shù)字進(jìn)行電路分析,如模擬分析、數(shù)字分析、混合信號分析、頻率分析等。3.提供了虛擬示波器、邏輯分析儀、信號發(fā)生器、計數(shù)器、電表、虛擬終端(virtualterminal使用電腦的鍵盤和顯示器通過串口與外部的單片機(jī)系統(tǒng)通訊)等虛擬儀器儀表供選用。4.由isis及ares兩大功能模塊構(gòu)成,既能夠進(jìn)行sch(原理圖)的設(shè)計,也能夠進(jìn)行pcb(印制板)的設(shè)計,并且在isis環(huán)境中能夠?qū)υO(shè)計的電路進(jìn)行交互式實時仿真。5.能和keil、matlab等軟件整合使用,使得用

41、戶可以在設(shè)計中直接編輯修改源代碼,并即時觀察運(yùn)行效果。5.1.1 功能特點(diǎn):Proteus軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是:1原理布圖2PCB自動或人工布線3SPICE電路仿真4互動的電路仿真用戶甚至可以實時采用諸如RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。5仿真處理器及其外圍電路可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計開發(fā)環(huán)境。5.1

42、.2 智能原理圖設(shè)計豐富的器件庫:超過27000種元器件,可方便地創(chuàng)建新元件;智能的器件搜索:通過模糊搜索可以快速定位所需要的器件;智能化的連線功能:自動連線功能使連接導(dǎo)線簡單快捷,大大縮短繪圖時間;支持總線結(jié)構(gòu):使用總線器件和總線布線使電路設(shè)計簡明清晰;可輸出高質(zhì)量圖紙:通過個性化設(shè)置,可以生成印刷質(zhì)量的BMP圖紙,可以方便地供WORD、POWERPOINT等多種文檔使用。5.1.3 電路仿真功能ProSPICE混合仿真:基于工業(yè)標(biāo)準(zhǔn)SPICE3F5,實現(xiàn)數(shù)字/模擬電路的混合仿真。超過27000個仿真器件:可以通過內(nèi)部原型或使用廠家的SPICE文件自行設(shè)計仿真器件,Labcenter也在不斷

43、地發(fā)布新的仿真器件,還可導(dǎo)入第三方發(fā)布的仿真器件。多樣的激勵源:包括直流、正弦、脈沖、分段線性脈沖、音頻(使用wav文件)、指數(shù)信號、單頻FM、數(shù)字時鐘和碼流,還支持文件形式的信號輸入。豐富的虛擬儀器:13種虛擬儀器,面板操作逼真,如示波器、邏輯分析儀、信號發(fā)生器、直流電壓/電流表、交流電壓/電流表、數(shù)字圖案發(fā)生器、頻率計/計數(shù)器、邏輯探頭、虛擬終端、SPI調(diào)試器、I2C調(diào)試器等。生動的仿真顯示:用色點(diǎn)顯示引腳的數(shù)字電平,導(dǎo)線以不同顏色表示其對地電壓大小,結(jié)合動態(tài)器件(如電機(jī)、顯示器件、按鈕)的使用可以使仿真更加直觀、生動。5.1.4 協(xié)同仿真功能支持主流的CPU類型:如ARM7、8051/5

44、2、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU類型隨著版本升級還在繼續(xù)增加,如即將支持CORTEX、DSP處理器;支持通用外設(shè)模型:如字符LCD模塊、圖形LCD模塊、LED點(diǎn)陣、LED七段顯示模塊、鍵盤/按鍵、直流/步進(jìn)/伺服電機(jī)、RS232虛擬終端、電子溫度計等等,其COMPIM(COM口物理接口模型)還可以使仿真電路通過PC機(jī)串口和外部電路實現(xiàn)雙向異步串行通信;實時仿真:支持UART/USART/EUSARTs仿真、中斷仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿

45、真、CCP/ECCP仿真;編譯及調(diào)試:支持單片機(jī)匯編語言的編輯/編譯/源碼級仿真,內(nèi)帶8051、AVR、PIC的匯編編譯器,也可以與第三方集成編譯環(huán)境(如IAR、Keil和Hitech)結(jié)合,進(jìn)行高級語言的源碼級仿真和調(diào)試。5.1.5 PROTEUES作用 在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實物運(yùn)行狀態(tài)和過程。PROTEUS不僅可將許多單片機(jī)實例功能形象化,也可將許多單片機(jī)實例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實驗硬件高

46、度對應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實驗教學(xué)的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。課程設(shè)計、畢業(yè)設(shè)計是學(xué)生走向就業(yè)的重要實踐環(huán)節(jié)。由于PROTEUS提供了實驗室無法相比的大量的元器件庫,提供了修改電路設(shè)計的靈活性、提供了實驗室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實踐精神、創(chuàng)造精神的平臺隨著科技的發(fā)展,“計算機(jī)仿真技術(shù)”已成為許多設(shè)計部門重要的前期設(shè)計手段。它具有設(shè)計靈活,結(jié)果、過程的統(tǒng)一的特點(diǎn)??墒乖O(shè)計時間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險。相信在單片機(jī)開發(fā)應(yīng)用中PROTEUS也能茯得愈來愈廣泛的應(yīng)用。使用Proteus 軟件進(jìn)行單片機(jī)系統(tǒng)仿真設(shè)計,是虛擬仿真技術(shù)和計算機(jī)多媒體技術(shù)相結(jié)合的綜合運(yùn)用,有利于培養(yǎng)學(xué)生的電路設(shè)計能力及仿真軟件的操作能力;在單片機(jī)課程設(shè)計和全國大學(xué)生電子設(shè)計競賽中,我們使用 Proteus 開發(fā)環(huán)境對學(xué)生進(jìn)行培訓(xùn),在不需要硬件投入的條件下,學(xué)生普遍反映,對單片機(jī)的學(xué)習(xí)比單純學(xué)習(xí)書本知識更容易接受,更容易提高。實踐證明,在使用 Proteus 進(jìn)行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論