單片機(jī)課程設(shè)計(jì)報(bào)告-計(jì)算器設(shè)計(jì)_第1頁
單片機(jī)課程設(shè)計(jì)報(bào)告-計(jì)算器設(shè)計(jì)_第2頁
單片機(jī)課程設(shè)計(jì)報(bào)告-計(jì)算器設(shè)計(jì)_第3頁
單片機(jī)課程設(shè)計(jì)報(bào)告-計(jì)算器設(shè)計(jì)_第4頁
單片機(jī)課程設(shè)計(jì)報(bào)告-計(jì)算器設(shè)計(jì)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、-. z 目錄TOC o 1-3 h u HYPERLINK l _Toc27271 一、設(shè)計(jì)總緒 PAGEREF _Toc27271 2 HYPERLINK l _Toc2298 1.1設(shè)計(jì)思想 PAGEREF _Toc2298 2 HYPERLINK l _Toc17086 1.2設(shè)計(jì)說明 PAGEREF _Toc170862 HYPERLINK l _Toc7947 1.3關(guān)鍵詞:矩陣鍵盤,單片機(jī),數(shù)碼管顯示,匯編語言 PAGEREF _Toc7947 2 HYPERLINK l _Toc21133 1.4設(shè)計(jì)目的 PAGEREF _Toc21133 2 HYPERLINK l _Toc

2、28473 1.5設(shè)計(jì)要求 PAGEREF _Toc28473 2 HYPERLINK l _Toc585 二、設(shè)計(jì)方案 PAGEREF _Toc585 3HYPERLINK l _Toc8655 2.1硬件電路設(shè)計(jì)方案 PAGEREF _Toc8655 3 HYPERLINK l _Toc15699 2.1.1根本構(gòu)造 PAGEREF _Toc15699 3 HYPERLINK l _Toc12276 2.1.2系統(tǒng)框架圖 PAGEREF _Toc12276 3 HYPERLINK l _Toc30872 2.1.3工作流程圖 PAGEREF _Toc30872 4 HYPERLINK l

3、_Toc3000 2.1.4單片機(jī)主控制模塊 PAGEREF _Toc3000 5 HYPERLINK l _Toc12030 2.2系統(tǒng)功能描述 PAGEREF _Toc12030 6 HYPERLINK l _Toc31341 三、各模塊功能介紹 PAGEREF _Toc31341 7 HYPERLINK l _Toc23334 3.1鍵盤輸入模塊 PAGEREF _Toc23334 7 HYPERLINK l _Toc21404 3.1.1鍵盤分布圖 PAGEREF _Toc21404 7 HYPERLINK l _Toc12105 3.1.2工作原理 PAGEREF _Toc12105

4、 7 HYPERLINK l _Toc20039 3.2運(yùn)算控制模塊 PAGEREF _Toc20039 8 HYPERLINK l _Toc6063 3.3顯示模塊 PAGEREF _Toc6063 8 HYPERLINK l _Toc21248 3.4振蕩電路模塊 PAGEREF _Toc21248 9 HYPERLINK l _Toc31335 四、仿真電路 PAGEREF _Toc31335 10 HYPERLINK l _Toc22611 仿真運(yùn)行結(jié)果 PAGEREF _Toc22611 10 HYPERLINK l _Toc24987 五、調(diào)試過程總結(jié) PAGEREF _Toc24

5、987 12 HYPERLINK l _Toc15948 附錄: PAGEREF _Toc15948 13 HYPERLINK l _Toc22923 參考文獻(xiàn): PAGEREF _Toc22923 13 HYPERLINK l _Toc25353 源程序代碼 PAGEREF _Toc25353 13一、設(shè)計(jì)總緒1.1設(shè)計(jì)思想近年來隨著科技的飛速開展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測技術(shù)日益更新。在實(shí)時(shí)檢測和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來使用,但僅單片機(jī)方面的知識是不夠的,還應(yīng)根據(jù)具體硬件構(gòu)造、軟硬件結(jié)合,來加以完善。計(jì)算機(jī)在人們的日常生活中是比擬常見的

