8086簡易計算器的設(shè)計 微機(jī)原理 計硬報告_第1頁
8086簡易計算器的設(shè)計 微機(jī)原理 計硬報告_第2頁
8086簡易計算器的設(shè)計 微機(jī)原理 計硬報告_第3頁
8086簡易計算器的設(shè)計 微機(jī)原理 計硬報告_第4頁
8086簡易計算器的設(shè)計 微機(jī)原理 計硬報告_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選文檔計算機(jī)硬件技術(shù)實踐報告題目 簡易計算器的設(shè)計 姓名 專業(yè) 自動化(電站方向) 班級 學(xué)號 上海電力學(xué)院自動化工程學(xué)院實踐報告內(nèi)容(目錄)一. 設(shè)計題目二. 開發(fā)目的三. 小組成員分工及成果四. 設(shè)計方案以及論證五. 硬件原理圖(包括芯片的選型介紹)六. 程序流程圖(包括各個子系統(tǒng)和子過程的程序流程)七. 程序清單,要有適當(dāng)?shù)淖⑨尠? 程序運(yùn)行結(jié)果分析與預(yù)測九. 結(jié)果評述或總結(jié)(對實驗結(jié)果進(jìn)行分析,對實驗過程進(jìn)行總結(jié),系統(tǒng)改進(jìn)升級建議或者提出新的方案等。)一. 設(shè)計題目:用8086設(shè)計一個能實現(xiàn)09整數(shù)加法運(yùn)算的計算器,并用2位LED數(shù)碼顯示. 鍵盤包括0-9,+ ,-,*,/,=,ON

2、/C;共16個按鍵.能實現(xiàn)簡單的清零操作,減法運(yùn)算,乘法運(yùn)算.二.開發(fā)目的:通過課程設(shè)計,熟悉和掌握微機(jī)系統(tǒng)的軟件、硬件設(shè)計的方法、設(shè)計步驟,得到微機(jī)開發(fā)應(yīng)用方面的初步訓(xùn)練。培養(yǎng)集體討論設(shè)計題目的總體設(shè)計方案、編程、軟件硬件調(diào)試、編寫設(shè)計報告等問題,做到理論聯(lián)系實際,提高動手能力和分析問題、解決問題的能力,實現(xiàn)由學(xué)習(xí)知識到應(yīng)用知識的初步過渡。通過本次課程設(shè)計熟練運(yùn)用程序?qū)?255控制鍵盤和LED顯示的控制,完成計算器加減法的應(yīng)用,并熟練應(yīng)用8086匯編語言編寫應(yīng)用程序和實際設(shè)計中的硬軟件調(diào)試方法和步驟,熟悉微機(jī)系統(tǒng)的硬軟件開發(fā)工具的使用方法。三.小組成員分工及成果:本組的三個成員一起討論研究簡

3、易計算器設(shè)計的主要方案。粗略設(shè)計程序流程圖以確定簡易計算器設(shè)計的大概框架。明確目的后各自查詢資料了解設(shè)計原理、逐步清晰設(shè)計思路。以下為大體分工:主要負(fù)責(zé):1、設(shè)計主要程序,編寫;2、查找資料驗證修改;主要負(fù)責(zé):1、選擇需要用的各個芯片;2、設(shè)計硬件原理圖;主要負(fù)責(zé):1、各個芯片功能的資料查找; 2、設(shè)計程序流程圖四.設(shè)計方案以及論證:利用程序不斷掃描所設(shè)的按鈕鍵盤是不是有輸入,如果沒有就一直掃描,如果有就調(diào)用子程序進(jìn)行判斷,是數(shù)值則進(jìn)行存儲并同時進(jìn)行顯示,是運(yùn)算符號等就調(diào)用相應(yīng)的子程序進(jìn)行操作,操作后則繼續(xù)利用程序不斷掃描鍵盤是不是有輸入,從而實現(xiàn)部分十進(jìn)制數(shù)的加、減、乘、除的運(yùn)算。運(yùn)算完成后

