微機(jī)原理課程設(shè)計_第1頁
微機(jī)原理課程設(shè)計_第2頁
微機(jī)原理課程設(shè)計_第3頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、jiangsu university of science and technology微機(jī)原理課程設(shè)計設(shè)計報告姓名:張經(jīng)緯學(xué)號:1345533124班級:13電氣1班專業(yè):電氣工程及其自動化學(xué)院:電氣與工程信息學(xué)院2016年3月目錄一、設(shè)計任務(wù)描述 31.1設(shè)計題目 31.2設(shè)計目的 31.3設(shè)計要求 3二、設(shè)計方案描述 32.1設(shè)計原理 32.2設(shè)計芯片結(jié)構(gòu) 4三、具體模塊設(shè)計 53.1概述 53.2小鍵盤模塊 53.3顯示模塊 53.4定時模塊 63.5中斷處理模塊 63.6硬件接線圖 63.7 主程序流程圖 6四、可控電子時鐘源程序 9五、心得體會 14可調(diào)電子時鐘一、設(shè)計任務(wù)描述1.

2、1設(shè)計題目可調(diào)電子鐘設(shè)計1.2設(shè)計目的微型計算機(jī)原理及應(yīng)用是一門實踐性較強(qiáng)的課程,課堂上的理論學(xué)習(xí) 不足以讓學(xué)生熟練掌握這門課程。所以讓學(xué)生在學(xué)完該課程之后,進(jìn)行一次課 程設(shè)計,使學(xué)生將課堂所學(xué)的知識和實踐有機(jī)結(jié)合起來,初步掌握計算機(jī)應(yīng)用 系統(tǒng)設(shè)計的步驟和接口設(shè)計的方法,提高分析和解決實際問題的能力。具體如 下:1、熟悉中斷工作原理,定時計數(shù)原理,并行通信原理工作原理。2、掌握8259芯片,8254芯片,8255芯片功能,結(jié)構(gòu),編程。3、掌握七段數(shù)碼管以及小鍵盤的使用。4、能運用所提到的芯片,設(shè)計系統(tǒng)并進(jìn)行程序開發(fā),滿足用戶需求。1.3設(shè)計要求1、設(shè)計一電子時鐘,能計時、在數(shù)碼管上顯示時間并用

3、鍵盤調(diào)節(jié)時間。2、根據(jù)所用的接口電路芯片設(shè)計出完整的接口電路 ,并在實驗系統(tǒng)上完成 電路的連接和調(diào)試通過.3、程序設(shè)計:要求畫出程序框圖,設(shè)計出全部程序并給出程序設(shè)計說明和程 序注釋。4、前期完成的實驗有:8259A中斷控制器實驗,8254定時計數(shù)器實驗, 8255并行接口實驗。二、設(shè)計方案描述2.1設(shè)計原理首先利用程序硬性規(guī)定分、秒的起始時間為零。利用實驗臺上提供的定時 器8254和擴(kuò)展板上提供的8259以及鍵盤和數(shù)碼顯示電路,設(shè)計一個電子時鐘, 由8254中斷定時,小鍵盤控制電子時鐘的初始值的預(yù)置。電子時鐘的顯示格式 HH MM SS由左到右分別為時、分、秒,最大記時 24: 00: 00

4、超過這個時間 時分秒都清零從00: 00: 01重新開始?;竟ぷ髟恚好亢撩雽撩爰拇嫫鞯膬?nèi)容加一,滿1000毫秒對秒位進(jìn)一,每秒對秒位寄存器的內(nèi)容加一,滿 60秒對分位進(jìn)一,以此類推。依次完成對秒、 分、小時寄存器的遞增,六個數(shù)碼管動態(tài)顯示時、分、秒的當(dāng)前值。2.2設(shè)計芯片結(jié)構(gòu)1、 8255可編程外圍接口芯片是Intel公司生產(chǎn)的通用并行I/O接口芯片,它具有A、B、C三個并行接口,并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O設(shè)備或被控制對象之間傳遞信息。CPU和接口之間 的數(shù)據(jù)傳送總是并行的,即可 以同時傳遞8位、16位、32位等。用+5V單電源供電,能在以下三種方式下 工作:方式0-基本輸入/

5、出方式、方式1-選通輸入/出方式、方式2-雙向選 通工作方式。2、中斷控制器8259是In tel公司專為控制優(yōu)先級中斷而設(shè)計開發(fā)的芯片。它將中斷源優(yōu)先級 排隊、辨別中斷源以及提供中斷矢量的電路集于一片中,因 此無需附加任何電路,只需對 8259A進(jìn)行編程,就可以管理8級中斷,并選 擇優(yōu)先模式和中斷請求方式,即中斷結(jié)構(gòu)可以由用戶編程來設(shè)定。同時,在不需增加其他電路的情況下,通過多片 8259A的級連,能構(gòu)成多達(dá)64級的矢量 中斷系統(tǒng)。它的管理功能包括:1)記錄各級中斷源請求,2)判別優(yōu)先級,確 定是否響應(yīng) 和響應(yīng)哪一級中斷,3)響應(yīng)中斷時,向CPU傳送中斷類型號。3、8254是In tel公司

