單片機原理與應(yīng)用課程設(shè)計說明書(共30頁)_第1頁
單片機原理與應(yīng)用課程設(shè)計說明書(共30頁)_第2頁
單片機原理與應(yīng)用課程設(shè)計說明書(共30頁)_第3頁
單片機原理與應(yīng)用課程設(shè)計說明書(共30頁)_第4頁
單片機原理與應(yīng)用課程設(shè)計說明書(共30頁)_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PAGE 91單片機原理(yunl)及應(yīng)用課程(kchng)設(shè)計(shj)簡單計算器設(shè)計The Design of Simple Calculator院 系: 機電汽車工程學(xué)院 專 業(yè): 機械設(shè)計制造及其自動化姓 名: 學(xué) 號: 指導(dǎo)老師: 2014年6月30日PAGE IPAGE 36目 錄第一章 緒論(xln)1 TOC o 2-2 h z t 標題(biot) 1,1,標題 3,3 HYPERLINK l _Toc391193033 第二章方案(fng n)論證2 HYPERLINK l _Toc391193034 2.1芯片2 HYPERLINK l _Toc391193036 2.1

2、.1方案構(gòu)思2 HYPERLINK l _Toc391193035 2.2輸入模塊2 HYPERLINK l _Toc391193036 2.2.1方案構(gòu)思2 HYPERLINK l _Toc391193037 2.2.2方案比較與選擇3 HYPERLINK l _Toc391193038 2.3顯示模塊4 HYPERLINK l _Toc391193039 2.3.1方案構(gòu)思4 HYPERLINK l _Toc391193040 2.3.2方案比較與選擇5 HYPERLINK l _Toc391193044 第三章計算器硬件設(shè)計5 HYPERLINK l _Toc391193045 3.1系

3、統(tǒng)組成及硬件框圖5 HYPERLINK l _Toc391193048 3.2元器件簡介5 HYPERLINK l _Toc391193049 3.2.1STC89C52特點5 HYPERLINK l _Toc391193050 3.2.2LCD1602液晶顯示屏11 HYPERLINK l _Toc391193056 第四章計算器設(shè)計原理分析13 HYPERLINK l _Toc391193057 4.1設(shè)計方案的確定 13 HYPERLINK l _Toc391193058 4.2計算器硬件方案及硬件資源分配14 HYPERLINK l _Toc391193059 4.2.1硬件資源分配1

4、4 HYPERLINK l _Toc391193060 4.2.2系統(tǒng)的硬件設(shè)計14 HYPERLINK l _Toc391193065 4.2.3鍵盤電路的設(shè)計15 HYPERLINK l _Toc391193065 4.2.4顯示電路的設(shè)計16 HYPERLINK l _Toc391193069 第五章計算器軟件設(shè)計17 HYPERLINK l _Toc391193070 4.1計算器的軟件(run jin)規(guī)劃17 HYPERLINK l _Toc391193073 4.2主模塊(m kui)的程序設(shè)計17 HYPERLINK l _Toc391193074 4.3顯示(xinsh)模塊

5、的程序設(shè)計18 HYPERLINK l _Toc391193073 4.2鍵盤模塊的程序設(shè)計19 HYPERLINK l _Toc391193083 參考文獻20 HYPERLINK l _Toc391193083 結(jié)束語21附錄一 電路原理圖 HYPERLINK l _Toc391193083 22附錄二 軟件程序 HYPERLINK l _Toc391193083 23附錄三 元件清單 HYPERLINK l _Toc391193083 28緒論(xln)隨著社會的發(fā)展,科學(xué)的進步,人們(rn men)的生活水平在逐步地提高,尤其是微電子技術(shù)的發(fā)展猶如雨后春筍般的變化。電子產(chǎn)品的更新速度快

