版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 信息工程學(xué)院</b></p><p> 微機原理綜合課程設(shè)計</p><p> 題 目: 電子鐘設(shè)計 </p><p> 專 業(yè): 計算機科學(xué)與技術(shù) </p><p> 班 級: </p>
2、;<p> 姓 名: </p><p> 學(xué) 號: </p><p> 指導(dǎo)教師: </p><p> 時 間: 2013年6月28日 </p><p><b> 摘要</b>
3、</p><p> 本文通過對一個基于微型計算機的能實現(xiàn)電子時鐘的設(shè)計學(xué)習(xí),詳細介紹了微型計算機原理控制的應(yīng)用中的數(shù)據(jù)轉(zhuǎn)換顯示,LED顯示原理,微型計算機控制的定時中斷原理。從而達到學(xué)習(xí)、了解微機原理控制的相關(guān)指令在各方面的應(yīng)用。系統(tǒng)由8254、8255、8259等構(gòu)成,利用定時器從0開始進行計時,將計時的結(jié)果顯示在數(shù)碼管上。每隔1秒,秒鐘計時一次,到60秒,分鐘加1,到60分小時加1,能實現(xiàn)時鐘顯示的功能,能
4、進行分、秒的顯示。根據(jù)需要,需選擇的芯片有8254,8259,8255。</p><p> 關(guān)鍵字:電子時鐘、分頻、數(shù)據(jù)轉(zhuǎn)換、LED顯示</p><p><b> 目 錄</b></p><p><b> 摘要2</b></p><p> 第一章 設(shè)計的基本目的與要求4</p>
5、;<p><b> 1.1設(shè)計目的4</b></p><p><b> 1.2設(shè)計要求4</b></p><p> 1.2.1 總體內(nèi)容4</p><p> 1.2.2 接口設(shè)計4</p><p> 1.2.3 程序設(shè)計5</p><p>&
6、lt;b> 前期完成實驗5</b></p><p><b> 1.3電子時鐘5</b></p><p> 第二章 概要設(shè)計6</p><p><b> 2.1設(shè)計內(nèi)容6</b></p><p> 2.2設(shè)計環(huán)境與器材6</p><p>
7、 2.3電路原理與主要芯片功能6</p><p> 2.3.1 電路原理6</p><p> 2.3.2 8255主要功能7</p><p> 2.3.3 8259主要功能8</p><p> 2.3.4 8254主要功能10</p><p> 第三章 程序接線圖及流程圖13</p&
8、gt;<p> 3.1 實驗接線圖13</p><p> 3.2 主程序流程圖14</p><p> 第四章 電子鐘設(shè)計源程序16</p><p> 第五章 程序的調(diào)試和運行21</p><p> 第六章 總結(jié)與體會1</p><p><b> 第七章 致 謝2</
9、b></p><p> 第八章 參考文獻3</p><p><b> 第九章 附錄4</b></p><p> 第一章 設(shè)計的基本目的與要求</p><p><b> 1.1設(shè)計目的</b></p><p> 通過一個學(xué)期對《微機原理與接口技術(shù)》的學(xué)習(xí),掌
10、握的知識還停留在理論的上。但是這是一門實踐性較強的課程,讓學(xué)生在學(xué)完該課程之后,進行一次課程設(shè)計,使學(xué)生將課堂所學(xué)的知識和實踐有機結(jié)合起來,初步掌握計算機應(yīng)用系統(tǒng)設(shè)計的步驟和接口設(shè)計的方法,提高分析和解決實際問題的能力。</p><p> 通過設(shè)計實踐,培養(yǎng)學(xué)生查閱專業(yè)資料,工具書或參考書,了解有關(guān)工業(yè)標(biāo)準(zhǔn),掌握現(xiàn)代設(shè)計手段和軟件工具,并能以圖紙和說明書表達設(shè)計思想和結(jié)果的能力。</p><
11、p> 通過設(shè)計,不但要培養(yǎng)和提高學(xué)生解決工程具體問題,動腦動手的技術(shù)工作能力,而且還要逐步建立科學(xué)正確的設(shè)計和科研思想,培養(yǎng)良好的設(shè)計習(xí)慣,牢固樹立實事求是和嚴(yán)肅認(rèn)真的工作態(tài)度。具體要求如下:</p><p> 1、中斷工作原理,定時計數(shù)原理,并行通信原理工作原理。</p><p> 2、掌握8259芯片,8254芯片,8255芯片功能,結(jié)構(gòu)。</p><p
12、> 3、掌握8259芯片,8254芯片,8255芯片的編程。</p><p> 4、能運用所提到的芯片,設(shè)計系統(tǒng)并進行程序開發(fā),滿足用戶需求。</p><p><b> 1.2設(shè)計要求</b></p><p> 1.2.1 總體內(nèi)容 設(shè)計一電子時鐘,能在數(shù)碼管上顯示時間并計時。</p><p> 1.2.
13、2 接口設(shè)計 根據(jù)題目和所用的接口電路芯片設(shè)計出完整的接口電路,并在實驗系統(tǒng)上完成電路的連接和調(diào)試通過。</p><p> 1.2.3 程序設(shè)計 要求畫出程序框圖,設(shè)計出全部程序并給出程序設(shè)計說明和程序注釋。</p><p> 前期完成實驗 8259A中斷控制器實驗,8254定時計數(shù)器實驗,8255并行接口實驗。</p><p><b> 1.3
14、電子時鐘</b></p><p> 電子時鐘從原理上講是一種典型的數(shù)字電路,其中包括了組合邏輯電路和時序電路。傳統(tǒng)的設(shè)計方法有兩種,一是利用組合邏輯電路和時序電路等中小規(guī)模集成電路來設(shè)計;一是利用單片機編程技術(shù)來設(shè)計。這兩種設(shè)計都存在硬件復(fù)雜,設(shè)計周期長,成本高等缺點。并且本學(xué)期通過對《微機原理與接口技術(shù)》的學(xué)習(xí),利用掌握的知識進行實踐是必要的,以鞏固基礎(chǔ)知識,培養(yǎng)獨立操作能力。而本次課程設(shè)計要實現(xiàn)
15、的功能為:利用定時器從0開始進行計時,將計時的結(jié)果顯示在數(shù)碼管上。每隔1秒,秒鐘計時一次,到60秒,分鐘加1,到60分小時加1。根據(jù)需要,需選擇的芯片有8254,8259,8255,系統(tǒng)時鐘頻率1.041667MHz。</p><p><b> 第二章 概要設(shè)計</b></p><p><b> 2.1設(shè)計內(nèi)容</b></p>
16、<p> 本次課程設(shè)計的內(nèi)容為電子時鐘的設(shè)計與實現(xiàn),利用定時器從0開始進行計時,將計時的結(jié)果顯示在數(shù)碼管上。每隔1秒,秒鐘計時一次,到60秒,分鐘加1。根據(jù)需要,需選擇的芯片有8254,8259,8255,系統(tǒng)時鐘頻率1.041667MHz;</p><p> 2.2設(shè)計環(huán)境與器材</p><p><b> ?。?)PC微機一臺</b></p>
17、;<p> 用于對程序的編譯測試等,同時還需要對實驗設(shè)備進行控制,提供整個程序的運行平臺,并且收集和釋放硬件信號,實現(xiàn)程序功能。</p><p> ?。?)微機原理實驗箱一臺</p><p> 此設(shè)備必須能提供8254、8255、8259和數(shù)碼管等必要芯片。并且能通過接受PC機傳來的信息,顯示出相應(yīng)的功能。以支持電子時鐘的實現(xiàn)。</p><p>&
18、lt;b> ?。?)導(dǎo)線若干條</b></p><p> 用于電路和芯片之間的連接。</p><p> 2.3電路原理與主要芯片功能 </p><p> 2.3.1 電路原理</p><p> 首先利用程序硬性規(guī)定分、秒的起始時間為零。然后通過8254計時器分頻,并將以分得的頻率接通8259中斷控制器,進而通過CP
19、U響應(yīng)可屏蔽中斷達到按秒計時的效果。</p><p> 具體做法是將四個七段管顯示器接到兩片可并行接口8255芯片上,以此來控制七段管顯示器的位操作以及段操作。并為之在數(shù)據(jù)段開辟一處空間,專門存放將要顯示的數(shù)位代碼。8254計時器將由PC機給定的頻率加以分頻,得到的新頻率加到8259中斷控制器的中斷請求輸入端。主程序為此可屏蔽中斷設(shè)置專門的中斷向量碼。CPU獲取此中斷向量碼后轉(zhuǎn)向待需解決的程序進行操作。而這個程
20、序便是整個主程序的心臟。通過它將使電子鐘的顯示時間以秒為進位,達到秒、分的增加。</p><p> 2.3.2 8255主要功能</p><p> 8255 可編程外圍接口芯片是 Intel 公司生產(chǎn)的通用并行I/O 接口芯片,它具有A、B、C 三個并行接口,并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O 設(shè)備或被控制對象之間傳遞信息。CPU 和接口之間 的數(shù)據(jù)傳送總是并行的,即可以同時傳遞8
21、 位、16 位、32 位等。用+5V 單電源供電,能在以下三種方式下工作:方式0--基本輸入/出方式、方式1--選通輸入/出方式、方式2--雙向選通工作方式。8255的內(nèi)部結(jié)構(gòu)及引腳如圖2-1所示:</p><p> 圖2-1內(nèi)部結(jié)構(gòu)及引腳</p><p> 8255 工作方式控制字和C口按位置位/復(fù)位控制字格式如圖2-2所示:</p><p> 圖2-2 置
22、位/復(fù)位控制字格式</p><p> 2.3.3 8259主要功能</p><p> 中斷控制器8259是Intel 公司專為控制優(yōu)先級中斷而設(shè)計開發(fā)的芯片。它將中斷源優(yōu)先級排隊、辨別中斷源以及提供中斷矢量的電路集于一片中,因此無需附加任何電路,只需對8259A 進行編程,就可以管理8級中斷,并選擇優(yōu)先模式和中斷請求方式,即中斷結(jié)構(gòu)可以由用戶編 程來設(shè)定。同時,在不需增加其他電路的情
23、況下,通過多片8259A的級連,能構(gòu)成多達64 級的矢量中斷系統(tǒng)。它的管理功能包括:1)記錄各級中斷源請求,2)判別優(yōu)先級,確定是否響應(yīng)和響應(yīng)哪一級中斷,3)響應(yīng)中斷時,向CPU傳送中斷類型號。8259A 的內(nèi)部結(jié)構(gòu)和引腳如圖2-3所示:</p><p> 圖2-3 內(nèi)部結(jié)構(gòu)和引腳</p><p> 8259的命令共有7個,一類是初始化命令字,另一類是操作命令。8259A的編程就是根據(jù)
24、應(yīng)用需要將初始化命令字ICW1-ICW4 和操作命令字OCW1- OCW3分別寫入初始化命令寄存器組和操作命令寄存器組。</p><p> OCW1-OCW3各命令字格式如圖2.4所示,其中OCW1用于設(shè)置中斷屏蔽操作字,OCW2用于設(shè)置優(yōu)先級循環(huán)方式和中斷結(jié)束方式的操作命令字,OCW3用于設(shè)置和撤銷特殊屏蔽方式、設(shè)置中斷查詢方式以及設(shè)置對8259內(nèi)部寄存器的讀出命令如圖2-4所示:</p>&l
25、t;p> 圖2-4 OCW1-OCW3 各命令字格</p><p> 2.3.4 8254主要功能</p><p> 8254 是Intel 公司生產(chǎn)的可編程間隔定時器。是8253 的改進型,比8253 具有更優(yōu)良的性能。8254 具有以下基本功能: </p><p> (1) 有3個獨立的16位計數(shù)器。 </p><p>
26、 (2) 每個計數(shù)器可按二進制或十進制(BCD)計數(shù); 每個計數(shù)器可編程工作于6 種不同工作方式;每個計數(shù)器允許的最高計數(shù)頻率為10MHz; </p><p> (3) 8254有讀回命令,除了可以讀出當(dāng)前計數(shù)單元的內(nèi)容外,還可以讀出狀態(tài)寄存器的內(nèi)容。 </p><p> (4) 計數(shù)脈沖可以是有規(guī)律的時鐘信號,也可以是隨機信號。計數(shù)初值公式為n=fCLKi÷fOUTi,其中
27、fCLKi是輸入時鐘脈沖的頻率,fOUTi是輸出波形的頻率如圖2-5所示:</p><p> 圖2-5 內(nèi)部結(jié)構(gòu)框圖和引腳圖</p><p> 上圖是8254 的內(nèi)部結(jié)構(gòu)框圖和引腳圖,它是由與CPU 的接口、內(nèi)部控制電路和三個計數(shù)器組成。8254 的工作方式如下述: </p><p> (1) 方式0 :計數(shù)到0 結(jié)束輸出正躍變信號方式。 </p>
28、<p> (2) 方式1 :硬件可重觸發(fā)單穩(wěn)方式。 </p><p> (3) 方式2 :頻率發(fā)生器方式。 </p><p> (4) 方式3 :方波發(fā)生器。 </p><p> (5) 方式4 :軟件觸發(fā)選通方式。 </p><p> (6) 方式5 :硬件觸發(fā)選通方式。</p><p>
29、8254 的控制字有兩個:一個用來設(shè)置計數(shù)器的工作方式,稱為方式控制字;另一個用來設(shè)置讀回命令,稱為讀回控制字。這兩個控制字共用一個地址,由標(biāo)識位來區(qū)分。當(dāng)讀回控制字的D4 位為0時,由該讀回控制字D1~D2位指定的計數(shù)器的狀態(tài)寄存器將被鎖存到狀態(tài)寄存器中如圖2.6所示:</p><p> 圖2-6 8254狀態(tài)字格式</p><p> 第三章 程序接線圖及流程圖</p>
30、<p><b> 3.1 實驗接線圖</b></p><p> 系統(tǒng)的連線圖主要由五個部分構(gòu)成。8259中斷控制器、8255并口控制器、8254定時計數(shù)器、鍵盤及數(shù)碼管顯示單元、開關(guān)及LED顯示單元構(gòu)成。如3-4所示:</p><p> 芯片8254 系統(tǒng)總線 芯片8255 LED數(shù)碼管</p><p&
31、gt;<b> 圖3-1實驗接線圖</b></p><p> 3.2 主程序流程圖</p><p> 主程序的流程圖是對整個程序的邏輯的圖象表示。首先是設(shè)置8254、8255、8259的各個端口地址。接著初始化各個芯片,開始計時,并通過8259中斷控制時間的正確顯示。在整個過程中都在檢測是否有銨鍵響應(yīng)。有則停止,沒有則返回繼續(xù)執(zhí)行。</p><
32、;p> 圖3-2系統(tǒng)實現(xiàn)流程圖</p><p> 第四章 電子鐘設(shè)計源程序</p><p> MY8255_A EQU 0600H </p><p> MY8255_B EQU 0602H </p><p> MY8255_C EQU 0604H </p><p>
33、 MY8255_MODE EQU 0606H </p><p> A8254 EQU 06C0H </p><p> B8254 EQU 06C2H</p><p> C8254 EQU 06C4H</p><p> CON8254 EQU 06C6H</p>&
34、lt;p> SSTACK SEGMENT STACK </p><p> DW 32 DUP(?)</p><p> SSTACK ENDS</p><p> DATA SEGMENT </p><p> DTABLEDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H&l
35、t;/p><p> DB 7FH,6FH </p><p> MSECDW 0 </p><p> SEC DB 0 </p><p> MINDB 0</p><p> DATA ENDS </p><p> CODE SEGMENT </p>
36、;<p> ASSUME CS:CODE,DS:DATA,SS:SSTACK</p><p> START: PUSH DS</p><p> MOV AX, 0000H</p><p> MOV DS, AX</p><p> MOV AX, OFFSET MIR7</p><p>
37、MOV SI, 003CH</p><p> MOV [SI], AX</p><p> MOV AX, CS </p><p> MOV SI, 003EH</p><p> MOV [SI], AX</p><p><b> CLI</b>&l
38、t;/p><p><b> POP DS </b></p><p> MOV DX,MY8255_MODE</p><p> MOV AL,81H</p><p> OUT DX,AL</p><p> MOV DX,CON8254</p><p>
39、MOV AL,36H </p><p><b> OUT DX,AL</b></p><p> MOV DX,A8254 </p><p> MOV AL,0E8H</p><p><b> OUT DX,AL</b></p><p> MOV AL,03H<
40、/p><p> OUT DX,AL </p><p> MOV AL, 11H</p><p> OUT 20H, AL</p><p> MOV AL, 08H</p><p> OUT 21H, AL</p><p> MOV AL, 04H</p>
41、<p> OUT 21H, AL</p><p> MOV AL, 01H</p><p> OUT 21H, AL</p><p> MOV AL, 6FH</p><p> OUT 21H, AL</p><p><b> STI </b><
42、;/p><p> MOV AX,DATA </p><p> MOV DS,AX </p><p> MOV SI,3000H</p><p> MOV AL,00H</p><p> MOV [SI],AL </p><p> MOV [SI+1],AL </p>
43、;<p> MOV [SI+2],AL</p><p> MOV [SI+3],AL</p><p> MOV DI,3003H</p><p> BEGIN: CALL DIS</p><p> CALL CLEAR</p><p> JMP BEGIN </p><
44、;p> MIR7:STI </p><p><b> PUSH AX</b></p><p><b> PUSH SI</b></p><p> MOV AX,MSEC </p><p><b> INC AX </b></p><p>
45、; MOV MSEC,AX</p><p> CMP AX,1000 </p><p><b> JB MRET </b></p><p><b> MOV AX,0</b></p><p> MOV MSEC,AX </p><p> MOV AL,SEC<
46、;/p><p><b> ADD AL,1</b></p><p><b> DAA </b></p><p> MOV SEC,AL</p><p> CMP AL,60H</p><p><b> JB MTODIS</b></p>
47、<p><b> MOV AL,0</b></p><p> MOV SEC,AL</p><p> MOV AL,MIN</p><p><b> ADD AL,1</b></p><p><b> DAA</b></p><p&g
48、t; MOV MIN,AL</p><p> MTODIS: MOV AL,SEC</p><p><b> MOV AH,AL</b></p><p> MOV SI,3000H</p><p> AND AL,0FH</p><p> MOV [SI],AL</p>
49、<p><b> ROR AH,1</b></p><p><b> ROR AH,1</b></p><p><b> ROR AH,1</b></p><p><b> ROR AH,1</b></p><p> AND AH,0F
50、H</p><p> MOV [SI+1],AH</p><p> MOV AL,MIN</p><p><b> MOV AH,AL</b></p><p> AND AL,0FH</p><p> MOV [SI+2],AL</p><p><b>
51、 ROR AH,1</b></p><p><b> ROR AH,1</b></p><p><b> ROR AH,1</b></p><p><b> ROR AH,1</b></p><p> AND AH,0FH</p><p
52、> MOV [SI+3],AH</p><p> MRET:MOV AL, 20H</p><p> OUT 20H, AL</p><p><b> POP SI</b></p><p><b> POP AX</b></p><p><b>
53、; IRET</b></p><p> CLEAR: MOV DX,MY8255_B</p><p> MOV AL,00H </p><p> OUT DX,AL </p><p><b> RET</b></p><p> DIS: PUSH AX </p&g
54、t;<p> MOV SI,3000H</p><p> MOV DL,0F7H</p><p><b> MOV AL,DL</b></p><p> AGAIN: PUSH DX </p><p> MOV DX,MY8255_A</p><p><b>
55、OUT DX,AL</b></p><p> MOV AL,[SI]</p><p> MOV BX,OFFSET DTABLE</p><p> AND AX,00FFH </p><p><b> ADD BX,AX</b></p><p> MOV AL,[BX]<
56、;/p><p> MOV DX,MY8255_B </p><p> OUT DX,AL </p><p> CALL DALLY</p><p><b> INC SI</b></p><p><b> POP DX</b></p><p>&
57、lt;b> MOV AL,DL</b></p><p> TEST AL,01H</p><p><b> JZ OUT1</b></p><p><b> ROR AL,1 </b></p><p><b> MOV DL,AL</b></
58、p><p><b> JMP AGAIN</b></p><p> OUT1: POP AX</p><p><b> RET</b></p><p> DALLY : PUSH CX</p><p> MOV CX,000FH
59、 </p><p> T1: MOV AX,002FH</p><p> T
60、2: DEC AX</p><p><b> JNZ T2</b></p><p><b> LOOP T1</b></p><p><b> POP CX</b></p><p><b> RET</b></p><p&
61、gt;<b> CODE ENDS</b></p><p><b> END START</b></p><p> 第五章 程序的調(diào)試和運行</p><p> 該匯編編譯環(huán)境是MasmEdit,是一個集成開發(fā)環(huán)境,編譯,鏈接,運行全部集成在一起。程序編好后,直接點匯編按鈕,就會提示你有無錯誤,剛剛編好第一次匯編時,
62、出現(xiàn)了好多錯誤,其中很大一部分是編寫代碼時不小心,打字出現(xiàn)的錯,其中,分號的錯誤是致命的,它讓匯編無法進行。參考網(wǎng)上的匯編程序,在改了n次的代碼后界面終于出現(xiàn)。達到了預(yù)期的效果。</p><p><b> 第六章 總結(jié)與體會</b></p><p> 通過近一周的課程設(shè)計時間,課程設(shè)計的基本目的達到了。另外還有很多其它有益的地方。本系統(tǒng)完成了電子時鐘的基本功能。利
63、用定時器從0開始進行計時,將計時的結(jié)果顯示在數(shù)碼管上。每隔1秒,秒鐘個位計時一次;到10秒,秒鐘十位計時一次;到60秒,分鐘個位計時一次;到10分,分鐘十位計時一次。數(shù)字變動信息通過8255送數(shù)碼管顯示。</p><p> 隨著科技的進步電子時鐘的實現(xiàn)方法已經(jīng)很多,由傳統(tǒng)的物理實現(xiàn)轉(zhuǎn)變到軟件實現(xiàn),而且起精確程度也大大的提高,且實現(xiàn)方法也越來越簡單。在這里是在學(xué)完了《微機原理與接口技術(shù)》進行的課程設(shè)計,所以這里是
64、基于微機原理的基礎(chǔ)知識來實現(xiàn)電子時鐘的,首先應(yīng)該畫出硬件設(shè)計圖,這個過程是基礎(chǔ),然后是流程圖,這個是重點,流程圖的完成在很大程度上等于程序的完成,然后是程序的編寫。</p><p> 通過輔導(dǎo)老師的指導(dǎo),同學(xué)們的相互幫助,我收獲了很多,也通過設(shè)計增強了自己動手的能力,同時也對自己所學(xué)到的知識作一個肯定。學(xué)好這門課程在自己今后的學(xué)習(xí)和工作中都有很大的作用,對自己以后的幫助也很大.這次課程設(shè)計給我的最大的印象就是如
65、果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。</p><p> 而在這次課程設(shè)計中,也是對《微機原理與接口技術(shù)》的復(fù)習(xí)。同時在設(shè)計中使我的編程水平提高了一大步,使我認(rèn)識到合作的可貴。這次設(shè)計涉及到很多芯片的應(yīng)用,最大特點是軟,硬件的結(jié)合,對動手能里的要求很大。也使我更加的體會到,在一定程度和科技水平上,硬件和軟件是可以實現(xiàn)對等轉(zhuǎn)化的。電子時鐘的發(fā)展史就很好的詮釋了這個過程。</p>
66、;<p><b> 第七章 致 謝</b></p><p> 在這個課程設(shè)計的過程中得到了楊承彬老師的悉心指導(dǎo)。老師多次詢問課程設(shè)計的進程,并為我們指點迷津,幫助我開拓解決問題思路,精心點撥、熱忱鼓勵。老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實的態(tài)度,踏踏實實的精神,不僅授我以文,而且教我如何付諸于實踐,雖然只有短短的兩周時間,卻給以終生受益無窮之道。對老師的感激之情是無法用言語表達的。
67、</p><p> 感謝學(xué)校對我們此次課程設(shè)計的大力支持,為我們安排了充分的時間使用學(xué)校的機房。為我們安排了出色并且負(fù)責(zé)的老師來解答我們的疑慮。</p><p> 最后我要感謝同學(xué)們的積極幫助,也謝謝你們的支持,讓我充分的體會到團隊意識的重要性。</p><p><b> 第八章 參考文獻</b></p><p>
68、 [1] 李伯成等《微型計算機原理及應(yīng)用》西安電子科技大學(xué)出版社,1998.5</p><p> [2] 陳忠強 《現(xiàn)代微機原理與接口技術(shù)》 冶金工業(yè)出版社.2006年</p><p> [3] 郭蘭英 《微機原理與接口技術(shù)》 清華大學(xué)出版社. 2006年</p><p> [4] 西安唐都科教儀器公司 《32位微機原理與接口技術(shù)實驗教程》 2005年<
69、;/p><p> [5] 西安唐都科教儀器公司 《32位微機原理與接口技術(shù)用戶手冊》 2005年</p><p> [6] 胡漢才 《微機原理與接口技術(shù)課程設(shè)計》[M] 北京:清華大學(xué)出版,1996</p><p> [7] 付家才 《微型計算機及其接口技術(shù)學(xué)習(xí)指導(dǎo)與題典》[M]. 北京:化學(xué)工業(yè)出版社,2004.5</p><p> [
70、8] 潘新民 《微型計算機控制技術(shù)》[M] 北京:人民郵電出版社,1999.9</p><p> [9] 余錫存、曹國華 《匯編語言、微機原理及接口技術(shù)》[M] 陜西:西安電子科技大學(xué)出版社,2000.7</p><p> [10] 雷麗文 《微機原理與接口技術(shù)》[M] 北京:電子工業(yè)出版社,1997.2</p><p><b> 第九章 附錄<
71、;/b></p><p><b> 源代碼</b></p><p> DATA SEGMENT </p><p> DTABLEDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H</p><p> DB 7FH,6FH </p><p> MSECDW
72、 0 </p><p> SEC DB 0 </p><p> MINDB 0</p><p> DATA ENDS </p><p> CODE SEGMENT </p><p> ASSUME CS:CODE,DS:DATA,SS:SSTACK</p>&l
73、t;p> START: PUSH DS</p><p> MOV AX, 0000H</p><p> MOV DS, AX</p><p> MOV AX, OFFSET MIR7</p><p> MOV SI, 003CH</p><p> MOV [SI], AX</p&g
74、t;<p> MOV AX, CS </p><p> MOV SI, 003EH</p><p> MOV [SI], AX</p><p><b> CLI</b></p><p><b> POP DS </b></p>&
75、lt;p> MOV DX,MY8255_MODE</p><p> MOV AL,81H</p><p> OUT DX,AL</p><p> MOV DX,CON8254</p><p> MOV AL,36H </p><p><b> OUT DX,AL</b>
76、</p><p> MOV DX,A8254 </p><p> MOV AL,0E8H</p><p><b> OUT DX,AL</b></p><p> MOV AL,03H</p><p> OUT DX,AL </p><p> MOV AL,
77、11H</p><p> OUT 20H, AL</p><p> MOV AL, 08H</p><p> OUT 21H, AL</p><p> MOV AL, 04H</p><p> OUT 21H, AL</p><p> MOV AL, 01H&
78、lt;/p><p> OUT 21H, AL</p><p> MOV AL, 6FH</p><p> OUT 21H, AL</p><p><b> STI </b></p><p> MOV AX,DATA </p><p> MOV D
79、S,AX </p><p> MOV SI,3000H</p><p> MOV AL,00H</p><p> MOV [SI],AL </p><p> MOV [SI+1],AL </p><p> MOV [SI+2],AL</p><p> MOV [SI+3]
80、,AL</p><p> MOV DI,3003H</p><p> BEGIN: CALL DIS</p><p> CALL CLEAR</p><p> JMP BEGIN </p><p> MIR7:STI </p><p><b> PUSH AX</
81、b></p><p><b> PUSH SI</b></p><p> MOV AX,MSEC </p><p><b> INC AX </b></p><p> MOV MSEC,AX</p><p> CMP AX,1000 </p>&
82、lt;p><b> JB MRET </b></p><p><b> MOV AX,0</b></p><p> MOV MSEC,AX </p><p> MOV AL,SEC</p><p><b> ADD AL,1</b></p><
83、;p><b> DAA </b></p><p> MOV SEC,AL</p><p> CMP AL,60H</p><p><b> JB MTODIS</b></p><p><b> MOV AL,0</b></p><p>
84、 MOV SEC,AL</p><p> MOV AL,MIN</p><p><b> ADD AL,1</b></p><p><b> DAA</b></p><p> MOV MIN,AL</p><p> MTODIS: MOV AL,SEC</p&
85、gt;<p><b> MOV AH,AL</b></p><p> MOV SI,3000H</p><p> AND AL,0FH</p><p> MOV [SI],AL</p><p><b> ROR AH,1</b></p><p><
86、;b> ROR AH,1</b></p><p><b> ROR AH,1</b></p><p><b> ROR AH,1</b></p><p> AND AH,0FH</p><p> MOV [SI+1],AH</p><p> MO
87、V AL,MIN</p><p><b> MOV AH,AL</b></p><p> AND AL,0FH</p><p> MOV [SI+2],AL</p><p><b> ROR AH,1</b></p><p><b> ROR AH,1&l
88、t;/b></p><p><b> ROR AH,1</b></p><p><b> ROR AH,1</b></p><p> AND AH,0FH</p><p> MOV [SI+3],AH</p><p> MRET:MOV AL, 20H<
89、;/p><p> OUT 20H, AL</p><p><b> POP SI</b></p><p><b> POP AX</b></p><p><b> IRET</b></p><p> CLEAR: MOV DX,MY8255_B
90、</p><p> MOV AL,00H </p><p> OUT DX,AL </p><p><b> RET</b></p><p> DIS: PUSH AX </p><p> MOV SI,3000H</p><p> MOV DL,0F7H&
91、lt;/p><p><b> MOV AL,DL</b></p><p> AGAIN: PUSH DX </p><p> MOV DX,MY8255_A</p><p><b> OUT DX,AL</b></p><p> MOV AL,[SI]</p>
92、;<p> MOV BX,OFFSET DTABLE</p><p> AND AX,00FFH </p><p><b> ADD BX,AX</b></p><p> MOV AL,[BX]</p><p> MOV DX,MY8255_B </p><p> OUT
93、 DX,AL </p><p> CALL DALLY</p><p><b> INC SI</b></p><p><b> POP DX</b></p><p><b> MOV AL,DL</b></p><p> TEST AL,01
94、H</p><p><b> JZ OUT1</b></p><p><b> ROR AL,1 </b></p><p><b> MOV DL,AL</b></p><p><b> JMP AGAIN</b></p><
95、p> OUT1: POP AX</p><p><b> RET</b></p><p> DALLY : PUSH CX</p><p> MOV CX,000FH
96、 </p><p> T1: MOV AX,002FH</p><p> T2: DEC AX</p><p><b> JNZ T2</b>&l
97、t;/p><p><b> LOOP T1</b></p><p><b> POP CX</b></p><p><b> RET</b></p><p><b> CODE ENDS</b></p><p><b>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda電子鐘課程設(shè)計----電子鐘的設(shè)計
- 電子鐘課程設(shè)計
- 電子鐘課程設(shè)計--多功能電子鐘
- 電子鐘課程設(shè)計
- 電子鐘課程設(shè)計
- eda課程設(shè)計-電子鐘
- 自動電子鐘課程設(shè)計
- 數(shù)字電子鐘課程設(shè)計
- 課程設(shè)計-- 智能電子鐘
- 數(shù)字電子鐘課程設(shè)計
- lcd電子鐘課程設(shè)計
- 單片機電子鐘課程設(shè)計---數(shù)字電子鐘
- 電子鐘課程設(shè)計3
- 電子鐘課程設(shè)計6
- 課程設(shè)計---數(shù)字電子鐘
- 數(shù)字電子鐘課程設(shè)計
- 課程設(shè)計----自動電子鐘
- 數(shù)字電子鐘課程設(shè)計
- 數(shù)字電子鐘課程設(shè)計
- 電子鐘設(shè)計課程設(shè)計論文
評論
0/150
提交評論