微機(jī)原理電子鐘設(shè)計(jì)匯編語言_第1頁
微機(jī)原理電子鐘設(shè)計(jì)匯編語言_第2頁
微機(jī)原理電子鐘設(shè)計(jì)匯編語言_第3頁
微機(jī)原理電子鐘設(shè)計(jì)匯編語言_第4頁
微機(jī)原理電子鐘設(shè)計(jì)匯編語言_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、成績課程設(shè)計(jì)報(bào)告題 目 可調(diào)時(shí)電子鐘的設(shè)計(jì) 課 程 名 稱 微機(jī)原理及應(yīng)用 院 部 名 稱 專 業(yè) 工程及其自動(dòng)化 班 級(jí) 工程及其自動(dòng)化 學(xué) 生 姓 名 學(xué) 號(hào) 11 課程設(shè)計(jì)地點(diǎn) 工科樓 B403 課程設(shè)計(jì)學(xué)時(shí) 20 指 導(dǎo) 教 師 金陵科技學(xué)院教務(wù)處制摘 要運(yùn)用了8086 CPU芯片以及8259A芯片、8253芯片和顯示器等輔助硬件電路,進(jìn)行了可調(diào)時(shí)電子鐘的設(shè)計(jì)。進(jìn)行了軟件設(shè)計(jì)并編寫了源程序。該電子鐘具有時(shí)、分、秒計(jì)時(shí)、顯示功能,并且通過定義鍵盤的字母,可對(duì)電子鐘進(jìn)行時(shí)分秒時(shí)間調(diào)整。關(guān)鍵詞:可調(diào)時(shí)電子鐘;8259A;8253;8086微機(jī)系統(tǒng)目 錄一 、設(shè)計(jì)任務(wù)與要求1二 、總體設(shè)計(jì)方案

2、與說明1三 、系統(tǒng)硬件部分設(shè)計(jì)23.1 8086微處理器的工作原理23.2 8259A芯片的工作原理33.3 8253芯片的工作原理43.4 LED顯示器53.5 系統(tǒng)原理圖 6四 、系統(tǒng)軟件部分設(shè)計(jì) 74.1 系統(tǒng)軟件流程圖74.2 源程序9五 、系統(tǒng)調(diào)試 17六 、課程設(shè)計(jì)體會(huì) 17七 、參考文獻(xiàn) 17 一、設(shè)計(jì)任務(wù)與要求設(shè)計(jì)一個(gè)可調(diào)時(shí)電子鐘,要求:1)給出系統(tǒng)設(shè)計(jì)方案;畫出硬件連線圖,并說明工作原理;2)畫出程序框圖并編寫程序完成如下功能:6位七段LED數(shù)碼管可顯示時(shí)、分、秒,并按正常時(shí)間顯示方法工作;二、總體設(shè)計(jì)方案與說明本實(shí)驗(yàn)利用8253做定時(shí)器,用定時(shí)器輸出的脈沖控制8259產(chǎn)生中

3、斷。在8259中斷處理程序中,對(duì)時(shí)、分、秒進(jìn)行計(jì)數(shù),在等待中斷的循環(huán)中用LED顯示時(shí)間。8253用定時(shí)器/計(jì)數(shù)器1,8253片選接CS4,地址為0C000H。8253時(shí)鐘源CLK1接分頻電路的F/64輸出。分頻器的FIN接4MHZ時(shí)鐘。8253的GATE1接VCC。8259中斷INT0接8253的OUT1,片選接CS5,地址為0D000H。顯示電路的KEY/LED CS 接CS0,地址為08000H。系統(tǒng)工作框圖如下:8259A82538086CPU顯示電路 圖1系統(tǒng)框圖三、系統(tǒng)硬件部分設(shè)計(jì)31、8086微處理器 8086微處理器是16位機(jī),1 6 位微處理器比 8 位微處理器有更大的尋址空間

