![微機原理課程設(shè)計-簡易計算器的設(shè)計_第1頁](http://file4.renrendoc.com/view/3aec8394d05c3e3f5ec0eeb70b288007/3aec8394d05c3e3f5ec0eeb70b2880071.gif)
![微機原理課程設(shè)計-簡易計算器的設(shè)計_第2頁](http://file4.renrendoc.com/view/3aec8394d05c3e3f5ec0eeb70b288007/3aec8394d05c3e3f5ec0eeb70b2880072.gif)
![微機原理課程設(shè)計-簡易計算器的設(shè)計_第3頁](http://file4.renrendoc.com/view/3aec8394d05c3e3f5ec0eeb70b288007/3aec8394d05c3e3f5ec0eeb70b2880073.gif)
![微機原理課程設(shè)計-簡易計算器的設(shè)計_第4頁](http://file4.renrendoc.com/view/3aec8394d05c3e3f5ec0eeb70b288007/3aec8394d05c3e3f5ec0eeb70b2880074.gif)
![微機原理課程設(shè)計-簡易計算器的設(shè)計_第5頁](http://file4.renrendoc.com/view/3aec8394d05c3e3f5ec0eeb70b288007/3aec8394d05c3e3f5ec0eeb70b2880075.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目錄一前言………………1二總體設(shè)計………………………2三硬件設(shè)計………………………2 3.1微處理器8086芯片…………23.2可編程并行接口芯片8255A………………3 3.3LED數(shù)碼管…………………4 3.44×4矩陣按鍵………………4 3.5硬件原理圖…………………6四軟件設(shè)計………………………7 4.1程序流程圖…………………7 4.2源代碼………………………9五仿真…………18六課程設(shè)計體會………………18七參考文獻……………………19一前言1.1課程設(shè)計的目的和任務(wù)課程設(shè)計是培養(yǎng)和鍛煉學(xué)生在學(xué)習(xí)完本門課后綜合應(yīng)用所學(xué)理論知識,解決實際工程設(shè)計和應(yīng)用問題的能力的重要教學(xué)環(huán)節(jié)。它具有動手、動腦和理論聯(lián)系實際的特點,是培養(yǎng)在校工科大學(xué)生理論聯(lián)系實際、敢于動手、善于動手和獨立自主解決設(shè)計實踐中遇到的各種問題能力的一個重要教學(xué)環(huán)節(jié)。通過課程設(shè)計,要求學(xué)生熟悉和掌握微機系統(tǒng)的軟件、硬件設(shè)計的方法、設(shè)計步驟,使學(xué)生得到微機開發(fā)應(yīng)用方面的初步訓(xùn)練。讓學(xué)生獨立或集體討論設(shè)計題目的總體設(shè)計方案、編程、軟件硬件調(diào)試、編寫設(shè)計報告等問題,真正做到理論聯(lián)系實際,提高動手能力和分析問題、解決問題的能力,實現(xiàn)由學(xué)習(xí)知識到應(yīng)用知識的初步過渡。通過本次課程設(shè)計使學(xué)生熟練掌握微機系統(tǒng)與接口擴展電路的設(shè)計方法,熟練應(yīng)用8086匯編語言編寫應(yīng)用程序和實際設(shè)計中的硬軟件調(diào)試方法和步驟,熟悉微機系統(tǒng)的硬軟件開發(fā)工具的使用方法。通過課程設(shè)計實踐,不僅要培養(yǎng)學(xué)生事實求是和嚴肅認真的工作態(tài)度,培養(yǎng)學(xué)生的實際動手能力,檢驗學(xué)生對本門課學(xué)習(xí)的情況,更要培養(yǎng)學(xué)生在實際的工程設(shè)計中查閱資料,撰寫設(shè)計報告表達設(shè)計思想和結(jié)果的能力。1.2課程設(shè)計指導(dǎo)及要求在課程設(shè)計時,2~3名同學(xué)組成1個設(shè)計小組,分別完成項目的功能設(shè)計、電路編輯及調(diào)試、編碼及調(diào)試和課程設(shè)計報告編寫工作。同批次同學(xué)中選擇同一題的不超過3組。在教師指導(dǎo)下,可以相互討論。每設(shè)計小組提交1份設(shè)計報告,設(shè)計報告由設(shè)計小組同學(xué)獨立完成,不得互相抄襲。教師的主導(dǎo)作用主要在于指明設(shè)計思路,啟發(fā)學(xué)生獨立設(shè)計的思路,解答疑難問題和按設(shè)計進度進行階段審查。學(xué)生必須發(fā)揮自身學(xué)習(xí)的主動性和能動性,主動思考問題、分析問題和解決問題,而不應(yīng)處處被動地依賴指導(dǎo)老師。同學(xué)應(yīng)積極主動的提出問題、解決問題、討論問題,互相幫助和啟發(fā)。學(xué)生在設(shè)計中可以引用所需的參考資料,避免重復(fù)工作,加快設(shè)計進程,但必須和題目的要求相符合,保證設(shè)計的正確。指導(dǎo)教師要引導(dǎo)學(xué)生學(xué)會掌握和使用各種已有的技術(shù)資料,不能盲目地、機械地抄襲資料,必須具體分析,使設(shè)計質(zhì)量和設(shè)計能力都獲得提高。學(xué)生要在老師的指導(dǎo)下制定好自己各環(huán)節(jié)的詳細設(shè)計進程計劃,按給定的時間計劃保質(zhì)保量的完成個階段的設(shè)計任務(wù)。設(shè)計中可邊設(shè)計,邊修改,軟件設(shè)計與硬件設(shè)計可交替進行,問題答疑與調(diào)試和方案修改相結(jié)合,提高設(shè)計的效率,保證按時完成設(shè)計工作并交出合格的設(shè)計報告。二總體設(shè)計設(shè)計思路:首先利用程序不斷掃描鍵盤是不是有輸入,如果沒有就一直掃描,如果有就調(diào)用子程序進行判斷,是數(shù)值則進行存儲并同時進行顯示,是運算符號等就調(diào)用相應(yīng)的子程序進行操作,操作后則繼續(xù)利用程序不斷掃描鍵盤是不是有輸入,從而實現(xiàn)4位十進制數(shù)以內(nèi)的加減乘除法運算。運算完成后將運算的結(jié)果儲存并顯示到LED顯示器上。三硬件設(shè)計3.1微處理器8086芯片當(dāng)引腳接高電平時,CPU工作于最小模式。此時,引腳信號24~31的含義及其功能如下:(1)IO/M/(memoryI/Oselect):存儲器、I/O端口選擇控制信號。信號指明當(dāng)前CPU是選擇訪問存儲器還是訪問I/O端口。為高電平時訪問存儲器,表示當(dāng)前要進行CPU與存儲器之間的數(shù)據(jù)傳送。為低電平時,訪問I/O端口,表示當(dāng)前要進行CPU與I/O端口之間的數(shù)據(jù)傳送。(2)WR/(write):寫信號,輸出,低電平有效。信號有效時,表明CPU正在執(zhí)行寫HYPERLINK\t"_blank"總線周期,同時由信號決定是對存儲器還是對I/O端口執(zhí)行寫操作。(3)INTA/(interruptacknowledge):可屏蔽中斷響應(yīng)信號,輸出,低電平有效。CPU通過信號對外設(shè)提出的可屏蔽中斷請求做出響應(yīng)。為低電平時,表示CPU已經(jīng)響應(yīng)外設(shè)的中斷請求,即將執(zhí)行HYPERLINK\t"_blank"中斷服務(wù)程序。(4)ALE(addresslockenable):地址鎖存允許信號,輸出,高電平有效。CPU利用ALE信號可以把AD15~AD0地址/數(shù)據(jù)、A19/S6~A16/S3地址/狀態(tài)線上的地址信息鎖存在HYPERLINK\t"_blank"地址鎖存器中。(5)DT/(datatransmitorreceive):數(shù)據(jù)發(fā)送/接收信號,輸出,三態(tài)。DT/信號用來控制數(shù)據(jù)傳送的方向。DT/為高電平時,CPU發(fā)送數(shù)據(jù)到存儲器或I/O端口;DT/為低電平時,CPU接收來自存儲器或I/O端口的數(shù)據(jù)。(6)DEN/(dataenable):數(shù)據(jù)允許控制信號,輸出,三態(tài),低電平有效。信號用作總線收發(fā)器的選通控制信號。當(dāng)為低電平時,表明CPU進行數(shù)據(jù)的讀/寫操作。(7)HOLD(busholdrequest):總線保持請求信號,輸入,高電平有效。在DMA數(shù)據(jù)傳送方式中,由總線控制器8237A發(fā)出一個高電平有效的總線請求信號,通過HOLD引腳輸入到CPU,請求CPU讓出總線控制權(quán)。(8)HLDA(holdacknowledge):總線保持響應(yīng)信號,輸出,高電平有效。HLDA是與HOLD配合使用的聯(lián)絡(luò)信號。在HLDA有效期間,HLDA引腳輸出一個高電平有效的響應(yīng)信號,同時總線將處于浮空狀態(tài),CPU讓出對總線的控制權(quán),將其交付給申請使用總線的8237A控制器使用,總線使用完后,會使HOLD信號變?yōu)榈碗娖?,CPU又重新獲得對總線的控制權(quán)。3.2可編程并行接口芯片8255A微機系統(tǒng)的信息交換有兩種方式:并行通信接口方式和串行通信接口方式。接口電路在CPU和I/O設(shè)備之間起著信號的變換和傳輸?shù)淖饔谩?255A可為86系列CPU與外部設(shè)備之間提供并行輸入/輸出的通道。由于它是可編程的,可以通過軟件來設(shè)置芯片的工作方式,因此,用8255A連接外部設(shè)備時,通常不用再附加外部電路,使用教方便。并行接口是在多根數(shù)據(jù)線上,以數(shù)據(jù)字節(jié)/字與I/O設(shè)備交換信息。
在輸入過程中,輸入設(shè)備把數(shù)據(jù)送給接口,并且使?fàn)顟B(tài)線“輸入準(zhǔn)備好”有效。接口把數(shù)據(jù)存放在“輸入緩沖寄存器”中,同時使“輸入回答”線有效,作為對外設(shè)的響應(yīng)。外設(shè)在收到這個回答信號后,就撤消數(shù)據(jù)和“輸入準(zhǔn)備好”信號。數(shù)據(jù)到達接口中后,接口會在“狀態(tài)寄存器”中設(shè)置輸入準(zhǔn)備好標(biāo)志,或者向CPU發(fā)一個中斷請求。CPU可用查詢方式或中斷方式從接口中讀取數(shù)據(jù)。接口中的數(shù)據(jù)被讀取后,接口會自動清除狀態(tài)寄存器中的標(biāo)志,且撤消對CPU的中斷請求。
在輸出過程中,每當(dāng)輸出寄存器可以接收數(shù)據(jù),接口就會將狀態(tài)寄存器中“輸出準(zhǔn)備好”狀態(tài)置1或向CPU發(fā)一個中斷請求,CPU可用查詢或中斷方式向接口輸出數(shù)據(jù)。當(dāng)CPU輸出的數(shù)據(jù)到達接口后,接口會清除“輸出準(zhǔn)備好”狀態(tài),把數(shù)據(jù)送往外設(shè),并向外設(shè)發(fā)一個“數(shù)據(jù)輸出準(zhǔn)備好”信號。外設(shè)受到驅(qū)動后,便接收數(shù)據(jù),并向接口電路發(fā)一個“輸出回答”信號,接口收到該回答信號后,又將狀態(tài)寄存器中“輸出準(zhǔn)備好”置位,以便CPU輸出下一個數(shù)據(jù)。定義工作方式控制字:3.3LED數(shù)碼管LED為發(fā)光二極管構(gòu)成的顯示器件,亦稱數(shù)碼管。由7個字符段和一個小數(shù)點段組成,每段對應(yīng)一個發(fā)光二極管,當(dāng)發(fā)光二極管點亮?xí)r,相應(yīng)的字符段點亮。LED有共陰極和共陽極兩種供應(yīng)狀態(tài)。共陰極顯示時,將LED顯示的COM接地,將八個字符段端a、b、c、d、e、f、g、dp依次與一個8位I/O口的最低到最高位連接,當(dāng)I/O給LED的哪個字符段送入一個高電平時,該段就被點亮,從而可從這7個字符段中被點亮的構(gòu)成相應(yīng)的字符顯示出來。同理,COM陽極即將COM端接Vcc,其顯示原理與COM陰極的基本相同,但I/O口送入低電平是相應(yīng)的段才被點亮。3.44×4矩陣按鍵 鍵盤是常用信息輸入元件,其實鍵盤也是由一個個按鈕組成,如果是獨立按鈕的話必須要需要一個I/O口對它進行檢測,而鍵盤往往這需要鍵盤按鈕數(shù)一半的I/O口數(shù)對它進行檢測,也許對一個比較簡單的系統(tǒng)I/O口數(shù)一般不是問題,但對于一個大型、復(fù)雜的系統(tǒng)來說I/O資源就顯得非常珍貴了,盡量減少I/O使用是非常利于降低成本,另外一方面鍵盤比用獨立按鍵要美觀,這也是鍵盤能夠長期得到人們青睞的原因,可是硬件上的節(jié)省必然導(dǎo)致軟件上編程的復(fù)雜,那就來看看鍵盤到底使軟件編程有多復(fù)雜? 因為4×4矩陣鍵盤有8個管腳,于是將鍵盤接8255A的PC口,至于為什么選擇PC是有原因的,進行鍵盤掃描一般要求有一部分的I/O口的工作方式是輸入,另一部分I/O是輸出,具體到4×4鍵盤則要求4個I/O口輸入,另外4個輸出,這一點PC口剛好符合,而PA、PB口要么全部輸入或輸出,所以只能是PC口接鍵盤。3.5硬件原理圖四軟件設(shè)計4.1程序流程圖(1)鍵盤掃描程序流程圖:開始開始初始化延時12ms鍵掃描保存鍵值鍵閉合?鍵釋放?結(jié)束鍵閉合?YYYNNN(2)總程序流程圖:計算鍵值計算鍵值掃描加法運算減法運算顯示乘法運算存儲除法運算數(shù)值?運算符?“=”??清零“+”?“--”??“*”??4.2源代碼DATASEGMENTX DB ? ;存放數(shù)據(jù)的每一位X1 DW ? ;存放第一個數(shù)據(jù)值X2 DW ? ;存放第二個數(shù)據(jù)值Y DW ? ;存放運算結(jié)果S DB ?;存放運算符號值E DB ?;按下等號鍵標(biāo)記CC DB ?;存放運算數(shù)據(jù)位數(shù)H DB 0;存放按鍵行號L DB 0;存放按鍵列號DISCODE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;段碼表DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,90H ;設(shè)置為A口輸入,B口輸出,C口輸出OUT 46H,ALMOV DI,OFFSETX+3 ;DI指向X的高位KKK: CALL KEY ;掃描按鍵JMP KKK;以下為按鍵掃描子程序,程序返回后,在變量H和L中存放當(dāng)前按鍵的行列號KEYPROCCHECK: CALL DISP ;等待按鍵按下的同時進行顯示MOV AL,0F0H ;所有行輸出低電平OUT 44H,ALIN AL,40HCMP AL,0FFH;讀列值JZ CHECK ;若都為高電平則無鍵按下,等待MOV CX,50LOOP $;延時消抖IN AL,DX;重讀列值CMP AL,0FFHJZ CHECK;無鍵按下一直等待MOV H,0;有鍵按下,先把行列號變量清0MOV L,0MOV BL,01HMOV BH,0FEH;掃描法讀鍵值:從第一行開始測試,即PC0輸出低電平NEXT: MOV AL,BHOUT 44H,ALNEXTH: IN AL,40H ;讀列值,判斷是第幾列有鍵按下TEST AL,BL;從第一列開始判斷JZ WAIT0ROL BL,1CMP BL,10H;當(dāng)前行狀態(tài)下沒有列有鍵按下,則轉(zhuǎn)為對下一行的測試JZ NEXTLINC H ;每判斷一列,列號加1JMP NEXTH ;再對下一列進行判斷NEXTL: MOV H,0MOV BL,01HROL BH,1;對下一行測試,讓下一個PC口輸出低電平CMP BH,0EFHJZ EXITINC LJMP NEXTWAIT0: IN AL,40H;若有鍵按下,則等該按鍵松開后再計算鍵值CMP AL,0FFHJNZ WAIT0MOV CX,50LOOP $ ;延時消抖IN AL,40HCMP AL,0FFHJNZ WAIT0CALL KEYVALUE ;調(diào)計算鍵值子程序EXIT: RETKEYENDP;以下為計算鍵值子程序,通過行列號計算鍵值(鍵值=行號*4+列號)鍵值存放在DL寄存器中KEYVALUEPROCMOV DL,LMOV DH,HSHL DL,1SHL DL,1 ;列號乘4ADD DL,DHCMP DL,9 ;按下的是數(shù)字鍵JNG NUM_CALLCMP DL,14JL CONT_CALL ;按下的是運算鍵CMP DL,14JZ OUTP_CALL ;按下的是等于鍵CMP DL,15JZ CLR_CALL ;按下的是清除鍵NUM_CALL: CALL NUMBER ;調(diào)數(shù)字鍵處理子程序JMP EXIT1CONT_CALL: MOV S,DL ;存放運算鍵的鍵值MOV E,0CALL COUNT 調(diào)運算鍵處理子程序,計算第一個加數(shù)JMP EXIT1OUTP_CALL: CALL OUTP ;調(diào)等號鍵處理子程序JMP EXIT1CLR_CALL: CALL CLEAR ;調(diào)清除鍵處理子程序EXIT1: RETKEYVALUEENDP;以下為清除鍵處理子程序,按下清除鍵后,X變量全部清0CLEARPROCMOV X[3],0MOV X[2],0MOV X[1],0MOV X[0],0CALL BITPRETCLEARENDP;以下為等號鍵處理子程序,該子程序負責(zé)將第二個運算數(shù)據(jù)的數(shù)值計算出來存入X2變量;并根據(jù)運算符號,調(diào)用相應(yīng)的運算子程序OUTPPROCPUSH AXPUSH DXPUSH BXINC ECALL COUNT;調(diào)運算鍵處理子程序,計算第二個運算數(shù)據(jù)CMP S,10JZ ADD_CALL;運算符為加號,則調(diào)用加法子程序CMP S,11JZ SUB_CALL;運算符為減號,則調(diào)用減法子程序CMP S,12JZ MUL_CALL;運算符為乘號,則調(diào)用乘法子程序CMP S,13CALL DIVP;運算符為除號,則調(diào)用除法子程序JMP STORE1ADD_CALL: CALL ADDPJMP STORE1SUB_CALL: CALL SUBPJMP STORE1MUL_CALL: CALL MULPSTORE1: MOV AX,Y;以下程序?qū)⒏鬟\算子程序返回的運算結(jié)果,按位分解,送入X變量MOV DX,0MOV BX,1000DIV BXMOV X[0],ALMOV AX,DXMOV BL,100DIV BLMOV X[1],ALMOV AL,AHMOV AH,0MOV BL,10DIV BLMOV X[2],ALMOV X[3],AHPOP BXPOP DXPOP AXRETOUTPENDP;以下為運算鍵處理子程序,該程序?qū)⒌谝粋€運算數(shù)據(jù)的數(shù)值計算出來并存入X1變量;或者將第二個運算數(shù)據(jù)的數(shù)值計算出來并存入X2變量;將運算符的值存入S變量COUNTPROCPUSH AXPUSH BXPUSH DXMOV DX,0CALL BITP ;測試X中的數(shù)據(jù)是多少位CMP CC,4 ;輸入的數(shù)據(jù)是4位數(shù)?JZ C4CMP CC,3 ;輸入的數(shù)據(jù)是3位數(shù)?JZ C3CMP CC,2 ;輸入的數(shù)據(jù)是2位數(shù)?JZ C2JMP C1 ;輸入的數(shù)據(jù)是1位數(shù)?C4: MOV AX,0MOV AL,X[0]MOV BX,1000MUL BXMOV DX,AXC3: MOV AL,X[1]MOV BL,100MUL BLADD DX,AXC2: MOV AL,X[2]MOV BL,10MUL BLADD DX,AXC1: MOV AL,X[3]MOV AH,0ADD DX,AXCMP E,1JNZ X1_SMOV X2,DX ;按下的是等號,則將第二個運算數(shù)據(jù)的值存入X2變量JMP EXIT3X1_S: MOV X1,DX ;按下的是運算符號,則將第一個運算數(shù)據(jù)的值存X1變量MOV X[3],0 ;清空X變量MOV X[2],0MOV X[1],0MOV X[0],0EXIT3:POP DXPOP BXPOP AXRETCOUNTENDP;以下為數(shù)字鍵處理子程序;該程序,將輸入的數(shù)據(jù)按位存放在X變量中,并由CC記錄數(shù)據(jù)的位數(shù)NUMBERPROCCMP E,1JNZ CONTINUEMOV E,0CALL CLEARCONTINUE:CMP CC,0;目前數(shù)據(jù)為0位,即沒有數(shù)據(jù),則轉(zhuǎn)到SSSJZ SSSPUSH AXPUSH DXMOV AL,X[3]MOV AH,X[2]MOV DL,X[1]MOV DH,X[0]MOV CX,8LL: SHL AX,1RCL DX,1LOOP LLMOV X[3],ALMOV X[2],AHMOV X[1],DLMOV X[0],DHPOP DXPOP AXSSS: MOV [DI],DL;將當(dāng)前鍵入的數(shù)據(jù)存放到X的最低位INC CC;數(shù)據(jù)位數(shù)加1CMP CC,4;判斷數(shù)據(jù)位數(shù)JNG EXIT2MOV CC,0;如果數(shù)據(jù)超過4位,重新從最低位開始存放MOV X[2],0MOV X[1],0MOV X[0],0EXIT2:CALL DISP;調(diào)顯示子程序,顯示輸入的數(shù)據(jù)RETNUMBERENDP;加法子程序ADDPPROCPUSH AXMOV AX,X1ADD AX,X2MOV Y,AXPOP AXRETADDPENDP;減法子程序SUBPPROCPUSH AXMOV AX,X1SUB AX,X2MOV Y,AXPOP AXRETSUBPENDP;乘法子程序MULPPROCPUSH AXPUSH DXMOV AX,X1MOV DX,X2MUL DXMOV Y,AXPOP DXPOP AXRETMULPENDP;除法子程序DIVPPROCPUSH AXPUSH BXPUSH DXMOV DX,0MOV AX,X1MOV BX,X2DIV BXMOV Y,AXPOP DXPOP BXPOP AXRETDIVPENDP;顯示子程序,將X中的數(shù)值按位顯示出來DISPPROCPUSH BXPUSH AXMOV BH,0LEA SI,DISCODECALL BITP ;測試X位數(shù)CMP CC,4JZ QIANCMP CC,3JZ BAICMP CC,2JZ SHICMP CC,1JMP GJMP NONEQIAN: MOV ;從第4位開始顯示MOV AL,AHOUT 44H,ALMOVBL,X[0]MOVAL,[SI+BX]OUT 42H,ALCALLDELYMOV AL,0OUT 42H,ALBAI: MOV ;從第3位開始顯示MOVAL,AHOUT 44H,ALMOV BL,X[1]MOVAL,[SI+BX]OUT 42H,ALCALLDELYMOV AL,0OUT42H,ALSHI: MOV ;從第2位開始顯示MOV AL,AHOUT 44H,ALMOV BL,X[2]MOV AL,[SI+BX]OUT42H,ALCALLDELYMOV AL,0OUT 42H,ALG: MOV AH,01110000B;從第1位開始顯示MOV AL,AHOUT 44H,ALMOVBL,X[3]MOV AL,[SI+BX]OUT 42H,ALCALLDELYJMP EXIT4NONE:MOV AL,0;X中沒有數(shù)據(jù),不顯示OUT 42H,ALEXIT4:POP AXPOP BXRETDISPENDP;分析數(shù)據(jù)位數(shù)子程序BITPPROCCMP X[0],0 ;如果X[0]不為0,則數(shù)據(jù)為4位數(shù)JNZ FOURBITCMP X[1],0 ;如果X[1]不為0,則數(shù)據(jù)為3位數(shù)JNZ THREEBITCMP X[2],0 ;如果X[2]不為0,則數(shù)據(jù)為2位數(shù)JNZ TOWBITCMP X[3],0 ;如果X[3]不為0,則數(shù)據(jù)為1位數(shù)JNZ ONEBITJMP ZER0BIT ;否則,沒有數(shù)據(jù)FOURBIT: MOV CC,4JMP EXIT5THREEBIT:MOV CC,3JMP EXIT5TOWBIT: MOV CC,2JMP EXIT5ONEBIT: MOVCC,1JMPEXIT5ZER0BIT: MOVCC,0EXIT5: RETBITPENDP;延時子程序DELYPROCPUSH CXMOV CX,100LOOP $POP CXRETDELYENDPCODEENDSENDSTART五仿真第一步,進行數(shù)碼管顯示的仿真。編寫一段直接賦值送到數(shù)碼管顯示的程序,進行數(shù)碼管顯示的仿真。第二步,進行鍵盤掃描的仿真。編寫代碼,將掃描到的鍵值送到數(shù)碼管顯示。第三步,在數(shù)碼管顯示和鍵盤掃描程序都正確的基礎(chǔ)上,逐步增加代碼,增加功能,逐步實現(xiàn)按鍵值的存儲與顯示、清零、加法、減法、乘法、除法等功能的仿真。六課程設(shè)計體會 上學(xué)期剛學(xué)過微機原理,學(xué)得不是很深入,僅限于課本知識的掌握,而此次課程設(shè)計將會是一個很好的機會,來考察自己對課本知識的掌握以及應(yīng)用情況。本次課程設(shè)計是四人一組,并且自由選擇設(shè)計課題,我們小組選擇了簡易計算器的課題,在做的過程中也遇到很多困難。 在硬件設(shè)計模塊,參考了課本上的相關(guān)例題以及查閱相關(guān)資料,發(fā)現(xiàn)關(guān)于此次課程設(shè)計的所有課題的硬件原理圖都有很大的共同之處,都是利用8086芯片經(jīng)過地址鎖存器,再通過譯碼器,最后利用8255A或者更多芯片(如8253等)進行設(shè)計在軟件設(shè)計模塊,數(shù)碼管顯示和鍵盤掃描程序參考了書上的相關(guān)例題,也查閱了很多資料,發(fā)現(xiàn)原理都差不多,并且對此次課
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公室空間中的綠色植物應(yīng)用
- 現(xiàn)代制造園區(qū)的投資風(fēng)險評估與管理
- 現(xiàn)代企業(yè)經(jīng)營中的稅務(wù)籌劃與風(fēng)險管理
- 國慶節(jié)主題客堂活動方案
- 2024年春九年級化學(xué)下冊 第10單元 酸和堿 實驗活動6 酸、堿的化學(xué)性質(zhì)說課稿 (新版)新人教版
- Unit7 第2課時(說課稿)Story time三年級英語上冊同步高效課堂系列(譯林版三起·2024秋)
- 2《紅燭》《致云雀》聯(lián)讀說課稿 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 《4 做陽光少年》(說課稿)-2023-2024學(xué)年五年級上冊綜合實踐活動皖教版
- 2025水運工程施工監(jiān)理合同(試行)
- 2025企業(yè)聘用臨時工合同
- 城市隧道工程施工質(zhì)量驗收規(guī)范
- 2025年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024年參考題庫含答案解析
- 2025江蘇太倉水務(wù)集團招聘18人高頻重點提升(共500題)附帶答案詳解
- 2024-2025學(xué)年人教新版高二(上)英語寒假作業(yè)(五)
- 2025脫貧攻堅工作計劃
- 借款人解除合同通知書(2024年版)
- 《血小板及其功能》課件
- 江蘇省泰州市靖江市2024屆九年級下學(xué)期中考一模數(shù)學(xué)試卷(含答案)
- 沐足店長合同范例
- 《旅游資料翻譯》課件
- 《既有軌道交通盾構(gòu)隧道結(jié)構(gòu)安全保護技術(shù)規(guī)程》
評論
0/150
提交評論