6、就不足驚奇了。計算器在人們的日常中是比較常見的電子產(chǎn)品之一,如何使計算器技術(shù)更加的成熟,充分利用已有的軟件和硬件條件,設(shè)計出更出色的計算器,使其更好地為各個行業(yè)服務(wù),成了如今電子領(lǐng)域重要的研究課題?,F(xiàn)如今,人們的日常生活中已經(jīng)(y jing)離不開計算器了,社會的各個角落都有它的身影,比如商店、辦公室、學(xué)校因此設(shè)計一款簡單實用的計算器會有很大的實際意義。本設(shè)計旨在進一步掌握單片機理論知識,理解嵌入式單片機系統(tǒng)的硬軟件設(shè)計,加強對實際應(yīng)用系統(tǒng)設(shè)計的能力。通過本設(shè)計的學(xué)習(xí),使我掌握單片機程序設(shè)計和微機接口應(yīng)用的基本方法,并能綜合運用本科階段所學(xué)軟、硬件知識分析實際問題,提高解決畢業(yè)設(shè)計實際問題的能

7、力,為單片機應(yīng)用和開發(fā)打下良好的基礎(chǔ)。對字符液晶顯示模塊的工作原理,如初始化、清屏、顯示、調(diào)用及外特性有較清楚的認識,并會使用LCD(液晶顯示模塊)實現(xiàn)計算結(jié)果的顯示;掌握液晶顯示模塊的驅(qū)動和編程,設(shè)計LCD和單片機的接口電路,以及利用單片機對液晶顯示模塊的驅(qū)動和操作;在充分分析內(nèi)部邏輯的概念,進行軟件和調(diào)試,學(xué)會使用,并能夠以其為平臺設(shè)計出具有四則運算能力簡易計算器的硬件電路和軟件程序。本文結(jié)構(gòu)概述本文主要從方案論證,計算器硬件設(shè)計,計算器設(shè)計原理分析以及計算器軟件設(shè)計進行了概述。方案(fng n)論證芯片(xn pin)方案(fng n)構(gòu)思本設(shè)計中的芯片可以采用STC89C52處理器,配

8、備相應(yīng)的外設(shè)。 單片機是單片微型機的簡稱,故又稱為微控制器MCU(Micro Control Unit)。通常由單塊集成電路芯片組成,內(nèi)部包含有計算機的基本功能部件:中央處理器CPU,存儲器和I/O接口電路等。因此,單片機只要和適當?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。單片機廣泛應(yīng)用于智能產(chǎn)品,智能儀表,測控技術(shù),智能接口等,具有操作簡單、實用方便、價格便宜等優(yōu)點。而其中STC89C52RC是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM-Flash Programable and Erasable Read Only Memory)的低電壓,高性能COMOS8的微處理器

9、。該器件與工業(yè)標準的MCS-51指令集和輸出管腳相兼容;且是單片機中最典型的代表,應(yīng)用于各種控制領(lǐng)域。 從設(shè)計的實用性、方便性和成本等諸多方面考慮,最終選擇了以STC89C52RC單片機作為中央處理單元進行計算器的設(shè)計,這樣設(shè)計能夠?qū)崿F(xiàn)對六位整數(shù)、兩位小數(shù)的加、減、乘、除的四則運算。輸入模塊方案構(gòu)思1、方案一:采用獨立式按鍵作為輸入模塊獨立式按鍵輸入模塊,其特點是:直接用I/O口構(gòu)成單個按鍵電路,接口電路配置靈活、按鍵識別和軟件結(jié)構(gòu)簡單;但是當鍵數(shù)較多時,占用I/O口較多,比較浪費資源。其原理圖如圖1-2-1所示。 圖 2-2-1 獨立的功能按鍵2、方案二:采用矩陣式鍵盤作為輸入模塊矩陣式按鍵

