單片機(jī)課程設(shè)計(jì)——計(jì)算器設(shè)計(jì)_第1頁(yè)
單片機(jī)課程設(shè)計(jì)——計(jì)算器設(shè)計(jì)_第2頁(yè)
單片機(jī)課程設(shè)計(jì)——計(jì)算器設(shè)計(jì)_第3頁(yè)
單片機(jī)課程設(shè)計(jì)——計(jì)算器設(shè)計(jì)_第4頁(yè)
單片機(jī)課程設(shè)計(jì)——計(jì)算器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、標(biāo)準(zhǔn)實(shí)用文案大全目錄、設(shè)計(jì)總緒2.1.1設(shè)計(jì)思想2.1.2設(shè)計(jì)說(shuō)明3.1.3關(guān)鍵詞:矩陣鍵盤(pán),單片機(jī),數(shù)碼管顯示,匯編語(yǔ)言 31.4設(shè)計(jì)目的3.1.5設(shè)計(jì)要求4.一、設(shè)計(jì)萬(wàn)案5.2.1硬件電路設(shè)計(jì)方案5.2.1.1基本結(jié)構(gòu)5.2.1.2系統(tǒng)框架圖5.2.1.3工作流程圖6.2.1.4單片機(jī)主控制模塊 7.2.2系統(tǒng)功能描述9.三、各模塊功能介紹 1.03.1鍵盤(pán)輸入模塊.103.1.1鍵盤(pán)分布圖103.1.2工作原理1.13.2運(yùn)算控制模塊.1.13.3顯示模塊123.4振蕩電路模塊.13四、仿真電路1.4仿真運(yùn)行結(jié)果 1.4五、調(diào)試過(guò)程總結(jié) 1.7附錄:18參考文獻(xiàn):1.8源程序代碼1.9一

2、、設(shè)計(jì)總緒1.1設(shè)計(jì)思想近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,但僅單片機(jī)方面的知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)、 軟硬件結(jié)合,來(lái)加以完善。計(jì)算機(jī)在人們的日常生活中是比較常見(jiàn)的電子產(chǎn)品之一。可是它還在發(fā)展之中, 以后必將出現(xiàn)功能更加強(qiáng)大的計(jì)算機(jī),基于這樣的理念,本次設(shè)計(jì)是用AT89C51單片機(jī)、LCD顯示器、 控制按鍵為元件來(lái)設(shè)計(jì)的計(jì)算器。利用此設(shè)計(jì)熟悉單片機(jī)微控制器及匯編語(yǔ)言編程,對(duì)其片資源及各個(gè)I/O端口的功能和基本用途的了解。掌握應(yīng)用程序開(kāi)發(fā)環(huán)境,常用的LCD顯示器的

3、使用方法和一般鍵盤(pán)的使用方法此設(shè)計(jì)是基于單片機(jī)技術(shù)的簡(jiǎn)易計(jì)算器的方案,本次設(shè)計(jì)所提出的一種基于單片機(jī)技術(shù)的簡(jiǎn)易計(jì)算器的方案,采用具有數(shù)據(jù)處理能力的中央處理器CPU,隨機(jī)存儲(chǔ)器ROM,多種I/O 口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能集成到一塊 硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)一一單片機(jī),配以匯編語(yǔ)言編寫(xiě)的執(zhí) 行程序,能更好的解決計(jì)算機(jī)計(jì)算的問(wèn)題, 隨著數(shù)字生活的到來(lái),單片機(jī)在生活 中越來(lái)越重要,它能將大量的邏輯功能集成與一個(gè)集成電路中,使用起來(lái)十分方便。1.2設(shè)計(jì)說(shuō)明本次課程設(shè)計(jì)討論了單片機(jī)技術(shù)的計(jì)算器構(gòu)思,設(shè)計(jì)方案,工作原理,主要系統(tǒng)包括單片機(jī)80C51,排阻RESPACK- 8,開(kāi)關(guān),六位