4、、 更強(qiáng)的運(yùn)算能力、 更快的處理速 度和更完善的指令系統(tǒng)。1 6 位微處理器比 8 位微處理器有更大的尋址空間、 更強(qiáng)的運(yùn)算能力、 更快的處理速 度和更完善的指令系統(tǒng)。芯片引腳為40根,20根地址線,16根數(shù)據(jù)線,其最大的地址空間為1MB。8086從功能上來說可以分成兩個(gè)大部分,總線接口單元BIU和執(zhí)行單元EU。BIU:負(fù)責(zé)與存儲(chǔ)器或I/O接口交換信息,即8086與存儲(chǔ)器或I/O接口之間的信息傳送,都是由BIU負(fù)責(zé)進(jìn)行的,即:(1)BIU從內(nèi)存的指定部分取出指令,送到指令隊(duì)列排隊(duì)。(2)取出執(zhí)行指令時(shí)所需的操作數(shù),送至EU部分。EU:負(fù)責(zé)指令的執(zhí)行。特點(diǎn):將CPU分為兩個(gè)單元,可以使取指令和執(zhí)

5、行指令同進(jìn)行,減少了CPU為取指令而等待的時(shí)間,從而提高了CPU的利用率,提高了系統(tǒng)的運(yùn)行速度。8086微處理器的引腳功能可分3部分:地址總線、數(shù)據(jù)總線、控制總線。(1)地址/數(shù)據(jù)總線AD15-AD0AD15-AD0:地址/數(shù)據(jù)復(fù)用引腳,雙向,三態(tài)。 地址/數(shù)據(jù)總線分時(shí)復(fù)用。在總線周期開始時(shí)(T1),用作地址總線的16位,給出內(nèi)存單元的地址;其他時(shí)間為數(shù)據(jù)總線,用于數(shù)據(jù)傳輸。(2)地址/狀態(tài)總線A19/S6-A16/S3 A19/S6-A16/S3:地址/狀態(tài)總線復(fù)用引腳,輸出,三態(tài)。A19-A16:輸出訪問存儲(chǔ)器的20位地址的高4位地址A19-A16。8086的20條地址線訪問存儲(chǔ)器時(shí)可尋址

6、1MB內(nèi)存單元;訪問外部設(shè)備時(shí),只用16條地址A15-A0,可尋址64K個(gè)I/O端口。圖2 8086CPU3.2、8259A芯片的內(nèi)部結(jié)構(gòu)及引腳中斷控制器8259A是Intel公司專為控制優(yōu)先級(jí)中斷而設(shè)計(jì)開發(fā)的芯片。它將中斷源優(yōu)先排隊(duì)、辨別中斷源以及提供中斷矢量的電路集中于一片中。因此無需附加任何電路,只需對(duì)8259A編程,就可以管理8級(jí)中斷,并選擇優(yōu)先模式和中斷請求方式,即中斷結(jié)構(gòu)可以由用戶編程來設(shè)定。在MD微機(jī)系統(tǒng)中,8259芯片工作于單片方式。8259引腳圖如圖3,各引腳功能如下。D7D0八條雙向數(shù)據(jù)線;WR(低電平有效)寫輸入信號(hào);RD(低電平有效)讀輸入信號(hào);CS(低電平有效)片選輸

7、入信號(hào);A0地址信號(hào);INT中斷請求信號(hào);INTA(低電平有效)中斷響應(yīng)信號(hào);CAS0CAS2級(jí)聯(lián)信號(hào),形成一條專用8259A總線,以便多片8259A的級(jí)聯(lián);SP/EN從編程/允許級(jí)聯(lián)。在緩沖方式中,可用做輸出信號(hào)以控制總線緩沖器的接收和發(fā)送。在非緩沖方式中,作為輸入信號(hào)用于表示主片還是從片;IR0IR7外部中斷請求輸入線。要求輸入的中斷請求信號(hào)是由低電平到高電平的上升沿(并保持高電平到CPU響應(yīng)時(shí)為止)或者是高電平。8259A中斷矢量表 中斷序號(hào)01234567功能調(diào)用08H09H0AH0BH0CH0DH0EH0FH矢量地址20H23H24H27H28H2BH2CH2FH30H33H34H3