10、輸入模塊,其特點是:電路和軟件稍復(fù)雜,但相比之下,當鍵數(shù)越多時,越節(jié)約I/O口,比較節(jié)省資源。其原理圖如圖1-2-2所示。 圖 2-2-2 矩陣(j zhn)鍵盤輸入方案(fng n)比較與選擇本設(shè)計(shj)中的輸入模塊使用的是矩陣鍵盤輸入。鍵盤輸入預(yù)置用于計算,按鍵較多。若是采用獨立按鍵,需頻繁按鍵,為軟件設(shè)計增加負擔,且操作界面不友好;若是采用矩陣式按鍵,可以方便地輸入一個數(shù)值,使操作界面更具有人性化,且節(jié)約了寶貴的I/O口資源。通過對比,故采用方案二作為系統(tǒng)輸入模塊。顯示模塊方案構(gòu)思1、方案一:采用LED數(shù)碼管靜態(tài)顯示采用LED數(shù)碼管的靜態(tài)顯示,其特點是:其亮度較高;這種顯示方式接口,

11、編程容易且管理簡單;不足的是,占用的I/O的線資源較多。如果采用單片機或CPLD/FPGA來控制的話,勢必存在浪費I/O口資源的問題。如圖1-3-1所示。圖 2-3-1 4位數(shù)碼管靜態(tài)(jngti)顯示2、方案(fng n)二:采用LED數(shù)碼管動態(tài)顯示采用LED數(shù)碼管的動態(tài)顯示,其特點(tdin)是:其亮度比靜態(tài)顯示的亮度要差一些;但其電路比較簡單,適合于顯示位數(shù)較多的情況。如圖1-3-2所示。圖 2-3-2 4位數(shù)碼管的動態(tài)顯示3、方案三:采用LCD1602液晶顯示采用LCD1602液晶顯示,其特點是:可以調(diào)節(jié)其背光亮度,這種顯示方式接口,編程雖然有些麻煩,但管理較方便,占用的I/O口資源線

12、也不多。方案比較與選擇本設(shè)計中的顯示模塊使用的是LCD1602液晶顯示。在計算器運算中,需顯示的數(shù)字、符號較多,按很據(jù)個方面的特點,而后可以發(fā)現(xiàn)LCD液晶顯示,雖然在價格上的確是稍貴于LED數(shù)碼管;但數(shù)碼管在硬件設(shè)計電路中,會因線太多、線路復(fù)雜而過于繁瑣,則舍棄LED數(shù)碼管,選擇LCD液晶顯示。通過對比,故采用方案三作為系統(tǒng)顯示模塊。計算器硬件(yn jin)設(shè)計系統(tǒng)組成及硬件(yn jin)框圖顯示模塊單片機振蕩電路4*4鍵盤模塊 復(fù)位電路 圖3-1-1 系統(tǒng)組成及硬件(yn jin)框圖元器件簡介STC89C52特點1、主要性能:與MCS-51單片機產(chǎn)品兼容;8K字節(jié)在系統(tǒng)可編程Flash

13、存儲器;1000次擦寫周期;全靜態(tài)操作:0Hz-33Hz;三級加密程序存儲器;32個可編程I/O口線、三個16位定時器/計數(shù)器、8個中斷源;全雙工UART串行通信;低功耗空閑和掉電模式,掉電后中斷可喚醒;看門狗定時器;雙數(shù)據(jù)指針;掉電標識符。2、STC89C52的功能特性概述STC89C52是一種低功耗、高性能CMOS 8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,使得(sh de)STC89C5

14、2為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有(jyu)以下標準功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門口定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位(f wi)為止。8位微控制器,8K字節(jié)在系統(tǒng)可編程Flash。同時,該芯片還具有PDI

15、P、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。3、STC89C52RC的引腳功能單片機STC89C52RC為40引腳芯片,見圖3-2-1。圖 3-2-1 STC89C52RC引腳圖口線:P0、P1、P2、P3共四個八位口。P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0不具有內(nèi)部上拉電阻。在Flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1口:P1口是一個具有