4、數(shù)碼管顯示器等,主 要組成部分包括:鍵盤(pán)輸入模塊,運(yùn)算模塊,控制模塊,顯示模塊。通過(guò)鍵盤(pán)輸 入數(shù)值,單片機(jī)進(jìn)行運(yùn)算后在數(shù)碼管顯示出結(jié)果。1.3關(guān)鍵詞:矩陣鍵盤(pán),單片機(jī),數(shù)碼管顯示,匯編語(yǔ)言1.4設(shè)計(jì)目的通過(guò)本次課程設(shè)計(jì),運(yùn)用單片機(jī)微型計(jì)算機(jī)原理及應(yīng)用所學(xué)到的知識(shí) 及查詢相關(guān)資料,完成簡(jiǎn)易計(jì)算器的設(shè)計(jì),進(jìn)一步提高單片機(jī)的系統(tǒng)設(shè)計(jì)和開(kāi)發(fā) 能力,達(dá)到理論知識(shí)與實(shí)踐更好的結(jié)合,提高綜合運(yùn)用所學(xué)知識(shí)和設(shè)計(jì)能力的目 的。1.5設(shè)計(jì)要求要求設(shè)計(jì)一個(gè)單片機(jī)應(yīng)用系統(tǒng),利用 keil和proteus軟件完成系統(tǒng)軟硬件 的設(shè)計(jì)及模擬調(diào)試。實(shí)現(xiàn)五位數(shù)(可為帶小數(shù)點(diǎn))的加減乘除運(yùn)算,通過(guò)按鍵輸 入十進(jìn)制數(shù)據(jù)。利用六位數(shù)

5、碼管顯示運(yùn)算結(jié)果。 并實(shí)現(xiàn)復(fù)位操作。由于要設(shè)計(jì)的 是簡(jiǎn)單的計(jì)算器,可以進(jìn)行四則運(yùn)算,為了得到教好的顯示效果,采用LCD顯示數(shù)據(jù)和結(jié)果。、另外鍵盤(pán)包括數(shù)字鍵(0-9 )、符號(hào)鍵(+、-、*、/ )、清除鍵 和等號(hào)鍵,故只需要16個(gè)按鍵即可,設(shè)計(jì)中采用集成的計(jì)算機(jī)鍵盤(pán)來(lái),當(dāng)鍵入+、 -、*、/運(yùn)算符,計(jì)算器在內(nèi)部執(zhí)行數(shù)值轉(zhuǎn)換和存儲(chǔ),并等待再次鍵入數(shù)值后將 顯示鍵入的數(shù)值,按等號(hào)就會(huì)在LCD上輸出運(yùn)算結(jié)果,執(zhí)行程序:開(kāi)機(jī)顯示零, 等待鍵入數(shù)值,當(dāng)鍵入數(shù)字,通過(guò) LCD顯示出二、設(shè)計(jì)方案2.1硬件電路設(shè)計(jì)方案2.1.1基本結(jié)構(gòu)計(jì)算器一般由運(yùn)算器、控制器、鍵盤(pán)、顯示器、電源和一些可選外圍設(shè)備及 電子配件

