




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于LED的簡易計算器設(shè)計基于LED的簡易計算機設(shè)計目錄TOC\o"1-3"\u摘要 I1.緒論 12.總體方案設(shè)計 13.硬件電路設(shè)計 23.1AT89S52簡介 23.28279芯片簡介 33.3LED數(shù)碼顯示模塊介紹 64.系統(tǒng)軟件設(shè)計 74.1系統(tǒng)軟件介紹 74.2主程序 84.3LED顯示程序設(shè)計 84.4鍵盤控制設(shè)計 115.系統(tǒng)綜合調(diào)試 125.1外部實際線路連接 125.2調(diào)試 136.總結(jié)及課設(shè)體會 147.結(jié)束語 14附錄源程序 16參考文獻 24PAGEXII1.緒論人類進行計算已經(jīng)是一天中必不可少的事情了,所以計算器就自然而然的走進了人們的生活中。最開始的計算器就是用LED數(shù)碼管作為顯示屏,只能進行最原始的四則運算的。后來隨著科技的發(fā)展,計算器的功能越來越健全,什么開方,乘方,甚至連函數(shù)運算也包括了,顯示屏也不再是LED數(shù)碼管了。而本次的課設(shè)題目是基于LED的簡易計算器設(shè)計。通過試驗箱,和軟件相連,能夠?qū)崿F(xiàn)兩位數(shù)四則運算的簡易計算器。2.總體方案設(shè)計本課程設(shè)計通過AT89S52CPU、8279、鍵盤以及LED數(shù)碼顯示管來實現(xiàn)簡易的計算器,主要可以分成兩模塊,分別是8279鍵盤輸入模塊和LED數(shù)碼顯示模塊。8279鍵盤輸入模塊:主要是由8279和2*8鍵盤來完成。8279所控制的鍵盤第一行的8列和第二行的前兩列這10個鍵盤分別代表的是數(shù)字0~9這是個數(shù)字,第二行的后六列分別代表“+”“-”“*”“/”“=”和“C”LED數(shù)碼顯示管模塊:只要是有數(shù)碼顯示管來完成對按鍵值的顯示,后兩位顯示要進行運算的兩個二位的十進制數(shù)第二位是用來顯示運算符號,因為條件有限只能用“A”“b”“C”“d”分別代替“+”“-”“*”“/”。按等號之后顯示出計算結(jié)果,按復(fù)位后全部清0。從而完成實驗要求。圖1總體設(shè)計框圖3.硬件電路設(shè)計基于LED的簡易計算器的實現(xiàn)需要以硬件為基礎(chǔ),通過AT89S52CPU和8279鍵盤以及LED數(shù)碼顯示管連接電路,在計算機方面需要用匯編語言編輯程序,軟件與硬件結(jié)合,來實現(xiàn)兩位十進制數(shù)的四則運算。本課程設(shè)計通過AT89S52CPU和8279鍵盤以及LED數(shù)碼顯示管來實現(xiàn)簡易計算器設(shè)計,主要可以分成兩模塊,分別為8279鍵盤輸入模塊,LED數(shù)碼顯示模塊8279鍵盤輸入模塊:主要是由8279和2*8鍵盤來完成。8279所控制的鍵盤第一行的8列和第二行的前兩列這10個鍵盤分別代表的是數(shù)字0~9這是個數(shù)字,第二行的后六列分別代表“+”“-”“*”“/”“=”和“C”在計算機上,對軟件程序進行編譯,內(nèi)部軟件程序功能完全實現(xiàn)的基礎(chǔ)上,通過按動8279的按鍵,來實現(xiàn)LED數(shù)碼管上的顯示。第一個按下的數(shù)作為答案前輸入的兩位數(shù)的十位,第二次按下的數(shù)作為個位,現(xiàn)實與數(shù)碼管上。LED數(shù)碼顯示管模塊:只要是有數(shù)碼顯示管來完成對按鍵值的顯示,后兩位顯示要進行運算的兩個二位的十進制數(shù)第二位是用來顯示運算符號,因為條件有限只能用“A”“b”“C”“d”分別代替“+”“-”“*”“/”。按等號之后顯示出計算結(jié)果,按復(fù)位后全部顯示為0。3.1AT89S52簡介AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。使用AT89S52高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。按照功能,AT89S52的引腳可分為電源、外界晶體振蕩器、多功能I/O口、控制和復(fù)位等。MCS-51器件有單獨的程序存儲器和數(shù)據(jù)存儲器。外部程序存儲器和數(shù)據(jù)存儲器都可以64K尋址。程序存儲器:如果EA引腳接地,程序讀取只從外部存儲器開始。對于89S52,如果EA接VCC,程序讀寫先從內(nèi)部存儲器(地址為0000H~1FFFH)開始,接著從外部尋址,尋址地址為:2000H~FFFFH。數(shù)據(jù)存儲器:AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當一條指令訪問高于7FH的地址時,尋址方式?jīng)Q定CPU訪問高128字節(jié)RAM還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR)。3.28279芯片簡介8279是一種可編程鍵盤/顯示器接口芯片,它含有鍵盤輸入和顯示器輸出兩種功能。鍵盤輸入時,它提供自動掃描,能與鍵盤或傳感器組成的矩陣相連,接收輸入信息。它能自動消除開關(guān)抖動并能對多鍵同時按下提供保護。顯示輸出時,它有一個16×8位顯示RAM,其內(nèi)容通過自動掃描,可由8或16位LED數(shù)碼管顯示。芯片引腳圖如圖二所示。圖28279芯片圖引腳圖本課設(shè)需要用到CPU模塊(F3區(qū))、8279鍵盤與顯示模塊(E7區(qū))。系統(tǒng)各跳線器處在初始設(shè)置狀態(tài),S11E和S12E紅開關(guān)全部打到上方(ON)。具體芯片圖如圖3所示。8279對鍵盤和顯示器進行自動掃描,充分地提高CPU的工作效率。Intel8279芯片是一種通用的可編程鍵盤顯示器接口器件,單個芯片就能完成鍵盤輸入和八段顯示器顯示控制兩種功能。循環(huán)判斷按鍵是否被按下,按下就響應(yīng)相應(yīng)的程序,按鍵未被按下則等待。8279工作方式命令控制字格式如下:000D1D0K2K1K0其中000為該命令字控制字標示符。D1D0為顯示方式控制位。K2K1K0為鍵盤方式控制位。內(nèi)部時鐘命令控制字格式如下:001P4P3P2P1P0其中010為該命令字標志位。P4P3P2P1P0為CLK引腳輸入脈沖分頻數(shù),對于不同的CLK輸入脈沖頻率適當選擇設(shè)置P4-P0的值,以期得到掃描和去抖動所需的100KHZ定時信號。讀取鍵值命名控制字格式如下:010AIXA2A1A0其中010為命令控制字標識符。A2A1A0為傳感器緩沖器行地址。在掃描方式下,設(shè)置本命令控制字以后,對8279數(shù)據(jù)的讀操作可以得到當前的鍵值。具體芯片圖如圖3所示,鍵盤控制如圖4所示,控制原理圖如圖5所示。圖38279鍵盤控制與顯示圖圖48279鍵盤控制圖58279顯示控制3.3LED數(shù)碼顯示模塊介紹數(shù)碼顯示管模塊是用來顯示按鍵按出的值與計算結(jié)果的值的。數(shù)字經(jīng)過CPU的計算得出結(jié)果后再傳回顯示在數(shù)碼管上。顯示管電路圖如圖6所示。圖6LED數(shù)碼顯示管原理圖4.系統(tǒng)軟件設(shè)計4.1系統(tǒng)軟件介紹本次的課設(shè)設(shè)計所運用的是匯編語言。匯編語言是面向機器的程序設(shè)計語言。在匯編語合中,用助記符代替操作碼,用地址符號或標號代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。于是匯編語言亦稱為符號語言。使用匯編語言編寫的程序,機器不能直接識別,要由一種程序?qū)R編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語言處理系統(tǒng)軟件。匯編程序把匯編語言翻譯成機器語言的過程稱為匯編。匯編語言直接同計算機的底層軟件甚至硬件進行交互,它具有如下一些優(yōu)點:(1)能夠直接訪問與硬件相關(guān)的存儲器或I/O端口;(2)能夠不受編譯器的限制,對生成的二進制代碼進行完全的控制;(3)能夠?qū)﹃P(guān)鍵代碼進行更準確的控制,避免因線程共同訪問或者硬件設(shè)備共享引起的死鎖;(4)能夠根據(jù)特定的應(yīng)用對代碼做最佳的優(yōu)化,提高運行速度;(5)能夠最大限度地發(fā)揮硬件的功能同時還應(yīng)該認識到,匯編語言是一種層次非常低的語言,它僅僅高于直接手工編寫二進制的機器指令碼,因此不可避免地存在一些缺點:(1)編寫的代碼非常難懂,不好維護;(2)很容易產(chǎn)生bug,難于調(diào)試;(3)只能針對特定的體系結(jié)構(gòu)和處理器進行優(yōu)化;(4)開發(fā)效率很低,時間長且單調(diào)。4.2主程序圖7主程序流程圖課程設(shè)計的要求是對有鍵盤輸入的兩個兩位的十進制數(shù)進行基礎(chǔ)的四則運算4.3LED顯示程序設(shè)計LED顯示器由七段發(fā)光二極管組成,排列成8字形狀,因此也成為七段LED顯示器,器排列形狀如下圖所示:為了顯示數(shù)字或符號,要為LED顯示器提供代碼,即字形代碼。七段發(fā)光二極管,再加上一個小數(shù)點位,共計8段,因此提供的字形代碼的長度正好是一個字節(jié)。簡易計算器用到的數(shù)字0~9的共陰極字形代碼如下表:0~9七段數(shù)碼管共陰級字形代碼顯示字型Gfedcba段碼001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fh圖8LED數(shù)碼管顯示流程圖4.4鍵盤控制設(shè)計圖9鍵盤控制圖設(shè)置8279的工作方式以及鍵盤掃描速率,然后判斷是否有按鍵按下,如有按鍵,就跳到相應(yīng)的子程序,執(zhí)行完畢后繼續(xù)判斷,如果沒有則等待鍵盤輸入。在本次課程設(shè)計中,8279的初始化程序段如下:Z8279EQU239HD8279EQU238HLEDMODEQU80H;右邊輸入,八位顯示外部譯碼八位顯示LEDFEQEQU29H;掃描頻率LEDCLSEQU0D1H;清除CODESEGMENTASSUMECS:CODE,DS:CODESTART:;初始化 PUSHCS POPDS MOVDX,Z8279 MOVAL,LEDMOD;置8279工作方式 OUTDX,AL MOVAL,LEDFEQ;置鍵盤掃描速率 OUTDX,AL MOVAL,LEDCLS;清除LED顯示 OUTDX,AL MOVAL,90H OUTDX,AL MOV DX,D8279 MOVAL,40H OUTDX,AL MOVDX,D8279 MOVAL,40H OUTDX,AL MOVAL,00H OUTDX,AL MOVAL,0EFH OUTDX,AL MOVAL,27H OUTDX,AL MOVAL,5BH OUTDX,AL MOVAL,7FH OUTDX,AL NOP MOVDX,Z8279 MOVAL,0C2H OUTDX,AL;置空FIFO寄存器5.系統(tǒng)綜合調(diào)試5.1外部實際線路連接1.系統(tǒng)各跳線器處在初始設(shè)置狀態(tài),S11E和S12E紅開關(guān)全部打到下方(OFF)2.用8位數(shù)據(jù)線對應(yīng)連接8255模塊的JD3C(PA口)、JD4C(PB口)、JD5C(PC口)到8279模塊的JD3E、JD2E、JD4E;3.用導(dǎo)線連接8255模塊的CS_8255到地。具體連線如圖9所示圖10實物連線圖5.2調(diào)試開始計算乘法的時候當結(jié)果超過256時數(shù)碼管就不能顯示出來正確的結(jié)果,因為一個寄存器里只能存放的最大的數(shù)就是256,當超過了這個寄存器所能儲存的最大值時,超過的部分就會存入到寄存器B中,兒寄存器B中的是讀不出來的。后來通過中間轉(zhuǎn)換,可以把超過寄存器的部分轉(zhuǎn)換成機器能夠存放的數(shù)值,最后再通過解碼顯示出來。解決了乘法結(jié)果超過256的顯示問題。解決后得出的99*99=9801的顯示如圖11所示。圖11計算顯示圖6.總結(jié)及課設(shè)體會經(jīng)過多次的連接和調(diào)試以及軟件硬件的結(jié)合使用,簡易計算器的課程設(shè)計完全實現(xiàn)。兩位十進制數(shù)的簡單四則運算。運算的非常準確。同時,通過這次課程設(shè)計,也大大提高了對單片機的興趣,對以后的繼續(xù)學習也很有幫助。但是這個課程設(shè)計也有可以提高的地方。就是在運算結(jié)果的精確度方面尤其是除法還不能精準到小數(shù)點以后。這是本次課程設(shè)計的一個瑕疵,當然也是對以后的努力埋下一個伏筆。7.結(jié)束語本次《基于LED的簡易計算器設(shè)計》課程設(shè)計設(shè)計實現(xiàn)在硬件與軟件結(jié)合的基礎(chǔ)上。實現(xiàn)了課程設(shè)計的所有要求。在設(shè)計過程中,通過查閱大量有關(guān)資料,與同學交流經(jīng)驗和自學,并向老師請教等方式,使自己學到了不少知識,加深了對單片機課程的理解?!秵纹瑱C原理接口技術(shù)及應(yīng)用》這門科目融入了課堂教學和實踐教學,可以把抽象的理論知識通過實驗簡單化、形象化,許多實際中不易接觸到的儀器,芯片可以很方便地從實驗室選用,讓學生感受到實際動手操作的快樂,從而激發(fā)學習興趣和主動性??傊?,隨著學院教學建設(shè)的不斷完善,《單片機原理接口技術(shù)及應(yīng)用》一定能夠在以后的計算機課程教學改革中發(fā)揮更大的作用。通過本次課程設(shè)計,我們可以很清楚地看到按鍵所要表示的數(shù)字,基本可以達到本次課程設(shè)計的目的。計算機的功能決不僅此而已,要想應(yīng)用好計算機的一切性能,必須要多鉆研、多學、多用。這次課程設(shè)計還讓我明白了“實踐是檢驗真理的唯一標準”,明白了相互之間的知識交流的重要性,充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。同時,在實際連電路板的過程中,遇到的問題更多,連線的過程是一個讓人思考的過程,也是熟悉各種元器件工作方法和實踐動手的好機會,而且還是一個非常細致的工作。順著原理圖依次排查,出現(xiàn)問題,想出各種可能的情況,分析解決。經(jīng)過不懈的努力最后終于可以實現(xiàn)簡單的二進制數(shù)的四則運算了。時光飛逝,一轉(zhuǎn)眼,課設(shè)進入了尾聲了,本學期的課設(shè)也在兩周內(nèi)完成了。說這次課設(shè),我認為最重要的就是軟件程序與硬件實驗箱的結(jié)合以及認真的研究老師給的題目。其次,老師的講解要認真的去聽去想,因為只有都明白了,做起事來就會事半功倍,如果沒弄明白,就迷迷糊糊的去做,到頭來一點收獲也沒有。相信這次經(jīng)驗會為我的將來帶來很大的幫助。附錄源程序D8255AEQU8000H;8255PA口地址D8255BEQU8001H;8255PB口地址D8255CEQU8002H;8255PC口地址D8255EQU8003H;8255狀態(tài)/命令口地址LEDBUFEQU50H;顯示緩存KEYVALEQU60H;讀到的鍵碼Data1EQU70H ;讀到的值1Data2EQU 71H ;讀到的值2Dizhi1EQU 72H ;算法地址1部分Dizhi2EQU 73H ;算法地址2部分TEMP1EQU74HTEMP2EQU75HNUM EQU76HTEMPMEQU77H;ORG0000HLJMPSTARTORG0100HRD_KB:;鍵盤掃描MOVA,#02H;掃描第一行MOVDPTR,#D8255CMOVX@DPTR,AMOVDPTR,#D8255AMOVX A,@DPTR ;返回第一行的值MOVR1,#00H ;R1存儲鍵碼初始值CJNEA,#0FFH,KEYCAL;判鍵是否按下MOVA,#01H;掃描第二行MOVDPTR,#D8255CMOVX@DPTR,AMOVDPTR,#D8255AMOVX A,@DPTRMOVR1,#08H ;R1存儲鍵碼初始值CJNE A,#0FFH,KEYCALSJMPNOKEY;無鍵按下KEYCAL:MOVR0,#08H;計算鍵碼SHIFT:RRCA ;把A中最右一位放入CY中JNCTORET ;CY為零時跳轉(zhuǎn)INCR1DJNZ R0,SHIFTSJMP NOKEY;無鍵按下TORET:MOVKEYVAL,R1 ;KEYVAL儲存計算后的鍵碼RETNOKEY:MOVKEYVAL,#0FFH;返回無鍵標志RETDisplayLED:MOVR0,#LEDBUFMOVR1,#8;共2個八段管MOVR2,#00000000B;從右邊開始顯示Loop:MOVDPTR,#D8255C ;8255C連接數(shù)碼管的片選MOVA,#0MOVX@DPTR,A;關(guān)所有八段管MOVA,R2RLARLARLAANL A,#11111011BINCR2MOVDPTR,#D8255C ;8255C連接數(shù)碼管的片選MOVX@DPTR,AMOVA,@R0 ;開始輸入數(shù)碼管的片選和數(shù)碼管中的位選MOVDPTR,#D8255B ;8255B連接數(shù)碼管中的位選MOVX@DPTR,A ;顯示一位八段管MOVR6,#1INCR0 ;切換下一位要顯示的數(shù)據(jù)ACALLDelayDJNZR1,LoopRETSTART:MOVSP,#80HMOVDPTR,#D8255MOVA,#90H;方式0,PB,PC口輸出,PA口輸入MOVX@DPTR,AMOVR3,#00H;清零MOVR4,#00HMOVR5,#00HMOVR6,#00HMOVR7,#00HMOVdata1,#00HMOVdata2,#00HMOVdizhi1,#00HMOVdizhi2,#00MOVLEDBUF,#00HMOVLEDBUF+1,#00HMOVLEDBUF+2,#00HMOVLEDBUF+3,#00HMOVLEDBUF+4,#00HMOVLEDBUF+5,#00HMOVLEDBUF+6,#00HMOVLEDBUF+7,#00HMOVTEMP1,#00HMOVTEMP2,#00HMLoop:LCALLDisplayLED ;顯示LCALLRD_KB ;有鍵入?MOV \A,KEYVALCJNEA,#0FFH,GetKey ;比較不相等,跳轉(zhuǎn);相等,繼續(xù)顯示SJMPMloopGetKey: MOV DPTR,#KeyTable ;鍵碼查表MOVA,KEYVALMOVCA,@A+DPTRJiSuan:MOVR3,ACJNER3,#0FH,Qita;判斷是否為清零鍵?QINGCHU:MOVR3,#00H;清零MOVR4,#00HMOVR5,#00HMOVR6,#00HMOVR7,#00HMOVdata1,#00HMOVdata2,#00HMOVdizhi1,#00HMOVdizhi2,#00HMOVLEDBUF,#00HMOVLEDBUF+1,#00HMOV LEDBUF+2,#00HMOVLEDBUF+3,#00HMOVLEDBUF+4,#00HMOVLEDBUF+5,#00HMOVLEDBUF+6,#00HMOVLEDBUF+7,#00HMOVTEMP1,#00HMOVTEMP2,#00HLJMPMLoopQita: CLRCCJNER3,#0AH,follow;判斷是數(shù)字鍵還是功能鍵?follow:JCShuziLJMPGnShuzi:MOVA,R4;判斷是否已有運算符輸入,沒有就將數(shù)值存在data1,有就將數(shù)值存在data2 JNZShuzi2 ;A不為0,跳轉(zhuǎn) MOVA,TEMP1 CJNEA,#00H,NEXT2NEXT1:MOVA,R3MOVB,#10MULABMOVdata1,AMOVTEMP1,#01HLCALLDelay ;加延時的目的是不連續(xù)讀入鍵盤上的值LJMP XianShi;顯示第一次輸入的數(shù)值NEXT2: MOVA,TEMP1 CJNEA,#01H,MLoop MOVA,data1 ADDA,R3 MOVdata1,A MOVTEMP1,#02H LCALLDelay LJMPXianShiShuzi2: MOVA,TEMP2 CJNEA,#00H,NEXT4NEXT3: MOVA,R3MOVB,#10MULABMOVdata2,AMOVTEMP2,#01HLCALLDelayLJMPXianShi;顯示第二次輸入的數(shù)值NEXT4: MOVA,TEMP2 CJNEA,#01H,TIAO MOVA,data2 ADDA,R3 MOVdata2,A MOVTEMP2,#02H LCALLDelay LJMPXianShiTIAO: LJMPMLoopGn:MOVR4,#01H;將01h給r4,說明已有運算符輸入MOVLEDBUF,#3FHMOVLEDBUF+1,#3FHCJNER3,#0EH,Ja;判斷鍵值是否為"=",不相等說明是"="MOVR4,#00H;將r4清零MOVR5,#00HMOVR6,#00HMOVR7,#00HMOVTEMP1,#00HMOVTEMP2,#00HMOVR3,#0MOVA,dizhi1;執(zhí)行"="MOVdph,AMOVA,dizhi2MOVdpl,AMOVA,#00hJMP@A+DPTR ;轉(zhuǎn)到本次輸入的算法程序Ja:CJNER3,#0AH,Jn;若鍵值為"+"則將"+"的程序首地址存在dizhi1和dizhi2中MOVDPTR,#JiaMOVA,dphMOVdizhi1,AMOVA,dplMOVdizhi2,AMOVDPTR,#LEDSEGMOVA,R3MOVCA,@A+DPTRMOV LEDBUF+6,A ;符號的顯示的位置LJMPMLoopJn:CJNER3,#0Bh,Ce;若鍵值為"-"則將"-"的程序首地址存dizhi1和dizhi2中MOVDPTR,#JianMOVA,dphMOVdizhi1,AMOVA,dplMOVdizhi2,AMOV DPTR,#LEDSEGMOV A,R3MOVCA,@A+DPTRMOV LEDBUF+6,A ;符號的顯示的位置LJMPMLoopCe:CJNER3,#0Ch,Cu;若鍵值為"*"則將"*"的程序首地址存在dizhi1和dizhi2中MOVDPTR,#ChengMOVA,dphMOVdizhi1,AMOVA,dplMOVdizhi2,AMOV DPTR,#LEDSEGMOV A,R3MOVCA,@A+DPTRMOV LEDBUF+6,A ;符號的顯示的位置LJMPMLoopCu:CJNER3,#0Dh,Zhuan;若鍵值為"/"則將"/"的程序首地址存在dizhi1和dizhi2中MOVDPTR,#chuMOVA,dphMOVdizhi1,AMOVA,dplMOVdizhi2,AMOV DPTR,#LEDSEGMOV A,R3MOVCA,@A+DPTRMOV LEDBUF+6,A ;符號的顯示的位置Zhuan:LJMPMLoopJia:MOVA,data1;加法程序ADDA,data2LJMPXianShiJian:MOVA,data1;減法程序SUBBA,data2LJMPXianShiCheng:MOVA,data1;乘法程序MOVB,data2MULABLJMPxianshiMChu:MOVA,data1;除法程序MOVB,data2DIV ABXianShi: MOVR0,#LEDBUF MOVB,#10;顯示個位數(shù)字DIVABMOVR5,A ;整數(shù)位傳遞給R5MOVA,B MOVDPTR,#LEDSEGMOVCA,@A+DPTRMOV@R0,AMOVA,R5First:CJNEA,#0,NextLJMPMLoop;運算完后繼續(xù)掃描鍵盤Next: INCR0MOVB,#10;顯示十位數(shù)字DIVAB ;A里存的值是Xianshi運算中R5(既整數(shù))的值MOVR5,A MOVA,BMOVDPTR,#LEDSEGMOVCA,@A+DPTRMOV@R0,AMOVA,R5LJMPFirstXianShiM: MOVR7,A;低字節(jié)進TEMP1(49) MOVA,B JZfanhui MOVR6,A;把高字節(jié)放入TEMP2(26) LCALLHB2;調(diào)用轉(zhuǎn)換程序,轉(zhuǎn)換后在r4,r5中(9801)高字節(jié)在前 MOVA,R4 ;進行拆分 ANL A,#0F0H ;屏蔽低半字
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 以妙心禪意重塑靖江孤山寺景區(qū):環(huán)境優(yōu)化提升設(shè)計探索
- 幼兒園語言表達教育活動計劃
- 疫情結(jié)束后班主任班級綜合素質(zhì)提升計劃
- 2025屆陜西省興平市西郊中學化學高一下期末綜合測試模擬試題含解析
- 2025年語文老師工作年度辭職報告模版(二)
- 2025年中國普通PPR管行業(yè)發(fā)展?jié)摿︻A(yù)測及投資戰(zhàn)略研究報告
- 浙江省麗水市2025年化學高一下期末質(zhì)量檢測模擬試題含解析
- 2022-2027年中國冷凍調(diào)理食品行業(yè)運行態(tài)勢及未來發(fā)展趨勢預(yù)測報告
- 凍糕行業(yè)深度研究分析報告(2024-2030版)
- 中國推入式鉚釘行業(yè)市場規(guī)模及投資前景預(yù)測分析報告
- 2024年汽車維修工技能理論考試題庫含答案(滿分必刷)
- 腸息肉病人護理查房
- 2025年云南紅河弘毅農(nóng)業(yè)發(fā)展限責任公司第一批員工招聘10人自考難、易點模擬試卷(共500題附帶答案詳解)
- 林下中藥材種植項目可行性研究報告
- 汽車4s店管理制度
- 電腦常見故障維修與電腦保養(yǎng)課件
- 電商平臺商家入駐流程及風險控制標準
- 2025-2030年中國聚碳酸酯板(陽光板)行業(yè)發(fā)展格局及投資前景規(guī)劃研究報告
- 2025年中國家居服行業(yè)市場深度分析及發(fā)展前景預(yù)測報告
- 創(chuàng)新發(fā)展研學旅游的執(zhí)行路徑與策略
- DB51T 1777-2014 中學數(shù)字化實驗室建設(shè)規(guī)范
評論
0/150
提交評論