16、內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用;作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在Flash編程和校驗時,P1口接收低8位地址字節(jié)。此外,P1.0和P1.1分別作定時器/計數(shù)器2的外部計數(shù)輸入(shr)(P1.0/T2)和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。P2口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出(shch)緩沖器能驅(qū)動4個TTL邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時(c sh)可以作為輸入口使用;作

17、為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR)時,P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(例如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在Flash編程和校驗時,P2口也接收高八位地址字節(jié)和一些控制信號。P3口:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P3輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用;作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將

18、輸出電流(IIL)。P3口亦作為STC89C52特殊功能(第二功能)使用,如表3-2-1所示。在Flash編程和校驗時,P3口也接收一些控制信號。端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(定時/計數(shù)器0)P3.5T1(定時/計數(shù)器1)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)表 3-2-1 STC89C52的P3口第二功能(2)其他引腳說明:RST:復(fù)位輸入。晶振工作時,RST腳持續(xù)2個機器周期高電平將使單片機復(fù)位。看門狗計時完成后,RST腳輸出96個晶振周期的

19、高電平。特殊寄存器AUXR(地址8EH)上的DISRT0位可以使此功能無效。DISRT0默認狀態(tài)下,復(fù)位高電平有效。ALE/PROG:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于所存地址的低八位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間(qjin),該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只要一條MOVX和MOVC指令才能將AL

20、E激活。此外,該引腳會被拉高,單片機執(zhí)行外部程序(chngx)時,應(yīng)設(shè)置ALE禁止位無效。PSEN:程序存儲允許(PSEN)輸出是外部程序存儲器的讀選通信號,當STC89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效(yuxio),即輸出兩個脈沖;在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意是:如果加密LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。XTAL1:反向振蕩放大器

21、的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。 圖3-2-2 晶振外接結(jié)構(gòu)引腳圖XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為1MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz24MHz內(nèi)選擇,在本設(shè)計電路中選用了12MHz。電容取20PF左右。機器周期=12*時間周期,如12MHz的機器周期為1微秒。(3)控制或復(fù)位引腳RESET此腳為高電平時(約2個機器周期)可將單片機復(fù)位。RST/VPD:當出現(xiàn)兩個機器周期高電平時,單片機復(fù)位。

22、復(fù)位后,P0P3輸出高電平;SP寄存器為07H;其它寄存器全部清零;不影響RAM狀態(tài),如圖3-2-3所示。 圖 3-2-3 復(fù)位(f wi)電路4、單片機的現(xiàn)狀及發(fā)展(fzhn)方向單片機是為了(wi le)工業(yè)控制需要滿足而誕生的,是自動控制系統(tǒng)的核心部件,因而也主要用于工業(yè)控制、智能化儀器儀表、家用電器中。它具有體積小、功能多、價格低、使用方便、系統(tǒng)設(shè)計靈活等優(yōu)點。應(yīng)用領(lǐng)域不斷擴大,除了工業(yè)控制、智能化儀表、通訊、家用電器外,在智能化高檔電子玩具產(chǎn)品中也大量采用單片機芯片作為核心控制部件。由于單片機主要面向工業(yè)控制,工作環(huán)境比較惡劣,入高溫,強電磁干擾,甚至含有腐蝕性氣體;在太空中工作的單

23、片機控制系統(tǒng),還必須具有抗輻射能力,這決定了單片機CPU于通用微機CPU具有不同的技術(shù)特征和發(fā)展方向:可靠性高;控制功能往往很強;指令系統(tǒng)比通用微處理器慢得多;X系列芯片取代;抗干擾性強,工作溫度范圍寬。LCD1602液晶顯示屏1、液晶顯示原理液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點,目前已經(jīng)被廣泛應(yīng)用在便攜式計算機、數(shù)字攝像機、PDA移動通信工具等眾多領(lǐng)域。2、LCD1602的應(yīng)用簡介LCD1602液晶顯示器采用HD44780及其兼容芯片作為點陣式LCD的控