6、通過(guò)人工或機(jī)器設(shè)備組成。 鍵盤(pán)是計(jì)算器的輸入部件,一般采用接觸式 或傳感式。顯示器是計(jì)算器的輸出部件,有發(fā)光二極管顯示器或液晶顯示器等。 除顯示計(jì)算結(jié)果外,還常有溢出指示、錯(cuò)誤指示等。計(jì)算器電源采用交流轉(zhuǎn)換器 或電池。計(jì)算器都采用CMOS工藝制作的大規(guī)模集成電路。本次課程設(shè)計(jì)中我是采用了以 MCS 51系列的單片機(jī)AT89C51單片機(jī) 為核心構(gòu)成的簡(jiǎn)易計(jì)算器。該系統(tǒng)通過(guò)單片機(jī)控制,實(shí)現(xiàn)對(duì) 4*4鍵盤(pán)進(jìn)行實(shí)時(shí) 掃描的按鍵檢測(cè),并把檢測(cè)數(shù)據(jù)存儲(chǔ)下來(lái)。整個(gè)計(jì)算器系統(tǒng)的工作過(guò)程為:首先存儲(chǔ) 單元初始化,顯示初始值和鍵盤(pán)掃描,判斷按鍵位置,查表得出按鍵值,單片機(jī)則對(duì)數(shù)據(jù)進(jìn) 行儲(chǔ)存與相應(yīng)處理轉(zhuǎn)換,之后送入

7、數(shù)碼管動(dòng)態(tài)顯示。整個(gè)系統(tǒng)可分為三個(gè)主要功能模塊:功能模塊一,實(shí)時(shí)鍵盤(pán)掃描;功能模塊二,數(shù)據(jù)轉(zhuǎn)換成顯示器顯示;功能模塊三,計(jì)算控制模 塊。功能模塊四:顯示模塊。2.1.2系統(tǒng)框架圖鍵盤(pán)控制運(yùn)算1圖2.1 系統(tǒng)總體框架圖2.1.3工作流程圖開(kāi)始初始化鍵盤(pán)列掃描數(shù)字鍵有鍵按下顯示復(fù)位鍵記憶對(duì)應(yīng)鍵值1r數(shù)碼管顯示運(yùn)算功能鍵No是其他鍵Yes計(jì)算最后結(jié)果記憶其運(yùn)算符數(shù)碼管顯示圖2.2系統(tǒng)工作流程圖2.1.4單片機(jī)主控制模塊AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM FalshProgrammable and Erasable Read Only Memory )的低電壓,高性

8、能 CMOS8 位微處理器,俗稱單片機(jī)。該器件采用 ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制 造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能 8位CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。主要特性:與MCS-51兼容;4K字節(jié)可編程閃爍存儲(chǔ)器;1000寫(xiě)/擦循;數(shù)據(jù)保留時(shí)間:10年; 全靜態(tài)工作:0HZ-24Hz;三級(jí)程序存儲(chǔ)器鎖定;128*8位內(nèi)部RAM;32可編程I/O 線;兩個(gè)16位定時(shí)器/計(jì)數(shù)器;5個(gè)中斷源;可編程串行通道;低功耗的閑置和掉電 模式;片內(nèi)振蕩器和時(shí)鐘電路74LS

9、245是我們常用的芯片,用來(lái)驅(qū)動(dòng)led或者其他的設(shè)備,它是8路同相 三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)8051單片機(jī)的P0 口總線負(fù)載達(dá)到或超過(guò) P0最大負(fù)載能力時(shí),必須接入 74LS245等總線驅(qū)動(dòng)器。當(dāng)片選端/CE低電平有效時(shí),DIR= “0”信號(hào)由B向A傳輸;(接收)DIR= “ 1 ”信號(hào)由A向B傳輸;(發(fā)送)當(dāng)CE為高電平時(shí),A、B均為 高阻態(tài)。由于P2口始終輸出地址的高8位,接口時(shí)74LS245的三態(tài)控制端1G和2G接 地,P2口與驅(qū)動(dòng)器輸入線對(duì)應(yīng)相連。P0 口與74LS245輸入端相連,E端接地,保 證數(shù)據(jù)線暢通。