4、根據(jù)程序?qū)⑦\(yùn)算的結(jié)果儲存到鎖存器中并顯示到LED顯示器上。主要器件選擇是采用8086CPU做主控制器,8255作為并行接口電路實現(xiàn)按鍵掃描以及數(shù)碼管的顯示。通過8255A的C口和A口實現(xiàn)鍵盤的接入,通過鍵盤的不斷掃描,如果有鍵按下,通過查表法分別將輸入的數(shù)據(jù)讀到AL中并保存在第一個和第二個數(shù)里,將8255A的B端口接上共陰極LED燈,將輸入的數(shù)據(jù)通過查表法,將四段碼送共陰極LED燈顯示,當(dāng)按下=時,通過判斷字符,8086來實現(xiàn)不同的操作,并將結(jié)果在LED燈上顯示,當(dāng)按下“C”時,將數(shù)據(jù)先清零,同時LED燈上顯示為“00”。五.硬件原理圖(包括芯片的選型介紹):芯片選型及介紹:(1)8086CP

5、U:8086通過數(shù)據(jù)總線、地址總線、控制總線完成對8253和8255的讀寫工作,與接口部件實現(xiàn)數(shù)據(jù)傳送,讓接口部件實現(xiàn)預(yù)計的功能.8086CPU的40條引腳信號可按功能分可分為四類,它們是:地址總線,數(shù)據(jù)總線,控制總線,其它(時鐘與電源)。 最小模式下一些引腳功能(MN/MX接5V):AD15AD0,地址/數(shù)據(jù)總線 A19/S6A16/S3,地址/狀態(tài)總線 RD,讀信號 WR,寫信號 M/IO,存儲器/輸入輸出控制信號ALE,地址鎖存允許信號READY(Ready),準(zhǔn)備就緒信號INTR,可屏蔽中斷請求信號INTA,中斷響應(yīng)信號 NMI,非屏蔽中斷請求信號RESET,系統(tǒng)復(fù)位信號 DEN,數(shù)據(jù)

6、允許信號 DT/R,數(shù)據(jù)發(fā)送/接收控制信號HOLD,總線保持請求信號輸入 HLDA,總線保持響應(yīng)信號 TEST,測試信號 CLK,時鐘輸入信號 VCC(+5V),GND (2)8255A可編程并行接口芯片:Intel 8086/8088 系列的可編程外設(shè)接口電路(Programmable Peripheral Interface)簡稱 PPI,型號為8255(改進(jìn)型為8255A及8255A-5),具有24條輸入/輸出引腳、可編程的通用并行輸入/輸出接口電路。它是一片使用單一+5V電源的40腳雙列直插式大規(guī)模集成電路。8255A的通用性強(qiáng),使用靈活,通過它CPU可直接與外設(shè)相連接。 8255A可

7、為8086微處理器與外部設(shè)備之間提供并行輸入/輸出的通道。通過編程可以設(shè)置芯片的工作方式,并行接口是在多根數(shù)據(jù)線上,以數(shù)據(jù)字節(jié)/字與I/O設(shè)備交換信息。8255A由數(shù)據(jù)總線緩沖器、讀/寫控制邏輯電路、A組和B組控制電路以及數(shù)據(jù)端口A、B和C組成。數(shù)據(jù)總線緩沖器是8255A與系統(tǒng)數(shù)據(jù)總線的接口,CPU輸入輸出的數(shù)據(jù)、CPU輸出的控制字和外設(shè)的狀態(tài)信息都是通過這個緩沖器傳送的。讀/寫控制邏輯電路把CPU的控制命令或輸出數(shù)據(jù)送至相應(yīng)的端口,把外設(shè)的狀態(tài)信息或輸入數(shù)據(jù)通過相應(yīng)的端口送至CPU。數(shù)據(jù)端口PA和PB都包含一個8位輸出鎖存器/緩沖器和一個8位輸入鎖存器,(3)74HC373:其中D0-D7為