24、制器驅(qū)動器,還采用HD44100進行LCD的時分割驅(qū)動。HD44780的內(nèi)部結(jié)構(gòu)主要包括顯示數(shù)據(jù)RAM(DDRAM)、字符發(fā)生器ROM(CGROM)、字符發(fā)生器RAM(CGRAM)、指令寄存器IR、數(shù)據(jù)寄存器DR、地址計數(shù)器AC(Address Counter)和忙標志BF(Busy Flag)等邏輯電路。1602液晶模塊內(nèi)部的控制器共有11條控制指令,豐富的指令可以完成液晶的時序控制、工作方式設(shè)置(shzh)和數(shù)據(jù)顯示等。采用(ciyng)的LCD1602液晶模塊是標準16針插座,接口電路如圖3-2-4所示,及各引腳說明如表3-2-2所示。圖3-2-4 LCD1602的引腳接口(ji ku)

25、電路圖 表 3-2-2 LCD1602的引腳說明(shumng)3、其他(qt)方面簡介DDRAM用來暫存顯示字符的代碼(di m),共80個字節(jié),DDRAM的各個單元對應(yīng)著顯示屏上的各個字符位,如圖3-2-5所示。因此,DDRAM的地址也就意味著顯示字符的地址,顯示字符時首先要向LCD送顯示字符地址。LCD 16字*2行000102030405060708090A0B0C0D0E0F10.27404142434445464748495A5B5C5D5E5F50.67圖 3-2-5 DDRAM單元(dnyun)地址與顯示屏字符位的對應(yīng)關(guān)系4、LCD1602的主要(zhyo)技術(shù)參數(shù):(1)顯示