10、8051的/RD和/PSEN相與后接DIR,使得RD且PSEN有效時(shí), 74LS245輸入(P0.1D1 ),其它時(shí)間處于輸出(P0.1 D1 )。圖274LS245引腳圖2.2系統(tǒng)功能描述本程序有LCD動(dòng)態(tài)顯示,鍵盤(pán)輸入顯示功能,程序啟動(dòng)時(shí)默認(rèn)為計(jì)算器狀態(tài)(1 )計(jì)算器狀態(tài)下:按“0”“9”,顯示相應(yīng)數(shù)字;按“復(fù)位”,恢復(fù)初始化模式;按“加減乘除”可實(shí)現(xiàn)加減乘除的運(yùn)算功能三、各模塊功能介紹3.1鍵盤(pán)輸入模塊3.1.1鍵盤(pán)分布圖3.1.2工作原理本設(shè)計(jì)采用P3 口作為矩陣鍵盤(pán)輸入口,開(kāi)始工作后,單片機(jī)先對(duì)矩陣鍵盤(pán) 的行進(jìn)行掃描。若無(wú)鍵按下,先使 P3為11110000,然后檢測(cè)外來(lái)輸入,若有

11、輸入,則可使四位的0其中一位置1,即完成了按行號(hào)的輸入。列掃描遠(yuǎn)離同行 掃描相同,不過(guò)P3初始為00001111.檢測(cè)完行號(hào)與列號(hào)后,產(chǎn)生一個(gè)8位二進(jìn) 制碼,即可對(duì)鍵盤(pán)值進(jìn)行輸入。3.2運(yùn)算控制模塊圖3.2計(jì)算器運(yùn)算控制模塊控制模塊控制著數(shù)字錄入,數(shù)字錄入是進(jìn)行計(jì)算的前提,它是將從矩陣鍵盤(pán)上輸入的數(shù)值、運(yùn)算符等錄入單片機(jī)處理器進(jìn)行處理,從而得出運(yùn)算結(jié)果。計(jì)算模塊作為計(jì)算器的核心模塊共有加、減、乘、除四個(gè)部分。其設(shè)計(jì)原理是先將鍵盤(pán)輸入的BCD碼數(shù)字轉(zhuǎn)換為十進(jìn)制數(shù)字,然后再對(duì)其進(jìn)行運(yùn)算。由于最后需要進(jìn)行輸出顯示,所以我們的最終結(jié)果以十進(jìn)制的形式顯示在六位的數(shù)碼顯示管上。3.3顯示模塊圖3.3數(shù)碼管

12、顯示屏本設(shè)計(jì)采用了六位數(shù)碼管,可以顯示0999999 之間的任意整數(shù),由于LED數(shù)碼管有6個(gè),若采用靜態(tài)顯示,則最少需要 48根數(shù)據(jù)線與6根地址線, 這對(duì)只有40個(gè)引腳的單片機(jī)來(lái)說(shuō)是不可能實(shí)現(xiàn)的。所以我采用了動(dòng)態(tài)掃描的顯 示方法。其原理是不同時(shí)刻對(duì)不同位上的數(shù)碼管進(jìn)行選通, 同時(shí)對(duì)其進(jìn)行數(shù)碼輸 出。當(dāng)掃描頻率很高時(shí),將不會(huì)看到數(shù)碼管的閃爍。本設(shè)計(jì)應(yīng)用了定時(shí)器中斷來(lái) 實(shí)現(xiàn)間時(shí)顯示。3.4振蕩電路模塊圖3,.4 振蕩電路振蕩電路如圖所示。圖中晶振的兩端分別接單片機(jī)的19和18腳。時(shí)鐘有內(nèi)部電路產(chǎn)生,定時(shí)器件為石英晶體和電容組成的并聯(lián)諧振回路。3.5起保護(hù)作用模塊圖3.5限流電阻這一排限流電阻,它們