8、數(shù)據(jù)輸入端,Q0-Q7為輸出端。當(dāng)三態(tài)允許控制端OE為低電平時,Q0-Q7為正常邏輯狀態(tài),可用來驅(qū)動負(fù)載或總線,當(dāng)OE為高電平時,Q0-Q7成高阻態(tài),不驅(qū)動總線。當(dāng)鎖存允許端LE為高電平時,Q隨數(shù)據(jù)D而變,當(dāng)LE為低電平D被鎖存在已建立的數(shù)據(jù)電平。(4)74HC138:74HC138是一款高速CMOS器件,74HC138引腳兼容低功耗肖特基TTL(LSTTL)系列。74HC138譯碼器可接受3位二進(jìn)制加權(quán)地址輸入(A0, A1和A2),并當(dāng)使能時,提供8個互斥的低有效輸出(Y0至Y7)。74HC138特有3個使能輸入端:兩個低有效(E1和E2)和一個高有效(E3)。除非E1和E2置低且E3置高

9、,否則74HC138將保持所有輸出為高,74HC138為反相輸出,它按照三位二進(jìn)制輸入碼和賦能輸入條件,從8 個輸出端中譯出一個 低電平輸出。兩個低電平有效的賦能輸入端和一個高電平有效的賦能輸入端減少了擴(kuò)展所需要的外接門或倒相器。六.程序流程圖:七.程序清單DATA SEGMENT NUM1 DB 03H DUP(0) NUM DB 03H DUP(0)DATA ENDSSTACK SEGMENT DW 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKPORTA EQU 30HPORTB EQU 32HPORTC E

10、QU 34HPORT8255 EQU 36HMAIN PROC FARSTART: MOV AX,DATA MOV DS,AX MOV DX,PORT8255 MOV AL,81H OUT DX,ALLOPL: XOR AH,AH CALL KEY CMP AH,00H JZ LOPL CMP AL,0FH JZ CCCL CMP AL,0AH JZ LOPL JNC LOPL OUT 32H,ALLOPL2: LEA SI,NUM MOV SI,AL PUSH AXLOPL1: XOR AH,AH CALL KEY CMP AH,00H JZ LOPL1 CMP AL,0FH JZ CCCL

11、 CMP AL,0AH JZ XX1 CMP AL,0BH JZ XX2 CMP AL,0CH JZ XX3D CMP AL,0DH JZ XX4D JMP LOPL1CCCL: MOV AL,00H OUT 32H,AL JMP LOPLXX3D: CALL XX3XX4D: CALL XX4MAIN ENDPXX1 PROC NOP ;加LOPL3: XOR AH,AH CALL KEY CMP AH,00H JZ LOPL3 CMP AL,0FH JZ CCCL CMP AL,0AH JZ LOPL3 JNC LOPL3 OUT 32H,AL PUSH AX LEA SI,NUM MOV

12、 SI+1,ALLOPL4: XOR AH,AH CALL KEY CMP AH,00H JZ LOPL4 CMP AL,0FH JZ CCCL CMP AL,0EH JZ XXX1 JMP LOPL4XXX1: LEA SI,NUM MOV AL,SI AND AL,0FH MOV DL,SI+1 AND DL,0FH ADD AL,DL DAA OUT 32H,AL JMP LOPLXX1 ENDPXX2 PROC NOP ;減LOPL5: XOR AH,AH CALL KEY CMP AH,00H JZ LOPL5 CMP AL,0FH JZ CCCL CMP AL,0AH JZ LOP

13、L5 JNC LOPL5 OUT 32H,AL PUSH AX LEA SI,NUM MOV SI+1,ALLOPL6: XOR AH,AH CALL KEY CMP AH,00H JZ LOPL6 CMP AL,0FH JZ CCCL7 CMP AL,0EH JZ XXX2 JMP LOPL6XXX2: LEA SI,NUM MOV AL,SI AND AL,0FH MOV DL,SI+1 AND DL,0FH SUB AL,DL ADD AL,00H DAA OUT 32H,AL JMP LOPLCCCL7: MOV AL,00H OUT 32H,AL JMP LOPLXX2 ENDPXX