26、(xinsh)容量為16*2個字符;(2)芯片工作電壓為4.5V-5.5V;(3)工作電流為2.0mA(5.0V);(4)模塊最佳工作電壓為5.0V;(5)字符尺寸為2.95*4.35(W*H)mm。5、LCD的特點:(1)低壓微功耗;(2)平板型結(jié)構(gòu);(3)被動顯示型(無眩光,不刺激人眼,不會引起眼睛疲勞);(4)顯示信息量大(因為像素可以做得很?。?;(5)易于彩色化(在色譜上可以非常準確的復(fù)現(xiàn));(6)無電磁輻射(對人體安全,利于信息保密);(7)長壽命(這種器件幾乎沒有什么劣化問題,因此壽命極長,但是液晶背光壽命 有限,不過背光部分可以更換)。計算器設(shè)計原理分析設(shè)計方案的確定 LISTN

27、UM chapter3 本設(shè)計需要使用LCD液晶顯示屏和編碼鍵盤。故選擇靜態(tài)顯示和用4*4的按鍵鍵盤,使用LCD1602液晶顯示屏來顯示運算過程和運算結(jié)果。主程序進行初始化,其他的程序選擇模塊式的方式。首先對每個模塊進行調(diào)試,當模塊調(diào)試成功后,逐一地加入主程序中,最后完成整個軟件部分的設(shè)計。計算器硬件方案(fng n)及硬件資源分配4.2.1 硬件資源分配(fnpi)主要用到的硬件(yn jin):單片機STC89C52 RC、液晶顯示屏LCD1602 、4*4按鍵鍵盤硬件分配:P1口:作為輸入口,與鍵盤連接,實現(xiàn)數(shù)據(jù)的輸入;P0、P2口:作為輸出口(P2口為高位,P0口為低位),控制LCD液

28、晶顯示屏顯示數(shù)據(jù)的結(jié)果;3、液晶顯示屏LCD1602顯示輸出。4.2.2 系統(tǒng)的硬件設(shè)計為了更好地實現(xiàn)系統(tǒng)的功能,硬件電路的設(shè)計應(yīng)該遵循以下原則:1、優(yōu)化硬件電路采用軟件設(shè)計與硬件設(shè)計相結(jié)合的方法。盡管采用軟件來實現(xiàn)硬件系統(tǒng)的功能時,也許響應(yīng)的時間會比單純使用硬件時長,而且還要占用微處理器(MCU)的時間;但是,用軟件實現(xiàn)硬件的功能可以簡化硬件結(jié)構(gòu),提高電路的可靠性。所以,在設(shè)計本系統(tǒng)的時候,在滿足可靠性和實時性的前提下,盡可能地通過軟件來實現(xiàn)硬件功能。2、可靠性及抗干擾設(shè)計根據(jù)可靠性設(shè)計理論,系統(tǒng)所用芯片數(shù)量越少,系統(tǒng)的平均無故障時間越長。而且,所用芯片數(shù)量越少,地址和數(shù)據(jù)總線在電路板上受干

29、擾的可能性也就越小。因此,系統(tǒng)的設(shè)計思想是在滿足功能的情況下爭取較少數(shù)量的芯片。3、靈活的功能擴展功能擴展是否靈活是衡量一個系統(tǒng)優(yōu)劣的重要指標。一次設(shè)計往往不能完全考慮到系統(tǒng)的各個方面,系統(tǒng)需要不斷完善以及進行功能升級。進行功能擴展時,應(yīng)該在原有設(shè)計的基礎(chǔ)上,通過修改軟件程序和少量硬件完成。對于本系統(tǒng)而言,就是要求在系統(tǒng)硬件不變的情況下,能夠通過修改軟件程序,完成功能的升級和擴展。根據(jù)提出的系統(tǒng)設(shè)計方案,結(jié)合以上三條原則,確定了系統(tǒng)硬件的設(shè)計。計算器主要由以下一些功能模塊組成:非編碼鍵盤模塊、運算模塊(單片機內(nèi)部)、LCD液晶顯示模塊等。該系統(tǒng)的硬件設(shè)計采用了模塊化的設(shè)計方法(fngf)。ST

30、C89C52RC單片機與LCD液晶顯示屏顯示電路是整個電路的核心,它們能實現(xiàn)系統(tǒng)的功能要求。簡易計算器主要包括:鍵盤(jinpn)電路、運算電路、輸出顯示電路。總體(zngt)硬件結(jié)構(gòu)電路圖可見附錄一。前面說明了該系統(tǒng)的設(shè)計,系統(tǒng)采用了比較簡單的設(shè)計方案,所以該系統(tǒng)的硬件設(shè)計的總外圍電路不會產(chǎn)生過多的干擾。下面對系統(tǒng)的外圍電路分別作了說明。鍵盤部分采用4*4按鍵鍵盤,顯示部分采用LCD液晶顯示屏完全能夠很好地實現(xiàn)顯示方面的要求。4.2.3 鍵盤電路的設(shè)計鍵盤可分為兩類:編碼鍵盤和非編碼鍵盤。編碼鍵盤是較多按鍵(20個以上)和專用驅(qū)動芯片的組合;當按下某個按鍵時,它能夠處理按鍵抖動、連擊等問題,

31、直接輸出按鍵的編碼,無需系統(tǒng)軟件干預(yù)。通用計算機使用的鍵盤就是編碼鍵盤。在智能儀器中,使用并行接口芯片8279或串行接口HD7279均可以組成編碼鍵盤,同時還可以兼顧數(shù)碼管的顯示驅(qū)動,其相關(guān)的接口電路和接口軟件均可在芯片資料中得到。當系統(tǒng)功能比較復(fù)雜,按鍵數(shù)量很多時,采用編碼鍵盤可以簡化軟件設(shè)計。非編碼鍵盤成本低廉。從成本角度出發(fā),本設(shè)計選用的是非編碼鍵盤。如圖4-2-1所示。圖 4-2-1 鍵盤電路4.2.4顯示電路的設(shè)計當系統(tǒng)需要顯示少量數(shù)據(jù)時,采用LCD液晶顯示屏進行顯示是一種經(jīng)濟實用的方法。P0口作為液晶顯示的數(shù)據(jù)端口,P2.5-P2.7口作為其控制端口,控制LCD液晶顯示屏顯示輸出數(shù)

32、據(jù)。最終顯示電路如圖4-2-2所示。圖3-2-2 LCD液晶(yjng)顯示屏顯示計算器軟件設(shè)計5.1 計算器的軟件(run jin)規(guī)劃 簡易計算器的程序主要包括(boku)以下功能模塊:讀鍵程序、判鍵程序段、運算操作子程序等部分;基于LCD液晶顯示屏的顯示模塊;主模塊,為系統(tǒng)的初始化。5.2 主模塊的程序設(shè)計主程序主要用來對LCD液晶顯示屏進行初始化的。在考慮主程序編寫之前,先應(yīng)對計算器的運作流程有一個大致的了解,之后依次為依據(jù)畫出大致的流程圖(如圖5-2-1),以便于編寫其主模塊的程序,這樣看來,會比較清晰、更加方便。圖 5-2-1 主程序框圖在主程序中的確不用中斷服務(wù),它其實也屬于一個

33、子程序,是與鍵盤程序有關(guān)(yugun),之后會加以說明。既然是計算器,只要反復(fù)地進行四則運算(s z yn sun),其過程與結(jié)果并在液晶顯示屏上顯示出來。在的程序(chngx)中“write_cmd(0 x80);”,被賦值為“0 x80”,則是根據(jù)圖 3-2-6 DDRAM單元地址與顯示屏字符位的對應(yīng)關(guān)系中便能找到,第一行第一個單元的值為80H,則第二行第一個單元的值就為80H+40H,即得出“write_cmd(0 x80+0 x40);”。4.3 顯示模塊的程序設(shè)計顯示模塊程序首先要對顯示模塊進行初始化;然后控制光標的位置;定義液晶顯示的控制端口,用SBIT指令完成;然后設(shè)置清屏、關(guān)閉

34、顯示、歸位、開顯示、顯示位置的首地址等等。顯示模塊的流程圖如圖5-3-1所示圖 5-3-1 顯示(xinsh)程序框圖通過其顯示子程序,發(fā)現(xiàn)要顯示其最終結(jié)果,就必須先存放第一操作數(shù)、第二操作數(shù),之后(zhhu)來判定使用四則運算中的哪一種運算,其后進行運算處理,最后便能在LCD液晶顯示屏上顯示其最終結(jié)果。4.4 鍵盤模塊(m kui)的程序設(shè)計鍵盤掃描子程序,首先讀出P1口的低四位,然后讀出P1口的高四位。然后鍵值并顯示緩存。而后,將鍵盤上的值轉(zhuǎn)換為ASCII碼,最后就可以用軟件來設(shè)置硬件按鍵各個鍵所代表的內(nèi)容。讀鍵程序使用的是反轉(zhuǎn)法讀鍵,不管鍵盤矩陣的規(guī)模大小,均進行兩次讀鍵。第一次所有行線

35、均輸出低電平,從所有讀入鍵盤信息(列信息);第二次所有列線均輸出低電平,從所有行線讀入鍵盤信息(行信息)。系統(tǒng)中連接的是4*4行列式按鍵鍵盤,其中“0-9”為數(shù)字鍵;“+、-、*、/、=”為符號鍵;“ON/C”為功能鍵(清屏鍵),在程序中會加入一個記憶功能鍵,而與其搭配的硬件按鍵為符號鍵中的“=”,以為求方便。數(shù)字鍵按下則將相應(yīng)的數(shù)字送入數(shù)字緩沖區(qū);符號鍵按下則將送入符號緩沖區(qū);功能鍵按下則執(zhí)行相應(yīng)的程序;最終進行運算后,綜合結(jié)果將送入結(jié)果緩沖區(qū),并在LCD液晶顯示(xinsh)屏上顯示出來。鍵盤模塊(m kui)程序也可相當于一個中斷服務(wù)子程序,如圖5-4-1所示。圖 5-4-1 中斷(zh

36、ngdun)服務(wù)程序框圖 參考文獻胡輝.單片機原理與應(yīng)用.北京:北京水利水電出版社,2007.張友德、趙金英、涂時亮.單片微型計算機原理、應(yīng)用與實驗(第四版)M.上海:復(fù)旦大學(xué)出版社,2003.LCD液晶顯示器./view/863070.htm LED與LCD顯示器的區(qū)別. HYPERLINK /view/57ea20eb172ded630b1cb62b.html /view/57ea20eb172ded630b1cb62b.html單片機的簡易計算器./p-33379291290.html彭傳良.電子計算器鍵盤與單片機的接口技術(shù)及其應(yīng)用J. 氣象水文海洋儀器 ,1999(02):40-44.

37、張慶鋒.計算器LCD顯示屏與單片機的簡單接口J .電子技術(shù)應(yīng)用,1996(02):23-25.結(jié)束語在本次課程設(shè)計中,我學(xué)到了很多很多知識,在這個過程中電路設(shè)計部分一共設(shè)計了超過四個電路,從中不斷設(shè)計不斷否定,最終確定了本電路圖。剛開始時采用4片8255a外擴引腳,但是后來考慮到各方面問題最終否定了;后來又設(shè)計了2個電路,但是考慮到相關(guān)問題又被否定。在硬件的制作過程中,我走了很多彎路。主要是在系統(tǒng)還沒有到設(shè)計完全的時候就開始很心急地買元器件及動手焊板子。后來發(fā)現(xiàn)與設(shè)計的要求還有偏差,而后反復(fù)地改了好幾次,浪費了大量的時間(shjin)和精力。板子按照自己的設(shè)計焊完之后,應(yīng)開始設(shè)計自己的軟件程序

38、了。一開始,本想用匯編語言來編程的,可是當編了一部分之后才發(fā)現(xiàn),用匯編語言來編程的話,相當繁復(fù)(fnf)冗長;之后就想試著用C語言來編程。在圖書館查閱了一些相關(guān)資料后,就開始寫程序。在編寫程序的過程中,發(fā)現(xiàn)硬件居然出現(xiàn)了不少問題。所以,在編寫程序的過程中,也就完善了硬件的設(shè)計。編程時,已充分使用了結(jié)構(gòu)化的思想。這樣一來,因為(yn wi)語句較少,程序調(diào)試也比較方便,功能模塊可以逐一地調(diào)試,充分體現(xiàn)了結(jié)構(gòu)化編程的優(yōu)勢。當每個模塊都完成時,將其功能加到一起就完成了整體的設(shè)計。電路板焊接是由我來完成的,在焊接過程中遇到了大量的問題,其中最大的體會是,仿真軟件中可以實現(xiàn)的在真實電路上不一定可以實現(xiàn),

39、這是我最大的體會,焊接容易,若焊接后無法實現(xiàn)功能這才是最頭痛的事。在購買元件時,不一定每一個元件都是完好的,我買了一塊LCD1602,結(jié)果是壞的,查了好幾天才查出來。個人認為,本次設(shè)計結(jié)果并不重要,重要的是其中的過程。 附錄(fl)一 電路原理圖附錄(fl)二 軟件程序/*/*/#include /包含(bohn)頭文件#include /包含(bohn)庫文件#define uchar unsigned char#define uint unsigned int#includeLCD_1602.h /包含液晶屏顯示文件#include /包含標準函數(shù)庫中的頭文件#include /標準庫頭文件/extern void key_scan(void);以下表示函數(shù)聲明extern void init();extern void LCD_dsp_string(unsigned char X,unsigned char Y,unsigned char *s);extern void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat);extern void write_com(unsigned char com);void ca

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論