6、生產(chǎn)的可編程間隔定時器。是 8253的改進(jìn)型,比 8253具有更優(yōu)良的性能。8254具有以下基本功能:有3個獨立的16位計數(shù)器;每個計數(shù)器可按二進(jìn)制或十進(jìn)制(BCD計數(shù);每個計數(shù)器可編程工作 于6種不同工作方式;每個計數(shù)器允許的最高計數(shù)頻率為10MHz 8254有讀回命令,除了可以讀出當(dāng)前計數(shù)單元的內(nèi)容外,還可以讀出狀 態(tài)寄存器的內(nèi)容。計數(shù)脈沖可以是有規(guī)律的時鐘信號,也可以是隨機(jī)信號。三、具體模塊設(shè)計3.1概述本系統(tǒng)設(shè)計的電子鐘以8086微處理器作為CPU用8254做定時計數(shù)器產(chǎn) 生時鐘頻率,8255做可編程并行接口顯示時鐘和鍵盤電路,8259做中斷控制器產(chǎn)生中斷。在此系統(tǒng)中,8254的功能是

7、定時,接入8254的CLK信號為周期性 時鐘信號。8254采用計數(shù)器0,工作于方式2。程序由以下模塊組成:系統(tǒng)共 有5個功能模塊,分別為,主控模塊,顯示模塊,定時模塊,中斷模塊,小鍵 盤模塊。系統(tǒng)框圖如下:圖一系統(tǒng)框圖3.2小鍵盤模塊小鍵盤模塊送入主控模塊的子功能模塊。由軟件和硬件實現(xiàn),硬件上由小 鍵盤和8255互連,將小鍵值由8255送入主控模塊。軟件上使用行掃描法獲得 鍵值并送回主控模塊。在本次設(shè)計中考慮抖動的影響因素,執(zhí)行一個約10ms的延時程序后再掃描鍵盤,若兩次都有鍵按下,從而消除了抖動影響。3.3顯示模塊顯示模塊是將顯示緩沖區(qū)的數(shù)值送到 LED顯示的功能模塊,顯示緩沖區(qū)是由六個字節(jié)

8、構(gòu)成,分別保存小時的高位和低位,分鐘的高位和低位,秒鐘的高位和低位。硬件上由六個LED構(gòu)成,軟件上由掃描顯示的方法實現(xiàn)。3.4定時模塊定時模塊是為8259提供中斷請求信號的。由一片8254實現(xiàn),選用定時器 0#,工作在方式3,由4時鐘應(yīng)該1秒走動一次,所以輸出值應(yīng)為1S,其輸出 信號可作為8259的中斷請求信號。3.5中斷處理模塊中斷模塊實現(xiàn)動態(tài)顯示的,硬件為一片 8259,由于中斷請求信號為每秒一 次,中斷程序該為時間按秒增加,并顯示,只要開中斷,便可實現(xiàn)每秒顯示時 間增加一秒,從而達(dá)到動態(tài)顯示的效果。3.6硬件接線圖芯片8254系統(tǒng)總線芯片8255 LED數(shù)碼管及鍵盤圖二實驗接線圖3.7主

9、程序流程圖主程序的流程圖是對整個程序的邏輯的圖象表示。首先是設(shè)置8254、8255、8259的各個端口地址。接著初始化各個芯片,開始計時,并通過 8259中斷控制時間的正確顯示。在整個過程中都在檢測是否有銨鍵響應(yīng)。有則停止,沒有 則返回繼續(xù)執(zhí)行。四、可控電子時鐘源程序MY8255_A EQU 0600HMY8255_B EQU 0602HMY8255_C EQU 0604HMY8255_MODE EQU 0606HA8254 EQU 06C0HB8254 EQU 06C2HC8254 EQU 06C4HCON8254 EQU 06C6HSSTACK SEGMENT STACKDW 32 DUP

10、SSTACK ENDSDATA SEGMENTDTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH, 6FHMSEC DW 0SEC DB 0MIN DB 0HOUR DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:SSTACKSTART: PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7MOV SI, 003CHMOV SI, AXMOV AX, CSMOV SI, 003EHMOV SI, AXCLIPOP DSMOV DX,MY8255_MODEM

11、OV AL,81HOUT DX,ALMOV DX,CON8254MOV AL,36HOUT DX,ALMOV DX,A8254MOV AL,0E8HOUT DX,ALMOV AL,03H;取中斷入口地址;中斷矢量地址;填I(lǐng)RQ7的偏移矢量,確定地址;填I(lǐng)RQ7的段地址矢量;初始化主片8255;初始化主片8254;寫入計數(shù)器初值OUT DX,AL;時間寄存空間首地址;時間寄存空間清零MOV AL, 11HOUT 20H, ALMOV AL, 08HOUT 21H, ALMOV AL, 04HOUT 21H, ALMOV AL, 01HOUT 21H, ALMOV AL, 6FHOUT 21H,

12、ALSTIMOV AX,DATAMOV DS,AXMOV SI,3000HMOV AL,00HMOV SI,ALMOV SI+1,ALMOV SI+2,ALMOV SI+3,ALMOV SI+4,ALMOV SI+5,ALMOV DI,3005H;初始化主片8259;ICW1;ICW2;ICW3;ICW4;OCW1BEGIN: CALL DISCMP HOUR,24H JB T0MOV HOUR,00H T0:CALL CCSCANJNZ GETKEY1CALL CLEARJMP BEGIN;數(shù)碼管顯示刷新;滿24h清零;按鍵掃描;轉(zhuǎn)有鍵按下;8255B 口輸出清零;主程序重復(fù)CCSCAN:M

13、OV AL,00HMOV DX,MY8255_A OUT DX,ALMOV DX,MY8255_C IN AL,DXAND AL,0FHXOR AL,0FHRET;按鍵掃描程序GETKEY1:CALL DISCALL DALLYCALLCCSCAN;鍵盤防抖動程序JNZ GETKEY2RETGETKEY2:M0V AX,OOOOHMOV DX,MY8255_AOUT DX,AL;將 A 口置 0MOV DX,MY8255 CIN AL,DXL1: TEST AL,01H JNZ L2MOV DI,3002H JMP KCODEL2: TEST AL,02H JNZ L3MOV DI,3003H

14、 JMP KCODEL3: TEST AL,04H JNZ L4MOV DI,3004H JMP KCODEL4: TEST AL,08H JNZ BEGIN MOV DI,3005H JMP KCODE RETKCODE: CALL PUTBUFPUSH AXMOV SI,3000H MOV BL,SI+3 AND BL,0FH ROL BL,4MOV AL,SI+2 AND AL,0FH OR AL,BLMOV MIN,AL MOV BL,SI+5 AND BL,0FH ROL BL,4MOV AL,SI+4 AND AL,0FH OR AL,BLMOV HOUR,ALKON: CALL

15、DIS;讀C 口,用于判斷哪列按鍵閉合;是否為第1列;不是則繼續(xù)判斷;是否為第2列;不是則繼續(xù)判斷;是否為第3列;不是則繼續(xù)判斷;是否為第4列;不是則重新開始;按時間寄存空間地址保存按鍵值;根據(jù)按鍵修改分鐘變量值根據(jù)按鍵修改小時變量值;數(shù)碼管顯示刷新CALL CLEARCALL CCSCAN JNZ KONPOP AX JMP BEGIN PUTBUF:MOV SI,DIMOV AL,SI INC ALMOV SI,AL MOV DI,3005H RETMIR7: STIPUSH AXPUSH SIMOV AX,MSEC INC AXMOV MSEC,AX CMP AX,1000 JB MRE

16、TMOV AX,0MOV MSEC,AXMOV AL,SEC ADD AL,1 DAAMOV SEC,AL CMP AL,60H JB MTODIS MOV AL,0 MOV SEC,AL MOV AL,MIN ADD AL,1DAAMOV MIN,AL CMP AL,60H JB MTODIS MOV AL,0 MOV MIN,ALMOV AL,HOUR ADD AL,1DAAMOV HOUR,AL MTODIS: MOV AL,SECMOV AH,AL;8255B 口輸出清零;掃描按鍵,判斷按鍵是否彈起;未彈起則繼續(xù)循環(huán)等待彈起;按鍵對應(yīng)時間寄存空間的值加一程序;中斷程序;毫秒加一;若毫秒

17、小于1000則中斷結(jié)束;否則毫秒清零,秒加一;數(shù)據(jù)壓縮成BCD碼;若秒小于60則更改時間寄存器的值;否則秒清零,分加一;數(shù)據(jù)壓縮成BCD碼;若分小于60則更改時間寄存空間的值;否則分清零,時加一;數(shù)據(jù)壓縮成BCD碼;更改時間寄存空間的值程序MOV SI,3000HAND AL,0FHMOV SI,ALROR AH,4AND AH,0FHMOV SI+1,AHMOV AL,MINMOV AH,ALAND AL,0FHMOV SI+2,ALROR AH,4AND AH,0FHMOV SI+3,AHMOV AL,HOURMOV AH,ALAND AL,0FHMOV SI+4,ALROR AH,4AN

18、D AH,0FH;中斷結(jié)束命令MOV SI+5,AHMRET: MOV AL, 20H;8255B 口輸出清零程序OUT 20H, AL POP SI POP AX IRETCLEAR: MOV DX,MY8255_BMOV AX,00HOUT DX,AX RETDIS: PUSH AX;時間顯示程序MOV SI,3000HMOV DL,0DFHMOV AL,DLAGAIN: PUSH DXMOV DX,MY8255_AOUT DX,ALMOV AL,SIMOV BX,OFFSET DTABLEAND AX,00FFHADD BX,AXMOV AL,BXMOV DX,MY8255_BOUT DX,AL CALL DALLY INC SI POP DXMOV AL,DL TEST AL,01H JZ OUT1ROR AL,1 MOV DL,AL JMP AGAINOUT1: POP

溫馨提示

  • 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

提交評論