6、電子產(chǎn)品之一??墒撬€在開展之中,以后必將出現(xiàn)功能更加強(qiáng)大的計(jì)算機(jī),基于這樣的理念,本次設(shè)計(jì)是用AT89c51單片機(jī)、LCD顯示器、控制按鍵為元件來設(shè)計(jì)的計(jì)算器。利用此設(shè)計(jì)熟悉單片機(jī)微控制器及匯編語言編程,對其片資源及各個(gè)I/O端口的功能和根本用途的了解。掌握應(yīng)用程序開發(fā)環(huán)境,常用的LCD顯示器的使用方法和一般鍵盤的使用方法此設(shè)計(jì)是基于單片機(jī)技術(shù)的簡易計(jì)算器的方案,本次設(shè)計(jì)所提出的一種基于單片機(jī)技術(shù)的簡易計(jì)算器的方案,采用具有數(shù)據(jù)處理能力的中央處理器CPU,隨機(jī)存儲(chǔ)器ROM,多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)單片機(jī),配以匯編語言編寫的執(zhí)行

7、程序,能更好的解決計(jì)算機(jī)計(jì)算的問題,隨著數(shù)字生活的到來,單片機(jī)在生活中越來越重要,它能將大量的邏輯功能集成與一個(gè)集成電路中,使用起來十分方便。1.2設(shè)計(jì)說明本次課程設(shè)計(jì)討論了單片機(jī)技術(shù)的計(jì)算器構(gòu)思,設(shè)計(jì)方案,工作原理,主要系統(tǒng)包括單片機(jī)80C51,排阻RESPACK8,開關(guān),六位數(shù)碼管顯示器等,主要組成局部包括:鍵盤輸入模塊,運(yùn)算模塊,控制模塊,顯示模塊。通過鍵盤輸入數(shù)值,單片機(jī)進(jìn)展運(yùn)算后在數(shù)碼管顯示出結(jié)果。1.3關(guān)鍵詞:矩陣鍵盤,單片機(jī),數(shù)碼管顯示,匯編語言1.4設(shè)計(jì)目的通過本次課程設(shè)計(jì),運(yùn)用?單片機(jī)微型計(jì)算機(jī)原理及應(yīng)用?所學(xué)到的知識及查詢相關(guān)資料,完成簡易計(jì)算器的設(shè)計(jì),進(jìn)一步提高單片機(jī)的系

8、統(tǒng)設(shè)計(jì)和開發(fā)能力,到達(dá)理論知識與實(shí)踐更好的結(jié)合,提高綜合運(yùn)用所學(xué)知識和設(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)算,通過按鍵輸入十進(jìn)制數(shù)據(jù)。利用六位數(shù)碼管顯示運(yùn)算結(jié)果。并實(shí)現(xiàn)復(fù)位操作。由于要設(shè)計(jì)的是簡單的計(jì)算器,可以進(jìn)展四則運(yùn)算,為了得到教好的顯示效果,采用LCD顯示數(shù)據(jù)和結(jié)果。、另外鍵盤包括數(shù)字鍵0-9、符號鍵+、-、*、/、去除鍵和等號鍵,故只需要16個(gè)按鍵即可,設(shè)計(jì)中采用集成的計(jì)算機(jī)鍵盤來,當(dāng)鍵入+、-、*、/運(yùn)算符,計(jì)算器在部執(zhí)行數(shù)值轉(zhuǎn)換和存儲(chǔ),并等待再次鍵入數(shù)值后將顯示

9、鍵入的數(shù)值,按等號就會(huì)在LCD上輸出運(yùn)算結(jié)果,執(zhí)行程序:開機(jī)顯示零,等待鍵入數(shù)值,當(dāng)鍵入數(shù)字,通過LCD顯示出二、設(shè)計(jì)方案2.1硬件電路設(shè)計(jì)方案2.1.1根本構(gòu)造計(jì)算器一般由運(yùn)算器、控制器、鍵盤、顯示器、電源和一些可選外圍設(shè)備及電子配件通過人工或機(jī)器設(shè)備組成。鍵盤是計(jì)算器的輸入部件,一般采用接觸式或傳感式。顯示器是計(jì)算器的輸出部件,有發(fā)光二極管顯示器或液晶顯示器等。除顯示計(jì)算結(jié)果外,還常有溢出指示、錯(cuò)誤指示等。計(jì)算器電源采用交流轉(zhuǎn)換器或電池。計(jì)算器都采用CMOS工藝制作的大規(guī)模集成電路。 本次課程設(shè)計(jì)中我是采用了以MCS51系列的單片機(jī)AT89C51單片機(jī)為核心構(gòu)成的簡易計(jì)算器。該系統(tǒng)通過單片

