![基于單片機的簡易計算器_第1頁](http://file4.renrendoc.com/view/837309e766b3f218d854de4a73ddff7b/837309e766b3f218d854de4a73ddff7b1.gif)
![基于單片機的簡易計算器_第2頁](http://file4.renrendoc.com/view/837309e766b3f218d854de4a73ddff7b/837309e766b3f218d854de4a73ddff7b2.gif)
![基于單片機的簡易計算器_第3頁](http://file4.renrendoc.com/view/837309e766b3f218d854de4a73ddff7b/837309e766b3f218d854de4a73ddff7b3.gif)
![基于單片機的簡易計算器_第4頁](http://file4.renrendoc.com/view/837309e766b3f218d854de4a73ddff7b/837309e766b3f218d854de4a73ddff7b4.gif)
![基于單片機的簡易計算器_第5頁](http://file4.renrendoc.com/view/837309e766b3f218d854de4a73ddff7b/837309e766b3f218d854de4a73ddff7b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 I摘要工程實踐教學(xué)環(huán)節(jié)是為了學(xué)生能夠更好地鞏固和實踐所學(xué)專業(yè)知識而設(shè)置的,在本次工程實踐中,我以智能化測量控制儀表原理與設(shè)計、MCS-51系列單片微型計算機及其應(yīng)用課程中所學(xué)知識為基礎(chǔ),設(shè)計了簡易計算器。本系統(tǒng)以MCS-51系列中的8051單片機為核心,能夠?qū)崿F(xiàn)兩位數(shù)的四則運算。該系統(tǒng)通過檢測矩陣鍵盤掃描,判斷是否按鍵,經(jīng)數(shù)據(jù)轉(zhuǎn)換把數(shù)值送入數(shù)碼管動態(tài)顯示。本系統(tǒng)的設(shè)計說明重點介紹了如下幾方面的內(nèi)容:1)基于單片機簡易計算器的基本功能,同時對矩陣鍵盤及數(shù)碼管動態(tài)顯示原理進行了簡單的闡述;2)介紹了系統(tǒng)的總體設(shè)計、給出了系統(tǒng)的整體流程框圖,并對其進行了功能模塊劃分及所采用的元器件進行了詳細說明;
2、3)對系統(tǒng)各功能模塊的軟、硬件實現(xiàn)進行了詳細的設(shè)計說明。關(guān)鍵詞:MCS-518051單片機;計算器;加減乘除目錄 目錄第一章緒論TOC o 1-5 h z1.2設(shè)計目的1.1.3設(shè)計任務(wù)1. HYPERLINK l bookmark6 1.4章節(jié)安排說明1. HYPERLINK l bookmark8 第二章計算器系統(tǒng)簡介3 HYPERLINK l bookmark10 2.1單片機發(fā)展現(xiàn)狀3. HYPERLINK l bookmark12 2.2計算器系統(tǒng)現(xiàn)狀4. HYPERLINK l bookmark14 2.3簡易計算器系統(tǒng)簡介4. HYPERLINK l bookmark16 第三章
3、主要器件簡介5 HYPERLINK l bookmark18 MCS-51系列單片機簡介5. HYPERLINK l bookmark20 其它器件簡介8.3.2.1數(shù)碼管顯示8.910矩陣按鍵第四章計算器系統(tǒng)設(shè)計4.1計算器硬件電路設(shè)計1.0計算器程序設(shè)計1.0存儲單元分配1.0主程序設(shè)計1.0數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換子程序1.0數(shù)碼管動態(tài)顯示子程序1.1系統(tǒng)總框圖:1.1程序源代碼:1.24.5硬件連線圖:2.0結(jié)語2.2參考文獻23第一章緒論 第一章緒論1.1課題簡介單片機由于其微小的體積和極低的成本,廣泛的應(yīng)用于家用電器、工業(yè)控制等領(lǐng)域中。在工業(yè)生產(chǎn)中。單片機微型計算機是微型計算機的一個重要
4、分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。本系統(tǒng)就是充分利用了8051芯片的I/O引腳。系統(tǒng)統(tǒng)采用MSC-51系列單片機Intel8051為中心器件來設(shè)計計算器控制器,實現(xiàn)了能根據(jù)實際輸入值顯示并存儲,計算程序則是參照教材。至于位數(shù)和功能,如果有需要可以設(shè)計擴充原系統(tǒng)來實現(xiàn)。1.2設(shè)計目的通過本次工程實踐,運用智能化測量控制儀表原理與設(shè)計、MCS-51系列單片微型計算機及其應(yīng)用所學(xué)知識及查閱相關(guān)資料,完成簡易計算器的設(shè)計,達到理論知識與實踐更好結(jié)合、提高綜合運用所學(xué)知識和設(shè)計能力的目的。通過本次設(shè)計訓(xùn)練,可以使我們在基本思路和基本方法上對基于
5、MCS-51單片機的嵌入式系統(tǒng)設(shè)計有一個比較感性的認識,并具備一定程度的設(shè)計能力。1.3設(shè)計任務(wù)在本次工程實踐中,主要完成如下方面的設(shè)計任務(wù):1)簡要綜述單片機技術(shù)發(fā)展的國內(nèi)外現(xiàn)狀及數(shù)碼管動態(tài)顯示和矩陣鍵盤基本原理;2)掌握MCS-51系列某種產(chǎn)品(例如8051)的最小電路及外圍擴展電路的設(shè)計方法;3)了解單片機數(shù)據(jù)轉(zhuǎn)換功能及工作過程;4)完成主要功能模塊的硬件電路設(shè)計及必要的參數(shù)確定;5)用protues軟件完成原理電路的繪制;6)完成系統(tǒng)設(shè)計說明書。1.4章節(jié)安排說明整個設(shè)計總共分為四個章節(jié),第一章是前言部分,主要介紹了設(shè)計基于單片機簡易計算器的意義、目的及主要內(nèi)容;第二章簡要介紹了單片機
6、發(fā)展的國內(nèi)外現(xiàn)狀及鍵盤掃描,數(shù)據(jù)轉(zhuǎn)換,和動態(tài)顯示原理進行了簡要的說明。第三章是器件簡介,這一部分主要介紹了系統(tǒng)的所用主要器件的選擇。第四章是系統(tǒng)詳細設(shè)計階段,分為硬件設(shè)計和程序設(shè)計。按照程序設(shè)計的各部分實現(xiàn)的功能不同,將整個軟件系統(tǒng)分成了三個塊,并對每一個功能塊所采用的元器件進行了詳細介紹。此外還編寫了主要功能模塊的基本程序,詳盡闡述了各模塊的工作過程。還有總流程圖,源代碼,硬器件鋪線圖。第二章計算器系統(tǒng)簡介 第二章計算器系統(tǒng)簡介2.1單片機發(fā)展現(xiàn)狀單片機的發(fā)展趨勢:低功耗CMOS化;微型單片化;主流與多品種共存;單片機從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有
7、不兼容的,但它們各具特色,互成互補,為單片機的應(yīng)用提供廣闊的天地。縱觀單片機的發(fā)展過程,可以預(yù)示單片機的發(fā)展趨勢,大致有:1)低功耗CMOS化MCS-51系列的8051推出時的功耗達630mW,而現(xiàn)在的單片機普遍都在100mW左右,隨著對單片機功耗要求越來越低,現(xiàn)在的各個單片機制造商基本都采用了CMOS(互補金屬氧化物半導(dǎo)體工藝)。象80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補高密度金屬氧化物半導(dǎo)體工藝)。CMOS雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點,這些特征,更適合于在要求低功耗象電池供電的應(yīng)用場合。所以這
8、種工藝將是今后一段時期單片機發(fā)展的主要途徑。2)微型單片化現(xiàn)在常規(guī)的單片機普遍都是將中央處理器(CPU)、隨機存取數(shù)據(jù)存儲(RAM)、只讀程序存儲器(ROM)、并行和串行通信接口,中斷系統(tǒng)、定時電路、時鐘電路集成在一塊單一的芯片上,增強型的單片機集成了如A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門狗)、有些單片機將LCD(液晶)驅(qū)動電路都集成在單一的芯片上,這樣單片機包含的單元電路就更多,功能就越強大。甚至單片機廠商還可以根據(jù)用戶的要求量身定做,制造出具有自己特色的單片機芯片。此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機除了功能強和功耗低外,還要求其體積要小。現(xiàn)在的許多單片機都
9、具有多種封裝形式,其中SMD(表面封裝)越來越受歡迎,使得由單片機構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。3)主流與多品種共存現(xiàn)在雖然單片機的品種繁多,各具特色,但仍以80C51為核心的單片機占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國臺灣的Winbond系列單片機。所以C8051為核心的單片機占據(jù)了半壁江山。而Microchip公司的PIC精簡指令集(RISC)也有著強勁的發(fā)展勢頭,中國臺灣的HOLTEK公司近年的單片機產(chǎn)量與日俱增,與其低價質(zhì)優(yōu)的優(yōu)勢,占據(jù)一定的市場分額。此外還有MOTOROLA公司的產(chǎn)品,日本幾大公司的專用單片機。在一定的時期內(nèi),這種情形將得
10、以延續(xù),將不存在某個單片機一統(tǒng)天下的壟斷局面,走的是依存互補,相輔相成、共同發(fā)展的道路。2.2計算器系統(tǒng)現(xiàn)狀計算器一般由運算器、控制器、存儲器、鍵盤、顯示器、電源和一些可選外圍設(shè)備及電子配件通過人工或機器設(shè)備組成。低檔計算器的運算器、控制器由數(shù)字邏輯電路實現(xiàn)簡單的串行運算,其隨機存儲器只有一、二個單元,供累加存儲用。高檔計算器由微處理器和只讀存儲器實現(xiàn)各種復(fù)雜的運算程序,有較多的隨機存儲單元以存放輸入程序和數(shù)據(jù)。鍵盤是計算器的輸入部件,一般采用接觸式或傳感式。為減小計算器的尺寸,一鍵常常有多種功能。顯示器是計算器的輸出部件,有發(fā)光二極管顯示器或液晶顯示器等。除顯示計算結(jié)果外,還常有溢出指示、錯
11、誤指示等。計算器電源采用交流轉(zhuǎn)換器或電池,電池可用交流轉(zhuǎn)換器或太陽能轉(zhuǎn)換器再充電。為節(jié)省電能,計算器都采用CMOS工藝制作的大規(guī)模集成電路(見互補金屬-氧化物-半導(dǎo)體集成電路),并在內(nèi)部裝有定時不操作自動斷電電路。計算器可選用的外圍設(shè)備有微型打印機、盒式磁帶機和磁卡機等。2.3簡易計算器系統(tǒng)簡介本計算器是以MCS-51系列8051單片機為核心構(gòu)成的簡易計算器系統(tǒng)。該系統(tǒng)通過單片機控制,實現(xiàn)對4*4鍵盤掃描進行實時的按鍵檢測,并把檢測數(shù)據(jù)存儲下來。整個計算器系統(tǒng)的工作過程為:首先存儲單元初始化,顯示初始值和鍵盤掃描,判斷按鍵位置,查表得出按鍵值,單片機則對數(shù)據(jù)進行儲存與相應(yīng)處理轉(zhuǎn)換,之后送入數(shù)碼
12、管動態(tài)顯示。整個系統(tǒng)可分為三個主要功能模塊:功能模塊一,實時鍵盤掃描;功能模塊二,數(shù)據(jù)轉(zhuǎn)換為了數(shù)碼管顯示;功能模塊三,數(shù)碼管動態(tài)顯示。第三章主要器件簡介 第三章主要器件簡介3.1MCS-51系列單片機簡介8051是MCS-51系列單片機的典型產(chǎn)品,以這一代表性的機型進行系統(tǒng)的講解。8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器:中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮
13、和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM)8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。S051內(nèi)引結(jié)構(gòu)圖3-18051內(nèi)部結(jié)構(gòu)圖程序存儲器(ROM):8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(ROM):8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)
14、口:8051共有4組8位I/O口(P0、Pl、P2或P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8051內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:8051內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使
15、用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結(jié)構(gòu)。下圖是MCS-51系列單片機的內(nèi)部結(jié)構(gòu)示意圖3-2。MCS-51的引腳說明:MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根4組8位共32個I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:MCS-51的引腳說明:Tl/XTAL2XTAL1GKDPl.0P
16、l.1Pl.2Pl.3Pl.4Pl.5Pl.6Pl.7RSTEXD/P3.0TXD/P3.1IHT0/P3.2IHT1/P3.3T0/P3.4M/P3.7PDIPMCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根4組8位共32個I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對這些引腳的功能加以說明:如圖3-3VccPO.0/ADOPO.1/AD1PO.2/AD2PO.3/AD3PO.4/AD4PO.5/AD5PO.6/AD6PO.7/AD7EA/VPP_ALE/PEOGPE
17、SNP2.7/A15P2.&/A14P2.5/A13P2.4/Al2P2.3/A11P2.2/A10P2.1/A3P2.0/A8圖3-3雙列直插式封裝引腳圖Pin9:RESET/V復(fù)位信號復(fù)用腳,當8051通電,時鐘電路開始工作,在RESET引腳上pd出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。8051的復(fù)位方式可以是自動復(fù)位,
18、也可以是手動復(fù)位。此外,RESET/V還是一復(fù)用pd腳,V掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。見下圖cc3-4為兩種復(fù)位方式和兩種時鐘方式:Pin30:ALE/翻當訪問外部程序器時,LE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當作一個時鐘向外輸出。更有一個特點,當訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機是EPROM,在編程其間,際將用于輸入編程脈沖。Pin29:西麗當訪問外部程序存儲器時,此腳輸出負脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P
19、0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/V程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程pp序存儲器,當EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。在編程時,EA/V腳還需加上21V的編程電壓。pp3.2其它器件簡介3.2.1數(shù)碼管顯示在本任務(wù)中用4位數(shù)碼管顯示當前數(shù)值的千,百,十,個,由于數(shù)碼管個數(shù)多,如采用靜態(tài)顯示方式,則占用單片機的I/O口線太多,
20、如果用定時器/計數(shù)器的串行移位寄存器工作方式及外接串入并出移位寄存器74LS164的方式,則電路復(fù)雜。所以,在數(shù)碼管個數(shù)較多時,常采用動態(tài)顯示方式。4位數(shù)碼管的相同段并聯(lián)在一起,由一個8位I/O(P1口)輸出字形碼控制顯示某一字形,每個數(shù)碼管的公共端由另外一個I/O口(P0口)輸出的字位碼控制,即數(shù)碼管顯示的字形是由單片機I/O口輸出的字形碼確定,而哪個數(shù)碼管點亮是由單片機I/O口輸出的字位碼確定的。4個數(shù)碼管分時輪流循環(huán)點亮,在同一時刻只有1個數(shù)碼管點亮,但由于數(shù)碼管具有余輝特性及人眼具有視覺暫留特性,所以適當?shù)剡x取循環(huán)掃描頻率,看上去所有數(shù)碼管是同時點亮的,察覺不出閃爍現(xiàn)象。動態(tài)顯示方式所
21、接數(shù)碼管不能太多,否則會因每個數(shù)碼管所分配的實際導(dǎo)通時間太少,使得數(shù)碼管的亮度不足。在本任務(wù)中,為了簡便,字形碼和字位碼都沒由加驅(qū)動電路,在實際應(yīng)用中應(yīng)加驅(qū)動電路。數(shù)碼管有共陰極和共陽極兩種,對于共陽數(shù)碼管,字形驅(qū)動輸出0有效,字位驅(qū)動輸出1有效;而對于共陰數(shù)碼管則相反,即:字形驅(qū)動輸出1有效,字位驅(qū)動輸出0有效。3.2.2矩陣按鍵鍵盤是單片機系統(tǒng)中最常用的人機對話輸入設(shè)備,用戶通過鍵盤向單片機輸入數(shù)據(jù)或指令。鍵盤控制程序需完成的任務(wù)有:監(jiān)測是否有鍵按下,有鍵按下時,在無硬件去抖的動電路時,應(yīng)用軟件延時方法消除按鍵抖動影響;當有多個鍵同時按下時,只處理一個按鍵,不管一次按鍵持續(xù)多長時間,僅執(zhí)行
22、一次按鍵功能程序。矩陣按鍵掃描程序是一種節(jié)省10口的方法,按鍵數(shù)目越多節(jié)省10口就越可觀,思路:先判斷某一列(行)是否有按鍵按下,再判斷該行(列)是那一只鍵按下。但是,在程序的寫法上,采用了最簡單的方法,使得程序效率最高。本程序中,如果檢測到某鍵按下了,就不再檢測其它的按鍵,這完全能滿足絕大多數(shù)需要,又能節(jié)省大量的CPU時間。本鍵盤掃描程序的優(yōu)點在于:不用專門的按鍵延時程序,提高了CPU效率,也不用中斷來掃描鍵盤,節(jié)省了硬件資源。另外,本鍵盤掃描程序,每次掃描占用CPU時最短,不論有鍵按下或者無鍵按下都可以在很短的時間完成一次掃描。本鍵盤掃描子程序名叫key,每次要掃描時用lcallkey調(diào)用
23、即可。第四章計算器系統(tǒng)設(shè)計 第四章計算器系統(tǒng)設(shè)計4.1計算器硬件電路設(shè)計8051單片機一片,4*4鍵盤一個,4位共陽極的七段數(shù)碼管一個,連線和電阻和開關(guān)若干。8051單片機的P2口作鍵盤口,其中P2.4-P2.7為鍵盤掃描輸出線,P2.0-P2.3為鍵盤掃描輸入線。鍵盤由4*4共16個按鍵組成,10個數(shù)字鍵(由0-9組成)5個運算符號(加減乘除等于)組成,1個清除鍵(作用相當于整體復(fù)位)。4個數(shù)碼管用于顯示當前數(shù)值的千,百,十,個,采用動態(tài)顯示方式,P1口接4個數(shù)碼管的七段,P0口分別接4個數(shù)碼管的公共端,P1口輸出數(shù)碼管的字形碼,P0口輸出數(shù)碼管的字位碼。4.2計算器程序設(shè)計存儲單元分配30
24、H單元:數(shù)值個位顯示單元;31H單元:數(shù)值十位顯示單元;32H單元:數(shù)值百位顯示單元;33H單元:數(shù)值千位顯示單元;23H單元:第一操作數(shù)存儲單元;24H單元:第二操作數(shù)存儲單元;25H單元:鍵值暫存單元;27H單元:清除鍵狀態(tài);34H-37H單元:結(jié)果數(shù)據(jù)轉(zhuǎn)換暫存單元;38H-39H單元:結(jié)果高低8位暫存單元;R5單元:操作數(shù)計數(shù)單元;R4單元:操作數(shù)數(shù)值位數(shù)計數(shù)單元;R3單元:運算符號存儲單元。主程序設(shè)計主程序進行程序中用到的一些存儲單元的初始化,數(shù)值顯示和4*4鍵盤掃描。首先,進行存儲單元初始化,給數(shù)碼管顯示單元30H-33H賦予“0000”字形數(shù)據(jù),將數(shù)值計數(shù)單元,存儲單元,23H-2
25、5H,34H-37H,38H,39H,3AH,3BH,3CH,賦予初值零。之后,調(diào)用鍵盤掃描子程序,和數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換程序,數(shù)碼管動態(tài)顯示子程序。主程序不斷進行鍵盤掃描,數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換子程序和動態(tài)顯示子程序。數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換子程序由于數(shù)值單元存放的是二進制數(shù),而用戶熟悉的是十進制數(shù),所以應(yīng)將數(shù)值單元中的二進制轉(zhuǎn)換為十進制數(shù),即BCD碼。要通過數(shù)碼管顯示出當前數(shù)值,還必須將BCD碼進一步轉(zhuǎn)換為七段碼,轉(zhuǎn)換的最終結(jié)果數(shù)據(jù)存放于顯示緩沖區(qū)30H-33H單元中,其中30H單元存放數(shù)值的個位七段碼,31H單元存放數(shù)值的十位七段碼,32H單元存放數(shù)值的百位七段碼,33H單元存放數(shù)值的千位七段碼。數(shù)
26、碼管動態(tài)顯示子程序本任務(wù)由P1口輸出字形碼,P0口輸出字位碼。先將存放于30H單元的數(shù)值個位七段碼由P1口輸出,同時P0口輸出使數(shù)值個位顯示數(shù)碼管點亮的字位碼。由于采用的是共陽數(shù)碼管,所以只有該位數(shù)碼管對應(yīng)的P0.0為1,其他位P0.1-P0.3位0,點亮延時10MS。然后P1口輸出數(shù)值十位七段碼,P0.1位1,數(shù)值十位數(shù)碼管點亮,延時10MS。接著P1口輸出數(shù)值百位七段碼,P0.2為1,數(shù)值百位數(shù)碼管點亮,延時10MS。最后P1口輸出數(shù)值千位七段碼,P0.3為1,數(shù)值千位數(shù)碼管點亮,延時10MS。4.3系統(tǒng)總框圖:4.4程序源代碼:DISPBUFEQU30HORG0000HSTART:MOV
27、DISPBUF,#0C0HMOVDISPBUF+1,#0C0HMOVDISPBUF+2,#0C0HMOVDISPBUF+3,#0C0HMOV37H,#00HMOV27H,#00HMOV26H,#00HMOV25H,#00HMOV24H,#00HMOV23H,#00HMOVR3,#00HMOVR5,#00HMOVR4,#00HLOOP:LCALLKEYMOVR6,27HCJNER6,#00H,STARTMOVR6,26HCJNER6,#00H,FALCALLCONVFA:LCALLDISPSCANSJMPLOOPKEY:MOVP2,#0FHMOVA,P2ANLA,#0FHCJNEA,#0FH,K
28、10RETK10:JBP2.0,K20;顯示緩沖區(qū)首地址定義;主程序的入口地址;4個數(shù)碼管顯示“0000”字形數(shù)據(jù);數(shù)值初始化;調(diào)用鍵盤掃描子程序;清除鍵判斷;顯示數(shù)據(jù)轉(zhuǎn)換子程序選擇;調(diào)用數(shù)碼管顯示數(shù)據(jù)轉(zhuǎn)換子程序;調(diào)用數(shù)碼管動態(tài)顯示子程序;鍵盤掃描子程序第四章計算器系統(tǒng)設(shè)計第四章計算器系統(tǒng)設(shè)計MOV25H,#8H K21:MOVP2,#0EFH K11:MOVP2,#0EFHJBP2.0,K12CJNER5,#00H,L1MOVR4,#00HINCR5MOVR3,#1HL1:LJMPCENDK12:MOVP2,#0DFHJBP2.0,K13CJNER5,#00H,L2MOVR4,#00HINC
29、R5MOVR3,#2HL2:LJMPCENDK13:MOVP2,#0BFHJBP2.0,K14CJNER5,#00H,L3MOVR4,#00HINCR5MOVR3,#3HL3:LJMPCENDK14:MOVP2,#7FHJBP2.0,KILCJNER5,#00H,L4MOVR4,#00HINCR5MOVR3,#4HKIL:LJMPKENDL4:LJMPCENDK20:JBP2.1,K30JBP2.1,K22LJMPDYUK22:MOVP2,#0DFHJBP2.1,K23MOV25H,#3HLJMPOPRK23:MOVP2,#0BFHJBP2.1,K24MOV25H,#6HLJMPOPRK24:
30、MOVP2,#7FHJBP2.1,cctvMOV25H,#9HLJMPOPRcctv:LJMPKENDK30:JBP2.2,K40K31:MOVP2,#0EFHJBP2.2,K32MOV25H,#0HLJMPOPRK32:MOVP2,#0DFHJBP2.2,K33MOV25H,#2HLJMPOPRK33:MOVP2,#0BFHJBP2.2,K34MOV25H,#5HLJMPOPRK34:MOVP2,#7FHJBP2.2,KEND第四章計算器系統(tǒng)設(shè)計LJMPKEND LJMPOPRK40:JBP2.3,KENDK41:MOVP2,#0EFHJBP2.3,K42INC27HLJMPKENDK42:
31、MOVP2,#0DFHJBP2.3,K43MOV25H,#1HLJMPOPRK43:MOVP2,#0BFHJBP2.3,K44MOV25H,#4HLJMPOPRK44:MOVP2,#7FHJBP2.3,KENDMOV25H,#7HLJMPOPR;鍵值存儲OPR:INCR4CJNER5,#00H,CHANGCJNER4,#2H,KBKZHI:MOVA,20HMOVB,#0AHMULABMOV20H,25HADDA,20HCJNER5,#00H,CZHMOV23H,ALJMPKENDCZH:MOV24H,A第四章計算器系統(tǒng)設(shè)計 KEND:MOVP2,#0FHMOVA,P2ANLA,#0FHCJNE
32、A,#0FH,KENDRETCHANG:CJNER4,#2H,HONGAJMPZHIHONG:JNCCENDINCR5MOV20H,25HMOV24H,25HLJMPCENDKBK:JNCCENDMOV20H,25HMOV23H,25HLJMPCEND;結(jié)果計算DYU:MOVR5,#00HMOVR4,#00HMOV25H,#00HCJNER3,#1H,SMOVA,23HADDA,24HMOV23H,ASJMPCENDS:CJNER3,#2H,S1CLRCMOVA,23HCJNEA,#00H,JIANFAMOV23H,#0EHSJMPCENDJIANFA:SUBBA,24H第四章計算器系統(tǒng)設(shè)計第
33、四章計算器系統(tǒng)設(shè)計MOVCA,A+DPTR MOVB,#0AH MOV23H,ASJMPCENDS1:CJNER3,#3H,S2MOVA,23HMOVB,24HMOVA,23HMULABMOVR6,BCJNER6,#00H,CHENGMOV23H,ASJMPCENDS2:CJNER3,#4,CENDMOVA,24HCJNEA,#00H,ZYMOVA,#00HSJMPCENDZY:MOVA,23HMOVB,24HDIVABMOV23H,ACEND:MOVP2,#0FHMOVA,P2ANLA,#0FHCJNEA,#0FH,CENDRETCHENG:MOVR3,BMOVB,#64HDIVABMOV3
34、6H,AMOVA,BDIVABMOV35H,AMOV34H,BMOVDPTR,#TABLEXIAN:MOVA,34HADDA,#6HMOVB,#0AHDIVABMOV25H,AMOV34H,BMOVA,BMOVCA,A+DPTRMOVDISPBUF,AMOVA,35HADDA,#5HADDA,25HMOVB,#0AHDIVABMOV25H,AMOV35H,BMOVA,BMOVCA,A+DPTRMOVDISPBUF+1,AMOVA,36HADDA,#2HADDA,25HMOVB,#0AHDIVABADDA,37HMOV37H,A第四章計算器系統(tǒng)設(shè)計第四章計算器系統(tǒng)設(shè)計 MOVA,R0 MOVDISPBUF+3,AMOV36H,BMOVA,BMOVCA,A+DPTRMOVDISPBUF+2,ADJNZR6,XIANMOV26H,#1HAJMPCENDCONV:CJN
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代科技在中藥植物油提取中的綠色環(huán)保策略
- 生活用紙設(shè)計新趨勢創(chuàng)新驅(qū)動的消費者體驗升級
- 生態(tài)保護與零碳公園規(guī)劃的融合實踐
- 國慶節(jié)活動方案活動內(nèi)容
- 現(xiàn)代服務(wù)業(yè)的綠色發(fā)展路徑探索
- 小學(xué)勞動教育考核方案
- 2024年五年級英語下冊 Unit 7 Chinese festivals第6課時說課稿 譯林牛津版
- 2024年秋七年級歷史上冊 第14課 溝通中外文明的“絲綢之路”說課稿 新人教版
- Unit 3 My friends Read and write(說課稿)-2024-2025學(xué)年人教PEP版英語四年級上冊
- 3 我不拖拉 第一課時(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治一年級下冊
- 成人腦室外引流護理-中華護理學(xué)會團體 標準
- JGJ106-建筑基樁檢測技術(shù)規(guī)范
- 山東德州市寧津縣2023-2024學(xué)年五年級下學(xué)期期末考試語文試題
- 高技能公共實訓(xùn)基地建設(shè)方案
- 市第一人民醫(yī)院“十四五”發(fā)展規(guī)劃(2020-2025)
- 2024年湖北孝達交通投資有限公司招聘筆試沖刺題(帶答案解析)
- 四年級上冊豎式計算100題及答案
- 小學(xué)英語跨學(xué)科案例設(shè)計
- 初中作業(yè)設(shè)計教師培訓(xùn)
- JTGT F20-2015 公路路面基層施工技術(shù)細則
- 高考滿分作文常見結(jié)構(gòu)
評論
0/150
提交評論