14、3 PROCLOPL7: XOR AH,AH CALL KEY ;乘 CMP AH,00H JZ LOPL7 CMP AL,0FH JZ CCCL2 CMP AL,0AH JZ LOPL7 JNC LOPL7 OUT 32H,AL PUSH AX LEA SI,NUM MOV SI+1,ALLOPL8: XOR AH,AH CALL KEY CMP AH,00H JZ LOPL8 CMP AL,0FH JZ CCCL3 CMP AL,0EH JZ XXX3 JMP LOPL8XXX3: LEA SI,NUM MOV AL,SI AND AL,0FH MOV DL,SI+1 AND DL,0FH

15、 MUL DL AAM MOV CL,4 SAL AH,CL OR AL,AH OUT 32H,AL JMP LOPLCCCL2: MOV AL,00H OUT 32H,AL JMP LOPLCCCL3: MOV AL,00H OUT 32H,AL JMP LOPLXX3 ENDPXX4 PROC ;除LOPL9: XOR AH,AH CALL KEY CMP AH,00H JZ LOPL9 CMP AL,0FH JZ CCCL5 CMP AL,0AH JZ LOPL9 JNC LOPL9 OUT 32H,AL PUSH AX LEA SI,NUM MOV SI+1,ALLOPL10: XOR

16、 AH,AH CALL KEY CMP AH,00H JZ LOPL10 CMP AL,0FH JZ CCCL4 CMP AL,0EH JZ XXX4 JMP LOPL10XXX4: LEA SI,NUM MOV AL,SI AND AL,0FH MOV BL,SI+1 AND BL,0FH AND AX,000FH DIV BL OUT 32H,AL JMP LOPLCCCL4: MOV AL,00H OUT 32H,AL JMP LOPLCCCL5: MOV AL,00H OUT 32H,AL JMP LOPLXX4 ENDPKEY PROC NOP LEA SI,NUM1 MOV AL,

17、0EH OUT 30H,AL IN AL,34H CMP AL,07H JZ LL7 CMP AL,0BH JZ LL8 CMP AL,0DH JZ LL9 CMP AL,0EH JZ LDIVSS1: MOV AL,0DH OUT 30H,AL IN AL,34H CMP AL,07H JZ LL4 CMP AL,0BH JZ LL5 CMP AL,0DH JZ LL6 CMP AL,0EH JZ LMULSS2: MOV AL,0BH OUT 30H,AL IN AL,34H CMP AL,07H JZ LL1 CMP AL,0BH JZ LL2 CMP AL,0DH JZ LL3 CMP

18、 AL,0EH JZ LSUBSS3: MOV AL,07H OUT 30H,AL IN AL,34H CMP AL,07H JZ SCLC CMP AL,0BH JZ LL0 CMP AL,0DH JZ LEQU CMP AL,0EH JZ LADD JMP KCLCLDIV: MOV AL,0DH JMP LCLCLL0: MOV AL,00H JMP LCLCLL1: MOV AL,01H JMP LCLCLL2: MOV AL,02H JMP LCLCLL3: MOV AL,03H JMP LCLCLL4: MOV AL,04H JMP LCLCLL5: MOV AL,05H JMP

19、LCLCLL6: MOV AL,06H JMP LCLCLL7: MOV AL,07H JMP LCLCLL8: MOV AL,08H JMP LCLCLL9: MOV AL,09H JMP LCLCLADD: MOV AL,0AH JMP LCLCLSUB: MOV AL,0BH JMP LCLCLMUL: MOV AL,0CH JMP LCLCLEQU: MOV AL,0EH JMP LCLCSCLC: MOV AL,0FHLCLC: MOV SI,AL MOV AH,01HKCLC: RETKEY ENDPCODE ENDS END START八.程序運(yùn)行結(jié)果分析與預(yù)測:連接完線路圖后把編好的程序關(guān)聯(lián)到8086CPU中進(jìn)行運(yùn)行調(diào)試,肯定可以實現(xiàn)加減乘除運(yùn)算,例如3+8=11,通過按鍵分別輸入“3”, “+”,“8”, “=”后,LED燈上將顯示出“11”.能實現(xiàn)清零操作,當(dāng)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論