10、機(jī)控制,實(shí)現(xiàn)對4*4鍵盤進(jìn)展實(shí)時(shí)掃描的按鍵檢測,并把檢測數(shù)據(jù)存儲(chǔ)下來。整個(gè)計(jì)算器系統(tǒng)的工作過程為:首先存儲(chǔ)單元初始化,顯示初始值和鍵盤掃描,判斷按鍵位置,查表得出按鍵值,單片機(jī)則對數(shù)據(jù)進(jìn)展儲(chǔ)存與相應(yīng)處理轉(zhuǎn)換,之后送入數(shù)碼管動(dòng)態(tài)顯示。整個(gè)系統(tǒng)可分為三個(gè)主要功能模塊:功能模塊一,實(shí)時(shí)鍵盤掃描;功能模塊二,數(shù)據(jù)轉(zhuǎn)換成顯示器顯示;功能模塊三,計(jì)算控制模塊。功能模塊四:顯示模塊。2.1.2系統(tǒng)框架圖 控制 運(yùn)算 鍵盤 顯示 圖2.1 系統(tǒng)總體框架圖2.1.3工作流程圖 開場 初始化 鍵盤列掃描 有鍵按下 復(fù)位鍵 數(shù)字鍵 記憶對應(yīng)鍵值 運(yùn)算功能鍵 其他鍵數(shù)碼管顯示 是 =. No記憶其運(yùn)算符 數(shù)碼管顯示

11、計(jì)算最后結(jié)果 Yes圖2.2 系統(tǒng)工作流程圖2.1.4單片機(jī)主控制模塊AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器FPEROMFalsh Programmable and Erasable Read Only Memory的低電壓,高性能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ǔ)器 ;10

12、00寫/擦循;數(shù)據(jù)保存時(shí)間:10年;全靜態(tài)工作:0Hz-24Hz;三級程序存儲(chǔ)器鎖定;128*8位部RAM;32可編程I/O線;兩個(gè)16位定時(shí)器/計(jì)數(shù)器;5個(gè)中斷源 ;可編程串行通道;低功耗的閑置和掉電模式;片振蕩器和時(shí)鐘電路74LS245是我們常用的芯片,用來驅(qū)動(dòng)led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)8051單片機(jī)的P0口總線負(fù)載到達(dá)或超過P0最大負(fù)載能力時(shí),必須接入74LS245等總線驅(qū)動(dòng)器。當(dāng)片選端/CE低電平有效時(shí),DIR=“0,信號由 B 向 A 傳輸;接收DIR=“1,信號由 A 向 B

