微機課程設計.doc
《微機課程設計.doc》由會員分享,可在線閱讀,更多相關(guān)《微機課程設計.doc(23頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、目 錄1.課程設計任務書22.系統(tǒng)設計說明52.1建立簡單微機系統(tǒng)的思路 52.2確定組成各部件的芯片 62.3存儲器芯片,接口芯片與系統(tǒng)總線連接63.系統(tǒng)詳細原理63.1系統(tǒng)簡介 63.2 8088工作方式的簡介 73.3 系統(tǒng)時鐘信號 83.4系統(tǒng)復位信號 83.5地址和數(shù)據(jù)總路線的分離 93.6 系統(tǒng)存儲器空間分配 93.7 I/O接口電路 93.8接口芯片和鍵盤的連接93.9 LED顯示器的工作方式 104硬件連接原理圖 115.軟件原理框圖及程序 115.1定義鍵值和左移顯示數(shù)據(jù)流程圖12 5.2計算器功能 125.3源程序部分145.3.1對應鍵值的顯示145.3.2 計算器176
2、.主要參考文獻 22任務書題目名稱計時器(TIMER)學生學院專業(yè)班級姓 名學 號1、課程設計的內(nèi)容一. 設計要求本課程設計內(nèi)容包含兩個方面:系統(tǒng)硬件設計和軟件編程1 系統(tǒng)硬件設計 設計8088計算機系統(tǒng),系統(tǒng)包含CPU、EPROM、RAM、PIO、中斷控制器和定時器等芯片。 要求8088工作于最小模式;EPROM為16KB、RAM為16KB,其地址分別從0F0000H以及00000H開始;8259的地址為30H和31H;8255的地址為60H、61H、62H、63H、64H;8253定時器的地址為40H、41H、42H、43H。 顯示器采用六個8段數(shù)碼顯示器;鍵盤采用4 * 4矩陣形式,它們
3、由8255控制。 用35*35cm方格紙制圖。2 軟件編程內(nèi)容 顯示器工作于查詢方式,鍵盤工作于中斷方式。 16個按鍵定義的鍵值為:0 F ,按任意鍵在顯示器上顯示對應鍵值。 從鍵盤輸入6個數(shù)字使其能夠在顯示器上從右到左逐位顯示。 實現(xiàn)計算功能:l 定義鍵盤按鍵:10個數(shù)字鍵(09);六個功能鍵:+、-、*、=、CLEAR。l 實現(xiàn)五位十進制數(shù)以內(nèi)的連加、連減運算。l 實現(xiàn)被除數(shù)(2位)、除數(shù)(1位)的十進制連除運算。二、課程設計的要求與數(shù)據(jù)(1)鞏固和加深對微機原理及應用課程內(nèi)容的認識和理解,提高應用水平。(2)掌握匯編語言程序的編程方法。(3)熟悉鍵盤控制和七段數(shù)碼管的使用。三、課程設計應
4、完成的工作3 完成課程設計提交設計報告一份。4 提交的設計報告內(nèi)容包括: 設計依據(jù)、系統(tǒng)詳細原理說明(11.5萬字)、系統(tǒng)原理圖 系統(tǒng)軟件框圖、設計的軟件等四、課程設計進程安排序號設計各階段內(nèi)容地點起止日期1布置任務2熟悉各芯片的工作原理和引腳特性3構(gòu)建簡單微機系統(tǒng)的思路,芯片的布局和排版4各芯片的連線五、應收集的資料及主要參考文獻1 許立鋅等編.微型計算機原理及應用.北京:機械工業(yè)出版社,20032.許立梓等編微型計算機原理及應用 -習題解答、實驗指導及課程設計.北京:機械工業(yè)出版社,2003發(fā)出任務書日期: 年 月 日 指導教師簽名:計劃完成日期: 年 月 日 基層教學單位責任人簽章:主管
5、院長簽章: 2、系統(tǒng)設計說明2.1 構(gòu)建簡單微機系統(tǒng)的思路 微型計算機由微處理器,存儲器,接口電路以及連接在這些部件上的總線組成。微處理器,存儲器和所有IO設備之間的信息交換都通過總線進行??偩€包括地址總線,數(shù)據(jù)總線和控制總線,他們始于CPU或終于CPU,現(xiàn)代微機大部分都是這種以總線為中心的結(jié)構(gòu)。8088CPU的地址數(shù)據(jù)總線AD15-AD0和地址狀態(tài)總線A16/S3-A19/S6是復用的,必須通過地址鎖存器把地址總線和數(shù)據(jù)總線分離??刂瓶偩€直接和8088CPU相連,這樣8088CPU就工作在最小工作方式。 微型計算機及外圍設備組成微型計算機系統(tǒng)的硬件,外圍設備必須通過接口電路才能與系統(tǒng)總線相連
6、,因此構(gòu)建一個基于8088CPU的簡單微型計算機系統(tǒng)就是工作于最小工作方式的8088CPU系統(tǒng)總線上掛上一定規(guī)模的存儲器和接口電路,然后在把合適的外圍設備連接到接口電路上。一個基于8088CPU的簡單微型計算機系統(tǒng)框圖如圖所示。圖中鍵盤與顯示器作為外圍設備通過接口芯片與系統(tǒng)總線相連。 AD0 . AD19 CPU WR RDM/IO 鎖存器 ROMRAM接口芯片鍵盤顯示器譯碼器譯碼器2.2確定組成各部件的芯片選擇芯片的原則是:要求芯片性能/性價比較高,市場可以買到。對于小型的微型計算機系統(tǒng),程序存儲器一般用EPROM,隨機存儲器一般采用SRAM。接口有簡單接口(例如74LS244,74LS27
7、3)和可編程接口(例如8255A),根據(jù)需要選擇。2.3.存儲器芯片,接口芯片與系統(tǒng)總線的連接存儲器芯片,接口芯片與系統(tǒng)總線的連接就是如何把存儲器芯片和接口芯片掛到系統(tǒng)的三類總線上。存儲器芯片和接口芯片與數(shù)據(jù)總線的連接比較簡單,因為是簡單系統(tǒng),對數(shù)據(jù)總線的負載能力沒有特別的要求,所以只要把存儲器芯片和接口芯片的數(shù)據(jù)引腳與數(shù)據(jù)總線相應各位作并聯(lián)就可以。連接到芯片上的控制總線不多,常用的有IO/.RESET等信號,這些信號線也都是與各芯片的有關(guān)引腳做并聯(lián)連接。存儲器芯片,接口芯片與地址總線的連接原則上是一樣的:低地址線與存儲器芯片或接口芯片的地址引腳直接并聯(lián)連接,用來作為芯片內(nèi)部單元的選擇,高位地
8、址線經(jīng)譯碼器譯碼后一般連接到芯片的片選端,作為芯片的選擇。一般高位地址線的低位部分作為譯碼器的譯碼輸入,高位部分則作為譯碼器譯碼的許可條件。由于8088CPU的端口地址采用獨立編址方式,為了區(qū)分是存儲器芯片地址還是接口芯片地址,一定要把IO/信號參與到芯片的片選端控制。3:系統(tǒng)詳細原理說明:3.1 系統(tǒng)簡介用8088CPU構(gòu)成最小模式系統(tǒng)所需要的控制信號由CPU提供,如電路原理圖所示,該系統(tǒng)是由8088CPU,時鐘信號發(fā)生器8284A,地址鎖存器74LS373,數(shù)據(jù)緩沖器74LS245,存儲和I/O譯碼器74LS138以及存儲器和I/O接口等電路組成。系統(tǒng)所需要的控制信號等均由8088CPU直
9、接產(chǎn)生。其時鐘由8284A時鐘信號發(fā)生器提供,系統(tǒng)各部件間的信號均通過系統(tǒng)數(shù)據(jù)總線,地址總線和控制總線進行傳輸。3.2 8088工作方式簡介當把8088的MN/引腳接到+5V時,8088CPU工作于最小工作方式。所謂最小工作方式,就是系統(tǒng)中只有一個微處理器8088。在這種系統(tǒng)中所有的總線控制信號都直接由8088產(chǎn)生,系統(tǒng)中總線控制邏輯電路被減小到最小,這種方式適合于較小規(guī)模的應用。最小方式下,24-31引腳功能:(1)中斷響應信號(輸出,低電平有效)是CPU對外設的中斷請求的回答信號。對于8088來說,信號實際是位于連續(xù)周期中的兩個負脈沖,在每個中斷響應周期的T2、T3和TW狀態(tài),為低電平。第
10、一個負脈沖通知外圍設備的接口,它發(fā)出的中斷請求已經(jīng)得到允許;外設接口收到第二個負脈沖后,將中斷類型碼送往數(shù)據(jù)總線。(2)ALE地址鎖存允許信號(輸出,高電平有效)ALE是CPU在每個總線周期的T1狀態(tài)發(fā)出的,其有效電平表示當前在地址/數(shù)據(jù)復用線上輸出的是地址信息,利用它的下降沿把地址信號和信號鎖存在74LS373地址鎖存器中。ALE不能被浮置。(3)數(shù)據(jù)允許信號(輸出,低電平有效,三態(tài))有效表示CPU準備好接受和發(fā)送數(shù)據(jù),是CPU提供雙向數(shù)據(jù)收發(fā)器74LS245的選通信號,在每個訪問存儲器或訪問I/O周期,或中斷相應周期均有效。在DMA下,被浮置為高阻態(tài)。(4)DT/數(shù)據(jù)收發(fā)信號(輸出,三態(tài))
11、在系統(tǒng)使用雙向收發(fā)器74LS245時,用其控制數(shù)據(jù)的傳送方向。如果DT/為高電平,則進行數(shù)據(jù)發(fā)送,如果DT/為低電平,則進行數(shù)據(jù)接收.在DMA下,被浮置為高阻態(tài)。(5)/IO存儲器/IO控制信號(輸出,三態(tài))用于區(qū)分是訪問存儲器(低電平),還是訪問I/O(高電平),通常/IO被接至存儲器或接口芯片的片選端。當DMA時,被浮置為高阻態(tài)。(6)WR寫信號(輸出,低電平有效,三態(tài))WR有效時,表示CPU正在執(zhí)行存儲器或訪問存儲器。在任何寫周期,WR只在T2、T3、TW有效,在DMA時,WR被浮置為高阻態(tài)。(7)HOLD總線保持請求信號(輸入,高電平有效)它是系統(tǒng)中的其他總線主控部件向CPU發(fā)出的請求
12、占用總線的申請信號。(8)HLDA總線保持響應信號(輸出,高電平有效)它是CPU對系統(tǒng)中其他總線主控部件向其請求總線使用權(quán)的響應信號。3.3 8284時鐘信號發(fā)生器時鐘發(fā)生器8284除了提供頻率恒定的單相時鐘脈沖CLK給CPU外還具有系統(tǒng)復位信號RESET產(chǎn)生電路和準備好信號READY控制電路。如果F/C接+5V,則由FEI輸入外加脈沖,如果F/C接地,由X1和X2連接的石英晶體震蕩器提供脈沖源,圖中有石英晶體振蕩器提供輸入脈沖給8284.3.4.系統(tǒng)復位信號 圖中,由R(560K)、C1(10UF)和D1同8284A組成了系統(tǒng)復位電路,當系統(tǒng)上電工作時,系統(tǒng)電源通過R、C1是RES端電位由低
13、變高,該信號經(jīng)8284A內(nèi)部電路處理后,輸出的RESET信號作為8088CPU的復位信號。 根據(jù)CPU 對RESET 信號的要求,系統(tǒng)上電后8284A輸出RESET由低電平變?yōu)楦唠娖降膹臀粫r間要大于4個時鐘周期,因此合理選擇R、C1數(shù)值是確保8088CPU上電可靠復位的重要條件。復位電路D1是用于當系統(tǒng)電源瞬間掉電時,將C1中存儲的電荷快速放掉,這樣當系統(tǒng)再次上電時,即保證R和C1的充電時間使8284A輸出的RESET時間大于4個時鐘周期,確保CPU可靠復位,K為手動復位開關(guān)。3.5.地址和數(shù)據(jù)總線的分離 根據(jù)8088讀寫周期,CPU在T1時鐘周期輸出的地址鎖存信號ALE將AD15-AD0和A
14、19S6-A16S3輸出的地址信息鎖存在圖中的地址鎖存器74LS373,地址鎖存器輸出的地址信號通過系統(tǒng)地址總線同存儲器和IO接口地址輸入端連接,并在T2T4時鐘周期內(nèi)保持由T1時鐘周期輸出的地址信息不變,直到下個總線周期的T1時鐘周期才發(fā)生變化。在T2-T4總線周期,CPU通過系統(tǒng)數(shù)據(jù)總線同存儲器或IO接口交換數(shù)據(jù)。若數(shù)據(jù)總線負載較重時,CPU通過輸出DEN和DT/R信號,對數(shù)據(jù)收/發(fā)驅(qū)動器74LS245的輸出輸入數(shù)據(jù)進行控制。即DEN有效,DT/R為低電平時,CPU通過74LS245讀取系統(tǒng)存儲器或I/O接口中的數(shù)據(jù)。當DEN有效,DT/R為高電平時,CPU通過74LS245對系統(tǒng)存儲器或
15、I/O接口寫入數(shù)據(jù)。3.6、系統(tǒng)存儲器空間分配圖中ROM用于系統(tǒng)存儲常駐程序,RAM用于存放用戶非常駐程序,數(shù)據(jù)或作為系統(tǒng)堆棧區(qū)使用。根據(jù)題目要求的容量選用一片EPROM27128和兩片RAM6264,八位數(shù)據(jù)總線和CPU的低八位數(shù)據(jù)總線相連,CPU地址總線的A13-A0用于芯片的字選和存儲器的地址線相連,A19-A14譯碼后用做片選,和IO引腳經(jīng)過譯碼器譯碼后用作片選。3.7.I/O接口電路接口電路是CPU和外圍設備進行數(shù)據(jù)交換的緩沖區(qū)域,圖中的8255A是一個有3個數(shù)據(jù)口、1個控制/狀態(tài)口的8位并行輸入輸出接口可編程芯片,能接通鍵盤、打印機、顯示器等外圍設備等。8255A的數(shù)據(jù)線接系統(tǒng)總線
16、的低八位,控制端口和系統(tǒng)的相應控制端口相連3.8接口芯片和鍵盤的連接圖中有2行4列,4根線于PA口相連,2根列線與PB口的PB2,PB3相連。按鍵設置在行、列交點處(數(shù)字或字符為其鍵號),行、列線分別連接到按鍵開關(guān)的兩端。當列線通過上拉電阻接+5V時,就被鉗位在高電平狀態(tài)。鍵盤中有無鍵按下是由行線送入全掃描字、列線讀入行線狀態(tài)來判斷的。這就是:給行線所有I/O線均置成低電平,然后讀入列線電平狀態(tài)。如果有鍵按下,總會有一根列線電平被拉至低電平,從而使列線輸入不全為1。鍵盤中哪一個鍵按下是由行線逐行置低電平后,檢查列線輸入狀態(tài)予以確定的。其方法是:依次給行線送低電平,然后查所有列線狀態(tài),如果全為1
17、,則所按下之鍵不在次行。如果不全為1,則所按下之鍵必在次行。而且是在與0電平行線相交點上的那個鍵。鍵盤的工作方式采用編程掃描工作方式,即通過調(diào)用鍵盤子程序來響應鍵輸入的要求,在鍵盤掃描子程序中完成下述功能:1) 判斷鍵盤上有無鍵按下。其方法是先使PA3PA60,然后讀PB2、PB3的狀態(tài),若全為1,則鍵盤中無鍵按下;若不全為1,則說明鍵盤中有鍵按下。2) 去除按鍵的抖動影響。對于由機械觸點構(gòu)成的按鍵,由于機械觸點的彈性作用,觸點在閉合及斷開瞬間有一個抖動過程,一般為510ms時間。為了消除抖動影響可作這樣處理:當判斷有鍵按下后,軟件延時一段時間在判斷鍵盤狀態(tài),如果仍有鍵按下狀態(tài),則認為有一個確
18、定的鍵按下,否則按鍵抖動處理。3) 求按下鍵的鍵值及鍵號。鍵盤上的每個鍵都對應一個鍵值。鍵值的組成:低8位為掃描該鍵時的行線輸出值,高8位為該鍵按下時的列線輸入值(有效位為0,其余位令其為1)。由于鍵盤中鍵號排列無規(guī)律,不能通過對鍵值直接運算得到鍵號。因此必須先判斷按下鍵是使PB2=0還是PB3=0,然后再查為零的列線上鍵按下時其8位鍵值中是否有一位為零,若為零則可得到鍵值。求按下鍵的鍵值及鍵號的目的是使程序轉(zhuǎn)到相應的地址去完成該鍵的操作。一般,對數(shù)字鍵就是直接將該號送到顯示緩沖區(qū)進行顯示,對功能鍵則必須先找到該功能鍵處理程序入口地址,并轉(zhuǎn)去執(zhí)行該鍵的命令。因此當鍵號求到后,還必須找到功能處理
19、入口。4) 為保證鍵閉合依次CPU僅進行依次鍵功能操作。程序中需要等待鍵釋放以后再將鍵號送累加器AH。3.9 LED顯示器的工作方式LED數(shù)碼管是目前最常用的數(shù)字顯示器,圖A、B為共陰管和共陽管的電路,圖C為兩種不同出線形式的引出腳功能圖。一個LED數(shù)碼管可用來顯示一位09十進制數(shù)和一個小數(shù)點。小型數(shù)碼管(0.5寸和0.36寸)每段發(fā)光二極管的正向壓降,隨顯示光(通常為紅、綠、黃、橙色)的顏色不同略有差別,通常約為22.5V,每個發(fā)光二極管的點亮電流在510mA。LED數(shù)碼管要顯示BCD碼所表示的十進制數(shù)字就需要有一個專門的譯碼器,該譯碼器不但要完成譯碼功能,還要有相當?shù)尿?qū)動能力。圖A 共陰連
20、接(“1”電平驅(qū)動) 圖B 共陽連接(“0”電平驅(qū)動)圖C LED數(shù)碼管符號及引腳功能圖LED顯示器有靜態(tài)和動態(tài)兩種工作方式LED顯示器工作在靜態(tài)顯示方式下,共陰極或共陽極連接在一起,然后接地或+5V;每位的段選線(A,B,G,H)與一個8位并行口相連。這樣,只要在每一位的段選線上保持段選碼電平,該位就能保持相應的顯示字符。在多位LED顯示時,為了化簡電路,降低成本,將所有位的斷選線并聯(lián)在一起,由一個8位的I/O口控制,即控制段選碼而共陰極或共陽極點分別由相應的I/O線控制即控制位選碼,這就是動態(tài)顯示。4位LED動態(tài)顯示電路只需一個8位I/O口及一個4位I/O口,其中8個I/O控制段選碼,4位
21、I/O控制位選。進行4位字符顯示時,采用掃描顯示方式,即在每一瞬間只使某一位顯示相應字符,在此瞬間,段選控制I/O口輸出相應字符段選碼,位選控制I/O口在該顯示位送入選通電平(共陰極送低電平,共陽極送高電平),以保證該位顯示相應字符。如此輪流,使每位顯示該位應顯示字符,并保持延遲一段時間(15ms),以造成視覺暫留效果。不斷循環(huán)送出相應的段選碼、位選碼,就可以獲得視覺穩(wěn)定的顯示狀態(tài)。4.硬件連接原理圖(見附頁)5.軟件原理框圖和程序5.1定義鍵值和左移顯示數(shù)據(jù)流程圖開始8255/8259初始化有無中斷顯示對應鍵盤值NY 5.2計算器功能開始8255/8259初始化有無中斷顯示掃描是數(shù)字鍵?有標
22、志?加號?減號?設加標志設減標志清零顯示器,清標志位保存數(shù)據(jù)放鍵?顯示掃描清零顯示器除號?YYYYYYYNNNNNN設除標志等號?N進行加、減、除運算,保存結(jié)果先于運算符清零十六進制轉(zhuǎn)換YYNN關(guān)中斷開中斷5.3 源程序部分說明:顯示鍵盤單個對應數(shù)值是顯示六個數(shù),因而合并成一個程序來寫,而那個十進制與十六進制的轉(zhuǎn)換與十六進制的加減除運算可以合并成一個,用那個等號來區(qū)分即可,從流程圖可以看出他們的大概實現(xiàn)過程。至于那個十進制轉(zhuǎn)化為十六進制的原理是像實驗課程設計那樣,在實驗課程設置我們也是同樣用一個鍵定義兩種功能,具體的方法見實驗課程設計的有關(guān)部分。5.3.1對應鍵值的顯示STACK SEGMEN
23、T STACK DW 64 DUP(?)STACK ENDSDATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HVAR1 DB 0A0H,80H,60H,40H,20H,00H;存放片選代碼,從右邊到左邊的LED數(shù)碼管VAR2 DB 3FH,3FH,3FH,3FH,3FH,3FH ;將要顯示的數(shù)據(jù)的存放段DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX CLI M
24、OV AL,80H OUT 63H,AL MOV AL,0F0H OUT AL,62H PUSH DS MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ0 MOV SI,003CH MOV SI,AX MOV AX,CS POP DS ;8255初始化和中斷向量表的設置 IN AL,31H AND AL,0FEH OUT 31H,AL ;寫OCW1A1: STI CALL DISP ;調(diào)用顯示功能 HLT JUMP A1IRQ0:MOV AL,01H OUT 62H,AL IN AL,61H CMP AL,0E0H JNZ KEY_2 ;測試第二個鍵 CALL
25、KEY1 ;對第一個鍵定義數(shù)值和顯示 ;同樣地對其他鍵進行定義和顯示 DISP:MOV SI,OFFSET VAR1 ;顯示子程序,SI為選通的 MOV DI,OFFSET VAR2 MOV DL,DI+5 CMP DL,3FH JNZ DIR6MOV DL,DI+4 CMP DL, 3FH JNZ DIR5MOV DL,DI+3 CMP DL,3FH JNZ DIR4 MOV DL,DI+2 CMP DL, 3FH JNZ DIR3MOV DL,DI+1 CMP DL,3FH JNZ DIR2JMP DIR1DIR6:MOV CX,0006H JMP DIRDIR5:MOV CX,0005H
26、 JMP DIRDIR4:MOV CX,0004H JMP DIRDIR3:MOV CX,0003H JMP DIRDIR2:MOV CX,0002H JMP DIRDIR1:MOV CX,0001H JMP DIRDIR: MOV AL,SIOUT 62H,AL;MOV AL,DIOUT 60H,ALCALL TIMEINC SIINC DILOOP DIRRET;-TIME: PUSH AX ;延時子程序 PUSH CX MOV CX,0002HTIME1: MOV AX,0020HTIME2: DEC AXJNZ TIME2LOOP TIME1POP CXPOP AXRET;-STTK:
27、 CALL DISP ;放鍵測試程序 MOV AL,00HOUT 61H,ALIN AL,60HAND AL,0CHCMP AL,0CHJNZ STTKJMP A1CODE ENDS END START5.3.2 計算器鍵盤的鍵值+-*=C9876543210STACK SEGMENT STACK DW 64 DUP(?)STACK ENDSDATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HVAR1 DB 0A0H,80H,60H,40H,20H,00H;存放片選代碼,從右
28、邊到左邊的LED數(shù)碼管VAR2 DB 3FH,3FH,3FH,3FH,3FH,3FH ;將要顯示的數(shù)據(jù)的存放段VAR3 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;存放新數(shù)VAR4 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;存放舊數(shù)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX ;中斷測試 ;鍵盤定義(順序如上圖所示) TR: LEASI,VAR3;10進制轉(zhuǎn)16進制子程序,VAR3存放著將
29、要被轉(zhuǎn)換的數(shù),VAR2是用來做顯示用的段,數(shù)字高位對應段的高位,底位對應段低位LEADI,VAR2CLC MOV AX,0 MOV BX,0MOV AL,SI+5 MOV AH,SI+4 SHL AH,4 ADD AL,AH AND AX,000FH MOV CX,4 TR1:CWD DIV 16 MOV DI+4,AL MOV AL,DL MUL 10 MOV BL,SI+3 ADD AX,BX DEC SI DEC DI LOOP TR1 MOV DI,AL CALL DISP ;調(diào)用顯示子程序 RETAD: MOV DH,01H ;加法標志位LEA SI,VAR3 ;加法子程序 LEA
30、DI,VAR4 ;VAR3用于存放新輸入將要被加的數(shù),VAR4用于存放上次的加出的結(jié)果,由于要進位,為了保證運算的正確,此程序采用的是兩個不超過5位的數(shù)字相加(或連加)! CLC MOV AX,0 MOV BX,0 MOV CX,3AD1: MOV AL,SI SHL AL,4 ADD AL,SI+1 MOV BL,DI ADD BL,DI+1 ADC AL,BL MOV AH,AL AND AL,0FH SHR AH,4 MOV DI,AL MOV DI+1,AH INC SI INC DI LOOP AD1 MOV CX,6 CLD LEA SI,VAR3 LEA DI,VAR2 REP
31、MOVS ;將其轉(zhuǎn)到顯示段 CALL DISP ;調(diào)用功能程序 RET SU: MOV DH,02H;設減法標志 LEA SI,VAR3 ;減法子程序 LEA DI,VAR4 ;VAR3用于存放新輸入的減數(shù),VAR4用于存放上次的減出的結(jié)果,由于要借位,為了保證運算的正確,此程序不要采用兩個6位的數(shù)字相減(或連減)! CLC MOV AX,0 MOV BX,0 MOV CX,3SU1: MOV BL,SI SHL BL,4 ADD BL,SI+1 MOV AL,DI ADD AL,DI+1 SBB AL,BL MOV AH,AL AND AL,0FH SHR AH,4 MOV DI,AL MO
32、V DI+1,AH INC SI INC DI LOOP SU1 MOV CX,6 CLD LEA SI,VAR3 LEA DI,VAR2 REP MOVS ;將其轉(zhuǎn)到顯示段 CALL DISP ;調(diào)用功能程序 RETMU: MOV DH,03H;乘法標志 LEA SI,VAR3 ;乘法子程序 LEA DI,VAR4 PUSH DX MOV DX,0 MOV CX,2MU1:MOV AL,DI+3SHL AL,4ADD AL,DI+2MOV AH,ALMOV AL,DI+1SHL AL,4 ADD AL,DIMOV BL,SI+3SHL BL,4ADD BL,SI+2MOV BH,BLMOV
33、BL,SI+1SHL BL,4ADD BL,SIMUL BX ADD AX,DXMOV BX,AXAND BH,0FOHSHR BH,4AND AH,0FHAND BL,0F0HSHR BL,4AND AL,0FHMOV DI+3,BHMOV DI+2,AHMOV DI+1,.BLMOV DI,AL INC SI INC DI LOOP MU1 POP DX MOV CX,6 CLD LEA SI,VAR3 LEA DI,VAR2 REP MOVS ;將其轉(zhuǎn)到顯示段CALL DISPRETDIV: MOV DH,04H;除法標志 LEA SI,VAR3+5 ;除法子程序 LEA DI,VAR4
34、+5 PUSH DX MOV DX,0 MOV CX,3DIV1:MOV AL,DI+1SHL AL,4 ADD AL,DIMOV BL,SI+1SHL BL,4ADD BL,SI SHL DX,8 ADD AX,DX CWD DIV BXMOV BX,AXAND AL,0FHAND BL,0F0H SHR BL,4AND AL,0FHMOV DI+1,BLMOV DI,ALDEC DI DEC SI LOOP DIV1 POP DX MOV CX,6 CLD LEA SI,VAR3 LEA DI,VAR2 REP MOVS ;將其轉(zhuǎn)到顯示段CALL DISPRETCLEAR: MOV SI,
35、 OFFSET VAR2 MOV DI, OFFSET VAR3MOV CX, 10CLEAR1: MOV AL,3FHMOV SI,ALMOV AL,00HMOV DI,ALINC SIINC DILOOP CLEAR1CLEAR2: MOV CX, 10 CLD LEA SI,VAR3 LEA DI,VAR4 REP MOVS CALL DISP ;調(diào)用顯示子程序RET DISP: ;具有顯示功能的子程序TIME: ;具有延時功能的子程序STTK: ;放鍵測試功能的子程序CODE ENDS END START6.主要參考文獻1 許立鋅等編.微型計算機原理及應用.北京:機械工業(yè)出版社,20032.許立梓等編微型計算機原理及應用 -習題解答、實驗指導及課程設計.北京:機械工業(yè)出版社,200323
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Storytime (2)
- 【四清導航】秋八年級數(shù)學上冊 3.3 一元一次不等式(第3課時)課件 (新版)浙教版
- 海淀區(qū)域P4P實操診斷課件
- 三年級記事作文指導
- 醫(yī)院內(nèi)感染的預防和控制
- 機械設計第十章習題
- 華泰汽車“全心服務_貼心關(guān)懷”管理知識分析方案
- Unit 11 Lesson 2 What's the matter 課件 1
- 創(chuàng)業(yè)大賽設計中財務分析方法與技巧
- 從現(xiàn)在開始課件 (4)(精品)
- 蛋白質(zhì)促降解與氨基酸代謝
- (精品)電視原理第1章1
- 術(shù)中病情觀察小講課
- 日系汽車研發(fā)質(zhì)量管控
- 6Sigma的管理理論(ppt 30頁)