8、7H38H3BH3CH3FH說明時(shí)鐘鍵盤可用可用串行口可用可用可用3.3、可編程定時(shí)器/計(jì)數(shù)器82538253的功能用途是:(1)延時(shí)中斷(2)可編程頻率發(fā)生器(3)事件計(jì)數(shù)器(4)二進(jìn)倍頻器(5)實(shí)時(shí)時(shí)鐘(6)數(shù)字單穩(wěn)(7)復(fù)雜的電機(jī)控制器8253有六種工作方式:(1)方式0:計(jì)數(shù)結(jié)束中斷(2)方式1:可編程頻率發(fā)生器(3)方式2:頻率發(fā)生器(4)方式3:方波頻率發(fā)生器(5)方式4:軟件觸發(fā)的選通信號(hào)(6)方式5:硬件觸發(fā)的選通信號(hào)圖4 8253引腳信號(hào)圖8253引腳圖如圖3.3示,各引腳功能如下。D7D0八條雙向數(shù)據(jù)線;WR(低電平有效)寫輸入信號(hào);RD(低電平有效)讀輸入信號(hào);CS(低電

9、平有效)片選輸入信號(hào);A0、A1片內(nèi)寄存器地址輸入信號(hào);CLK計(jì)數(shù)輸入,用于輸入定時(shí)基準(zhǔn)脈沖或計(jì)數(shù)脈沖;OUT輸出信號(hào),以相應(yīng)的電平指示計(jì)數(shù)的完成,或輸出脈沖波形;GATE選通輸入(門控輸入),用于啟動(dòng)或禁止計(jì)數(shù)器的操作,以使計(jì)數(shù)器和計(jì)測對(duì)象同步。8253端口地址表2 、 8253 端口地址 信號(hào)線寄存器編址IOY20#計(jì)數(shù)器40H1#計(jì)數(shù)器41H2#計(jì)數(shù)器42H控制寄存器43H3.4、LED顯示器LED顯示器有靜態(tài)顯示與動(dòng)態(tài)顯示兩種方式。我們使用的為動(dòng)態(tài)顯示 LED動(dòng)態(tài)顯示方式。在多位LED顯示時(shí),為了簡化電路,降低成本,將所有位的段選線并聯(lián)在一起,由一個(gè)8位I/O口控制,而共陰極點(diǎn)或共陽極

10、點(diǎn)分別由響應(yīng)的I/O口線控制。顯示模塊是將顯示緩沖區(qū)的數(shù)值送到LED顯示的功能模塊,顯示緩沖區(qū)是由六個(gè)字節(jié)構(gòu)成,分別保存小時(shí)的高位和低位,分鐘的高位和低位,秒鐘的高位和低位。硬件上由六個(gè)LED構(gòu)成,軟件上由掃描顯示的方法實(shí)現(xiàn)。35系統(tǒng)原理圖四、系統(tǒng)軟件部分設(shè)計(jì)4.1 系統(tǒng)軟件流程圖1、主程序流程圖調(diào)用顯示子程序主程序框圖、100us定時(shí)中斷服務(wù)程序到24小時(shí)100us定時(shí)中斷服務(wù)程序4.2源程序:CONTROL EQU 0C003HCOUNT0 EQU 0C000HCOUNT1 EQU 0C001HCOUNT2 EQU 0C002HMD8255 EQU 82H ; 8255 工作方式PA825

11、5 EQU 8000H ; 8255 PA口輸出地址CTL8255 EQU 8003H ; 8255 控制口地址OUTBIT EQU 08002H ; 位控制口OUTSEG EQU 08004H ; 段控制口ICW1 EQU 00010011B ; 單片8259, 上升沿中斷, 要寫ICW4ICW2 EQU 00100000B ; 中斷號(hào)為20HICW4 EQU 00000001B ; 工作在8086/88 方式OCW1 EQU 11111110B ; 只響應(yīng)INT0 中斷CS8259A EQU 0D000H ; 8259地址CS8259B EQU 0D001HDATA SEGMENTCNT