13、的作用是起保護(hù)作用,防止數(shù)碼管的段位被燒壞四、仿真電路n-FFG P佗勺453a<TECF>陽(yáng)口甲切PllZlFTH pijtttT巾 F3ST1 口溯 PH.Ti'Hr?TAE昭甬TI科12乜III p F p P 卩C1 二 1ni 訂即XI叩一ckyeF4加 Pdlffitl 阿曲垃 FQJf戶陽(yáng) 陽(yáng)比加 PQSBS PElSfiM FQTfT1721«315r1*55S00H000p 1FlMHFiMMp 1Zj 2TwTT圖4.1系統(tǒng)電路仿真圖仿真運(yùn)行結(jié)果例如:運(yùn)行23*2時(shí),一次在鍵盤(pán)上輸入數(shù)據(jù)和功能鍵,功能鍵不會(huì)再數(shù)碼管上顯示出來(lái),只會(huì)顯示出輸入的數(shù)

14、據(jù)和運(yùn)行結(jié)果:;CLraiofrUEPDLzmE: 巾刖減 POL血*Oifr 即耐1噲.i轉(zhuǎn) 33*Erjpuz 了川品 raw.怕劉曲rjrzzflSreHJJWT'* 1raFFFi-E*=HSCUHQE3T&T圖4.2輸入數(shù)據(jù)23時(shí)II:強(qiáng)I-HMt-啊-叩丄切FD -inw<n回回口 ,EIJE圖4.3輸入數(shù)據(jù)2HobKTfi.1匚口an=rF=HiaMM_ -ir:FBJlAIIPOLUffiggrawAivpm 創(chuàng)FQI-SKPDI'17rnia'K- &PI E rzziTTT Fjjmrranx:P-* Wirz«MEr

15、 >»-PZSMJ-iIIia圖4.4 計(jì)算23*2的運(yùn)行結(jié)果nd匚r u| =:_,*X*Firms五、調(diào)試過(guò)程總結(jié)開(kāi)始在做這個(gè)單片機(jī)課設(shè)的時(shí)候,感覺(jué)無(wú)從下手,一點(diǎn)頭緒都沒(méi)有。后來(lái)上 網(wǎng)查了好多資料,向?qū)W長(zhǎng)請(qǐng)教。終于功夫不負(fù)有心人,做出了這個(gè)單片機(jī)的課設(shè)。 調(diào)試過(guò)程中也遇到了一些問(wèn)題,先是數(shù)碼管顯示數(shù)據(jù)不完整,經(jīng)過(guò)仔細(xì)檢查發(fā)現(xiàn) 是線路連接的錯(cuò)誤;后來(lái)又遇到計(jì)算時(shí)會(huì)出現(xiàn)運(yùn)算錯(cuò)誤, 經(jīng)過(guò)查找發(fā)現(xiàn)原來(lái)是編 程的問(wèn)題。在利用keil軟件編程的過(guò)程中,會(huì)出現(xiàn)各種各樣的問(wèn)題,有的是由 于粗心而引起的,有的是因?yàn)楦拍钅:鴮?dǎo)致的。再用proteus進(jìn)行仿真時(shí),會(huì)出現(xiàn)的問(wèn)題主要是線路連接問(wèn)題

16、, 可能會(huì)不小心把線連錯(cuò),其他的我覺(jué)得只要 元器件選擇好,各引腳的功能清楚的話一般不會(huì)有太大的問(wèn)題。在這次做課程設(shè)計(jì)的過(guò)程中我深深體會(huì)到了要獨(dú)立完成一個(gè)作品的設(shè)計(jì)是 多么不容易。雖然我做的只是最基礎(chǔ)的,但是從這個(gè)最小的系統(tǒng)中卻是利用了單 片機(jī)的最基礎(chǔ)的功能。在這個(gè)過(guò)程中,我們不僅僅是編程仿真那么簡(jiǎn)單,還需要 有極大的耐心與毅力。設(shè)計(jì)的過(guò)程中會(huì)遇到各種各樣的問(wèn)題,我們應(yīng)該靜下心來(lái) 好好研究,這對(duì)于我們以后的工作也是非常重要的??偟膩?lái)說(shuō),這次課程設(shè)計(jì),一個(gè)禮拜的緊張忙碌終于完成了。 感覺(jué)自己的收 獲還是很多的,無(wú)論是對(duì)專業(yè)知識(shí)的了解還是對(duì)硬件的設(shè)計(jì), 都是需要我們下很 大的功夫去研究的。通過(guò)這次課