13、 傳輸;發(fā)送當(dāng)CE為高電平時(shí),A、B均為高阻態(tài)。由于P2口始終輸出地址的高8位,接口時(shí)74LS245的三態(tài)控制端1G和2G接地,P2口與驅(qū)動(dòng)器輸入線對應(yīng)相連。P0口與74LS245輸入端相連,E端接地,保證數(shù)據(jù)線暢通。8051的/RD和/PSEN相與后接DIR,使得RD且PSEN有效時(shí),74LS245輸入P0.1D1,其它時(shí)間處于輸出P0.1D1。圖2 74LS245引腳圖2.2系統(tǒng)功能描述本程序有LCD動(dòng)態(tài)顯示,鍵盤輸入顯示功能,程序啟動(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鍵盤輸入

14、模塊3.1.1鍵盤分布圖 圖 3.1 計(jì)算器鍵盤圖3.1.2工作原理本設(shè)計(jì)采用P3口作為矩陣鍵盤輸入口,開場工作后,單片機(jī)先對矩陣鍵盤的行進(jìn)展掃描。假設(shè)無鍵按下,先使P3為11110000,然后檢測外來輸入,假設(shè)有輸入,則可使四位的0其中一位置1,即完成了按行號的輸入。列掃描遠(yuǎn)離同行掃描一樣,不過P3初始為00001111.檢測完行號與列號后,產(chǎn)生一個(gè)8位二進(jìn)制碼,即可對鍵盤值進(jìn)展輸入。3.2運(yùn)算控制模塊 圖3.2 計(jì)算器運(yùn)算控制模塊 控制模塊控制著數(shù)字錄入,數(shù)字錄入是進(jìn)展計(jì)算的前提,它是將從矩陣鍵盤上輸入的數(shù)值、運(yùn)算符等錄入單片機(jī)處理器進(jìn)展處理,從而得出運(yùn)算結(jié)果。計(jì)算模塊作為計(jì)算器的核心模塊

15、共有加、減、乘、除四個(gè)局部。其設(shè)計(jì)原理是先將鍵盤輸入的BCD碼數(shù)字轉(zhuǎn)換為十進(jìn)制數(shù)字,然后再對其進(jìn)展運(yùn)算。由于最后需要進(jìn)展輸出顯示,所以我們的最終結(jié)果以十進(jìn)制的形式顯示在六位的數(shù)碼顯示管上。3.3顯示模塊圖 3.3 數(shù)碼管顯示屏本設(shè)計(jì)采用了六位數(shù)碼管,可以顯示0999999之間的任意整數(shù),由于LED數(shù)碼管有6個(gè),假設(shè)采用靜態(tài)顯示,則最少需要48根數(shù)據(jù)線與6根地址線,這對只有40個(gè)引腳的單片機(jī)來說是不可能實(shí)現(xiàn)的。所以我采用了動(dòng)態(tài)掃描的顯示方法。其原理是不同時(shí)刻對不同位上的數(shù)碼管進(jìn)展選通,同時(shí)對其進(jìn)展數(shù)碼輸出。當(dāng)掃描頻率很高時(shí),將不會(huì)看到數(shù)碼管的閃爍。本設(shè)計(jì)應(yīng)用了定時(shí)器中斷來實(shí)現(xiàn)間時(shí)顯示。3.4振蕩

16、電路模塊 圖 3,.4 振蕩電路 振蕩電路如下圖。圖中晶振的兩端分別接單片機(jī)的19和18腳。時(shí)鐘有部電路產(chǎn)生,定時(shí)器件為石英晶體和電容組成的并聯(lián)諧振回路。3.5起保護(hù)作用模塊 圖 3.5 限流電阻這一排限流電阻,它們的作用是起保護(hù)作用,防止數(shù)碼管的段位被燒壞。四、仿真電路圖4.1 系統(tǒng)電路仿真圖仿真運(yùn)行結(jié)果例如:運(yùn)行23*2時(shí),一次在鍵盤上輸入數(shù)據(jù)和功能鍵,功能鍵不會(huì)再數(shù)碼管上顯示出來,只會(huì)顯示出輸入的數(shù)據(jù)和運(yùn)行結(jié)果。 圖4.2 輸入數(shù)據(jù)23時(shí) 圖4.3 輸入數(shù)據(jù)2圖4.4 計(jì)算23*2的運(yùn)行結(jié)果五、調(diào)試過程總結(jié) 開場在做這個(gè)單片機(jī)課設(shè)的時(shí)候,感覺無從下手,一點(diǎn)頭緒都沒有。后來上網(wǎng)查了好多資料

17、,向?qū)W長請教。終于功夫不負(fù)有心人,做出了這個(gè)單片機(jī)的課設(shè)。調(diào)試過程中也遇到了一些問題,先是數(shù)碼管顯示數(shù)據(jù)不完整,經(jīng)過仔細(xì)檢查發(fā)現(xiàn)是線路連接的錯(cuò)誤;后來又遇到計(jì)算時(shí)會(huì)出現(xiàn)運(yùn)算錯(cuò)誤,經(jīng)過查找發(fā)現(xiàn)原來是編程的問題。在利用keil軟件編程的過程中,會(huì)出現(xiàn)各種各樣的問題,有的是由于粗心而引起的,有的是因?yàn)楦拍钅:鴮?dǎo)致的。再用proteus進(jìn)展仿真時(shí),會(huì)出現(xiàn)的問題主要是線路連接問題,可能會(huì)不小心把線連錯(cuò),其他的我覺得只要元器件選擇好,各引腳的功能清楚的話一般不會(huì)有太大的問題。在這次做課程設(shè)計(jì)的過程中我深深體會(huì)到了要獨(dú)立完成一個(gè)作品的設(shè)計(jì)是多么不容易。雖然我做的只是最根底的,但是從這個(gè)最小的系統(tǒng)中卻是利用