12、DB 0LEDBUF DB 6 DUP (? ; 顯示緩沖NUM DB 1 DUP (? ; 顯示的數(shù)據(jù)DELAYT DB 1 DUP (?HOUR DB 0MINUTE DB 0SECOND DB 0LEDMAP: ; 八段管顯示碼DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07HDB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71HDATA ENDSCODE SEGMENTASSUME CS:CODE, DS: DATADELAY PROC NEARPUSH AX ; 延時(shí)子程序PUSH CXMOV AL, 0MOV CX, AX

13、LOOP $POP CXPOP AXRETDELAY ENDPDISPLAYLED PROC NEARMOV BX, OFFSET LEDBUFMOV CL, 6 ; 共6個(gè)八段管MOV AH, 00100000B ; 從左邊開始顯示DLOOP:MOV DX, OUTBITMOV AL, 0OUT DX,AL ; 關(guān)所有八段管MOV AL, BXMOV DX, OUTSEGOUT DX, ALMOV DX, OUTBITMOV AL, AHOUT DX, AL ; 顯示一位八段管PUSH AXMOV AH, 1CALL DELAYPOP AXSHR AH, 1INC BXDEC CLJNZ D

14、LOOPMOV DX, OUTBITMOV AL, 0OUT DX,AL ; 關(guān)所有八段管RETDISPLAYLED ENDPIENTER PROC NEARPUSH AXPUSH DXINC SECONDMOV AL, SECONDCMP AL, 60JNE EXITMOV SECOND, 0INC MINUTEMOV AL, MINUTECMP AL, 60JNE EXITMOV MINUTE, 0INC HOURMOV AL, HOURCMP AL, 24JNE EXITMOV HOUR, 0EXIT:MOV DX, CS8259AMOV AL, 20H ; 中斷服務(wù)程序結(jié)束指令OUT

15、DX, ALPOP DXPOP AXIRETIENTER ENDPIINIT PROCMOV DX, CS8259AMOV AL, ICW1OUT DX, ALMOV DX, CS8259BMOV AL, ICW2OUT DX, ALMOV AL, ICW4OUT DX, ALMOV AL, OCW1OUT DX, ALRETIINIT ENDPSTART PROC NEARMOV AX, DATAMOV DS, AXMOV HOUR, 0MOV MINUTE, 0MOV SECOND, 0CLIMOV AX, 0MOV DS, AXMOV AL, 76H; 01110110B ; 計(jì)數(shù)器1,

16、16位,方式3,二進(jìn)制MOV DX, CONTROLOUT DX, ALMOV AX, 62500MOV DX, COUNT1OUT DX, AL ; 計(jì)數(shù)器低字節(jié)MOV AL, AHOUT DX, AL ; 計(jì)數(shù)器高字節(jié)MOV AL, MD8255MOV DX, CTL8255OUT DX, ALMOV BX, 4*ICW2 ; 中斷號(hào)MOV AX, CODESHL AX, 4 ; X 16ADD AX, OFFSET IENTER ; 中斷入口地址(段地址為0)MOV BX, AXMOV AX, 0INC BXINC BXMOV BX, AX ; 代碼段地址為0CALL IINITMOV

17、AX, DATAMOV DS, AXMOV CNT, 0 ; 計(jì)數(shù)值初始為0MOV AL, CNTMOV DX, PA8255OUT DX, ALSTILP: ; 等待中斷,并計(jì)數(shù)。MOV AL, HOURMOV AH, 0MOV CL, 10DIV CLMOV CH, AHMOV AH, 0MOV BX, OFFSET LEDMAPADD BX, AXMOV AL, BXMOV LEDBUF, ALMOV BX, OFFSET LEDMAPMOV AL, CHMOV AH, 0ADD BX, AXMOV AL, BXOR AL, 80HMOV LEDBUF+1, ALMOV AL, MINU

18、TEMOV AH, 0MOV CL, 10DIV CLMOV CH, AHMOV AH, 0MOV BX, OFFSET LEDMAPADD BX, AXMOV AL, BXMOV LEDBUF+2, ALMOV BX, OFFSET LEDMAPMOV AL, CHMOV AH, 0ADD BX, AXMOV AL, BXOR AL, 80HMOV LEDBUF+3, ALMOV AL, SECONDMOV AH, 0MOV CL, 10DIV CLMOV CH, AHMOV AH, 0MOV BX, OFFSET LEDMAPADD BX, AXMOV AL, BXMOV LEDBUF+4, ALMOV BX, OFFSET LEDMAPMOV AL, CHMOV AH, 0ADD BX, AXMOV AL, BXOR AL, 80HMOV LEDBUF+5, ALCALL DISPLAYLEDJMP LPSTART ENDPCODE ENDSEND START五

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論