17、程設(shè)計(jì),最大的一點(diǎn)體會(huì)是單片機(jī)學(xué)的不夠扎實(shí), 不會(huì)的很多啊,當(dāng)然這次的課程設(shè)計(jì)做計(jì)算器程序用的是匯編語(yǔ)言, 盡管大家都 知道匯編編這個(gè)程序很困難,但還是互相學(xué)習(xí),到處找資料看,問(wèn)同學(xué),所以我 的軟件主程序才能編譯成功,系統(tǒng)才能調(diào)試出結(jié)果。很感謝那些熱心教導(dǎo)我的同 學(xué)和指導(dǎo)我的老師。附錄:參考文獻(xiàn):【1】姜志海、劉連鑫等,單片機(jī)微型計(jì)算機(jī)原理及應(yīng)用 M。北京:電子工 業(yè)出版社,2011【2】周潤(rùn)景,張麗娜?;赑ROTEUS的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真M。 北京:北京航空航天大學(xué)出版社,2006源程序代碼YJEQU50H;結(jié)果存放YJ1EQU51H;中間結(jié)果存放GONGEQU52H;功能鍵存放O

18、RG00H;程序存放的首地址START:MOVR3,#0;初始化顯示為空MOVGONG,#O功能鍵清零MOV32H,#00H;(32H)=00H,存放輸入的數(shù)據(jù)MOV33H,#00H;(33H)=00HMOV34H,#00H;(34H)=00HMLOOP:CALLDISP;調(diào)顯示子程序,call通過(guò)入口地址跳轉(zhuǎn)有返回,返回地址壓入堆棧。WAIT:CALLTESTKEYNEXT1:CJNEA,#1,NEXT2LJMPE1NEXT2:CJNEA,#2,NEXT3LJMPE1NEXT3:CJNEA,#3,NEXT4LJMPE1NEXT4:CJNEA,#4,NEXT5LJMPE1NEXT5:CJNEA

19、,#5,NEXT6LJMPE1NEXT6:CJNEA,#6,NEXT7LJMPE1NEXT7:CJNEA,#7,NEXT8LJMPE1NEXT8:CJNEA,#8,NEXT9LJMPE1NEXT9:CJNEA,#9,NEXT10LJMPE1NEXT10:CJNEA ,#10,NEXT11;判斷是否功能鍵LJMPE2;轉(zhuǎn)功能鍵處理NEXT11:CJNEA,#11,NEXT12LJMPE2NEXT12:CJNEA ,#12, NEXT13LJMPE2NEXT13:CJNEA,#13,NEXT14LJMPE2NEXT14:CJNEA,#14,NEXT15LJMPE2NEXT15:LJMPE3;判斷是

20、否清除鍵E1:CJNE R3,#1,N1;判斷第幾次按鍵,若(R3)不等于(1),則跳轉(zhuǎn)到N1處執(zhí)行LJMPE11N1:CJNER3,#2,N2LJMPE12N2:CJNER3,#3,N3LJMPE13N3:LJMPE3E11:M OVR4,AMOV34H,AMOV33H,#00HMOV32H,#00HLJMPMLOOPE12:MOVR7,AMOVB,#10MOVA,R4MULABADDA,R7MOVR4,AMOV32H,#00HMOV33H,34HMOV34H,R7;為第一個(gè)數(shù)字;為第二個(gè)數(shù)字;為第三個(gè)數(shù)字;第四個(gè)數(shù)字轉(zhuǎn)溢出;輸入值暫存R4;輸入值送顯示緩存;等待再次輸入;個(gè)位數(shù)暫存R7;十