18、了單片機(jī)的最根底的功能。在這個(gè)過程中,我們不僅僅是編程仿真則簡單,還需要有極大的耐心與毅力。設(shè)計(jì)的過程中會(huì)遇到各種各樣的問題,我們應(yīng)該靜下心來好好研究,這對于我們以后的工作也是非常重要的。總的來說,這次課程設(shè)計(jì),一個(gè)禮拜的緊忙碌終于完成了。感覺自己的收獲還是很多的,無論是對專業(yè)知識的了解還是對硬件的設(shè)計(jì),都是需要我們下很大的功夫去研究的。通過這次課程設(shè)計(jì),最大的一點(diǎn)體會(huì)是單片機(jī)學(xué)的不夠扎實(shí),不會(huì)的很多啊,當(dāng)然這次的課程設(shè)計(jì)做計(jì)算器程序用的是匯編語言,盡管大家都知道匯編編這個(gè)程序很困難,但還是互相學(xué)習(xí),到處找資料看,問同學(xué),所以我的軟件主程序才能編譯成功,系統(tǒng)才能調(diào)試出結(jié)果。很感那些熱心教誨我的

19、同學(xué)和指導(dǎo)我的教師。附錄:參考文獻(xiàn):【1】志海、連鑫等,單片機(jī)微型計(jì)算機(jī)原理及應(yīng)用M。:電子工業(yè),2021【2】周潤景,麗娜?;赑ROTEUS的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真M。:航空航天大學(xué),2006源程序代碼YJ EQU50H ;結(jié)果存放YJ1 EQU51H ;中間結(jié)果存放GONG EQU52H ;功能鍵存放ORG 00H;程序存放的首地址START:MOV R3,*0 ;初始化顯示為空MOV GONG,*0;功能鍵清零MOV 32H,*00H;(32H)=00H,存放輸入的數(shù)據(jù)MOV 33H,*00H;(33H)=00HMOV 34H,*00H;(34H)=00HMLOOP:CALL DI

20、SP ;調(diào)顯示子程序, call通過入口地址跳轉(zhuǎn)有返回,返回地址壓入堆棧。WAIT:CALL TESTKEY NE*T1:CJNE A,*1,NE*T2 LJMP E1NE*T2:CJNE A,*2,NE*T3LJMP E1NE*T3:CJNE A,*3,NE*T4LJMP E1NE*T4:CJNE A,*4,NE*T5LJMP E1NE*T5:CJNE A,*5,NE*T6LJMP E1NE*T6:CJNE A,*6,NE*T7LJMP E1NE*T7:CJNE A,*7,NE*T8LJMP E1NE*T8:CJNE A,*8,NE*T9LJMP E1NE*T9:CJNE A,*9,NE*T

21、10LJMP E1NE*T10:CJNE A,*10,NE*T11 ;判斷是否功能鍵LJMP E2 ;轉(zhuǎn)功能鍵處理NE*T11:CJNE A,*11,NE*T12LJMP E2NE*T12:CJNE A,*12, NE*T13LJMP E2NE*T13:CJNE A,*13,NE*T14LJMP E2NE*T14:CJNE A,*14,NE*T15LJMP E2NE*T15:LJMP E3 ;判斷是否去除鍵E1:CJNE R3,*1,N1 ;判斷第幾次按鍵,假設(shè)(R3)不等于(1),則跳轉(zhuǎn)到N1處執(zhí)行LJMP E11 ;為第一個(gè)數(shù)字N1:CJNE R3,*2,N2LJMP E12 ;為第二個(gè)數(shù)

22、字N2:CJNE R3,*3,N3 LJMP E13 ;為第三個(gè)數(shù)字N3:LJMP E3 ;第四個(gè)數(shù)字轉(zhuǎn)溢出E11:MOV R4,A ;輸入值暫存R4MOV 34H,A ;輸入值送顯示緩存MOV 33H,*00HMOV 32H,*00HLJMP MLOOP ;等待再次輸入E12: MOV R7,A ;個(gè)位數(shù)暫存R7MOV B,*10MOV A,R4MUL AB ;十位數(shù),輸入的值乘10,即為十位數(shù)ADDA,R7MOV R4,A ;輸入值存R4MOV 32H,*00H ;輸入值送顯示緩存MOV 33H,34HMOV 34H,R7LJMP MLOOPE13:MOV R7,AMOV B,*10MOV

23、 A,R4MUL AB OV,E3 ;輸入溢出ADD A,R7 CY,E3 ;輸入溢出MOV R4,AMOV 32H,33H;輸入值送顯示緩存MOV 33H,34HMOV 34H,R7LJMP MLOOPE3:MOV R3,*0 ;按鍵次數(shù)清零MOV R4,*0 ;輸入值清零MOV YJ,*0 ;計(jì)算結(jié)果清零MOV GONG,*0 ;功能鍵設(shè)為零 MOV 32H,*00H;顯示清空MOV 33H,*00HMOV 34H,*00HLJMP MLOOPE2:MOV 34H,*00HMOV 33H,*00HMOV 32H,*00HMOV R0,GONG ;與上次功能鍵交換MOV GONG,AMOV

24、A,R0CJNE A,*10,N21 ;判斷功能鍵LJMP JIA ;N21: CJNE A,*11,N22LJMP JIAN ;N22: CJNE A,*12,N23LJMP CHENG ;*N23:CJNE A,*13,N24LJMP CHU ;/N24:CJNE A,*0,N25LJMP FIRST ;首次按功能鍵N25:LJMP DEN ;=N4:LJMP E3FIRST:MOV YJ,R4 ;輸入值送結(jié)果MOV R3,*0 ;按鍵次數(shù)清零LJMP DISP1 ;結(jié)果處理/加法/JIA:MOV A,YJ;上次結(jié)果送累加器ADD A,R4;上次結(jié)果加輸入值 CY,N4;溢出MOV YJ,

25、A;存本次結(jié)果MOV R3,*0;按鍵次數(shù)清零LJMP DISP1/減法/JIAN:MOV A,YJSUBB A,R4;上次結(jié)果減輸入值 CY,N4;負(fù)數(shù)溢出,位變量條件轉(zhuǎn)移指令,假設(shè)直接尋址位的值為1,則執(zhí)行轉(zhuǎn)移MOV YJ,AMOV R3,*0LJMP DISP1/乘法/CHENG:MOV A,YJMOV B,AMOV A,R4MUL AB;上次結(jié)果乘輸入值 OV,N4;溢出MOV YJ,ALJMP DISP1/除法/CHU:MOV A,R4MOV B,AMOV A,YJDIV AB;上次結(jié)果除輸入值MOV YJ,AMOV R3,*0LJMP DISP1/等于/DEN:MOV R3,*0L

26、JMP DISP1DISP1:MOVB,*10MOVA,YJMOVB,*10MOVA,YJ1DIVABMOVYJ1,AMOVA,BMOV33H,A;十位送顯示緩存MOVA,YJ1JZDISP11;結(jié)果是否為二位數(shù)MOV32H,A;百位數(shù)送顯示緩存DISP11:LJMPMLOOP;長跳轉(zhuǎn)指令DISP: MOV R0,*34HDIR1: MOV DPTR,*SEGTAB ;基存放器DPTR存入輸入的數(shù)據(jù)值 MOV A,R0;存放器間接尋址 MOVC A,A+DPTR;基存放器加變址存放器間接尋址 MOV P0,A CJNE R0,*34H,DIR2 SETB P2.0DIR2: CJNE R0,*33H,DIR3 SETB P2.1 CALL D1MS CLR P2.1 ;P2.1端口清零 DEC R0 ;減1指令 SJMP DIR1DIR3: SETB P2.2 CALL D1MS CLR P2.2 RETD1MS: MOV R7,*02HDMS: MOV R6,*0F0H DJNZ R6,$ ;減1不為0跳轉(zhuǎn)指令DJNZ R7,DMS RETSEGTAB:DB 0C0H, 0F9H, 0A4H, 0B0H ;0

溫馨提示

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

最新文檔

評論

0/150

提交評論