21、位數(shù),輸入的值乘10,即為十位數(shù);輸入值存R4;輸入值送顯示緩存LJMPMLOOPE13: MOV R7,AMOVB,#10MOVA,R4MULABJBOV,E3;輸入溢出ADDA,R7JBCY,E3;輸入溢出MOVR4,AMOV32H,33H;輸入值送顯示緩存MOV33H,34HMOV34H,R7LJMPMLOOPE3:MOVR3,#0;按鍵次數(shù)清零MOVR4,#0;輸入值清零MOVYJ,#0;計(jì)算結(jié)果清零MOVGONG,#O;功能鍵設(shè)為零MOV32H,#00H;顯示清空MOV33H,#00HMOV34H,#00HLJMPMLOOPE2:MOV34H,#00HMOV33H,#00HMOV32

22、H,#00HMOVRO,GONG;與上次功能鍵交換MOVGONG,AMOVA,R0CJNEA,#10,N21;判斷功能鍵LJMPJIA;"+ "N21:CJNEA,#11,N22LJMPJIAN IIIIJN22:CJNEA,#12,N23LJMPCHENGjN23:CJNEA,#13,N24LJMPCHU;"/"N24:CJNEA,#0,N25LJMPFIRST;首次按功能鍵N25:LJMPDENn_n j 一N4:LJMPE3FIRST:MOVYJ,R4;輸入值送結(jié)果MOVR3,#0;按鍵次數(shù)清零LJMPDISP1;結(jié)果處理加法/JIA: MOVA,

23、YJ;上次結(jié)果送累加器ADDA,R4JBCY,N4MOVYJ,AMOVR3,#0LJMPDISP1/減法JIAN:MOVA,YJSUBBA,R4JBCY,N4的值為1,則執(zhí)行轉(zhuǎn)移MOVYJ,AMOVR3,#0LJMPDISP1/乘法/CHENG: MOVA,YJMOVB,AMOVA,R4MULABJBOV,N4MOVYJ,ALJMPDISP1/除法;上次結(jié)果加輸入值溢出;存本次結(jié)果;按鍵次數(shù)清零;上次結(jié)果減輸入值;負(fù)數(shù)溢出,JB位變量條件轉(zhuǎn)移指令,;上次結(jié)果乘輸入值溢出若直接尋址位CHU:MOV A,R4MOV B,AMOV A,YJDIV ABMOV YJ,AMOV R3,#0LJMPDIS

24、P1/等于/;上次結(jié)果除輸入值DEN:MOVR3,#0LJMPDISP1DISP1:MOVB,#10MOVA,YJMOVB,#10MOVA,YJ1DIVABMOVYJ1,AMOVA,BMOV33H,AMOVA,YJ1JZDISP11MOV32H,ADISP11:LJMPMLOOP;十位送顯示緩存;結(jié)果是否為二位數(shù);百位數(shù)送顯示緩存;長(zhǎng)跳轉(zhuǎn)指令DISP:MOV R0,#34HDIR1:MOV DPTR,#SEGTAB;基寄存器DPTR存入輸入的數(shù)據(jù)值MOV A,R0;寄存器間接尋址MOVC A,A+DPTR;基寄存器加變址寄存器間接尋址MOV P0,ACJNE R0,#34H,DIR2SETB P2.0DIR2:CJNE R0,#33H,DIR3SETB P2.1CALL D1MSCLR P2.1;P2.1端口清零DEC RO;減1指令SJMP DIR1DIR3:SETB P2.2CALL D1MSCLR P2.2RETDIMS:MOVR7,#02HDMS:MOVR6,#0F0HDJNZR6,$;減1不為0跳轉(zhuǎn)指令DJNZR7,DMSRETSEGTAB: DBOCOH,0F9H,0A4H,0B0H;0 1 2 3定義字節(jié)DB99H,92H,82H,0F8H;4 5 6 7DB80H

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論