版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 設(shè)計(jì)要求…………………………………………2</p><p> 設(shè)計(jì)目的…………………………………………2</p><p> 設(shè)計(jì)的具體實(shí)現(xiàn)…………………………………2</p><p> 系統(tǒng)概況……………………………………………2</p>
2、<p> 硬件電路設(shè)計(jì)………………………………………2</p><p> 顯示模塊…………………………………………3</p><p> 時(shí)鐘運(yùn)算模塊……………………………………3</p><p> 對(duì)時(shí)模塊…………………………………………4</p><p> 軟件程序設(shè)計(jì)………………………………………4</p>
3、;<p> 8259A的主要功能………………………………4</p><p> 8255的主要功能…………………………………4</p><p> 8253的主要功能…………………………………4</p><p> 程序框圖………………………………………………5</p><p> 結(jié)論與展望………………………………………8&
4、lt;/p><p> 心得體會(huì)及建議…………………………………8</p><p> 附錄………………………………………………9</p><p> 參考文獻(xiàn)…………………………………………19</p><p><b> 電子鐘的設(shè)計(jì)報(bào)告</b></p><p> 設(shè)計(jì)要求 設(shè)計(jì)一個(gè)電子
5、時(shí)鐘,使其具有二十四小時(shí)循環(huán)記時(shí)功能,走時(shí)要準(zhǔn)。并且有時(shí)鐘的對(duì)時(shí)功能。</p><p> 設(shè)計(jì)目的熟練掌握TND86/88教學(xué)系統(tǒng)的基本操作和調(diào)試程序的各種指令。熟悉編程及調(diào)試程序的方法。掌握8259中斷控制器的工作原理和應(yīng)用編程方法,練習(xí)編寫中斷程序的方法。掌握8255的各種工作方式及其應(yīng)用編程。掌握8253定時(shí)/計(jì)數(shù)器的工作原理、工作方式及其應(yīng)用編程。練習(xí)LED-KEYBOARD UNIT的使用
6、方法和數(shù)碼管的顯示編程方法。</p><p><b> 設(shè)計(jì)的具體實(shí)現(xiàn)</b></p><p><b> 摘要</b></p><p> 通過8253定時(shí)器產(chǎn)生秒脈沖信號(hào),進(jìn)而實(shí)現(xiàn)定時(shí)中斷。在中斷服務(wù)程序中實(shí)現(xiàn)秒、分、小時(shí)的進(jìn)位(24小時(shí)制)。</p><p> 將當(dāng)前時(shí)分在數(shù)碼管上顯示(0
7、823)</p><p> 可調(diào)整電子鐘的時(shí)間當(dāng)前值(對(duì)準(zhǔn)時(shí)間)。</p><p><b> 具體實(shí)現(xiàn)</b></p><p> 1·系統(tǒng)概況 電子時(shí)鐘主要由顯示模塊、對(duì)時(shí)模塊和時(shí)鐘運(yùn)算模塊三大部分組成。其中對(duì)時(shí)模塊和時(shí)鐘運(yùn)算模塊要對(duì)時(shí)、分、秒的數(shù)值進(jìn)行操作,并且秒計(jì)算到60時(shí),要自己清零并向分進(jìn)1;分計(jì)算到60時(shí),要自
8、己清零并向時(shí)進(jìn)1;時(shí)計(jì)算到24時(shí),要清零。這樣,才能實(shí)現(xiàn)循環(huán)計(jì)時(shí)。顯示時(shí)只顯示時(shí)和分,不顯示秒,利用實(shí)驗(yàn)箱上的4個(gè)數(shù)碼管來顯示當(dāng)前時(shí)間。前兩個(gè)顯示小時(shí),后兩個(gè)顯示分鐘。時(shí)鐘的運(yùn)算是利用中斷來實(shí)現(xiàn)的,利用8253的方式三輸出一定頻率的方波作為觸發(fā)中斷的條件。在中斷服務(wù)程序中計(jì)算時(shí)間,并通過8255并行輸出到數(shù)碼管顯示。2·硬件電路設(shè)計(jì) 電子時(shí)鐘主要由8259A中斷控制器、8253定時(shí)/計(jì)數(shù)器、8255A接口芯片、LED
9、數(shù)碼顯示管和兩個(gè)按鍵組成。主要用8259A的IRQ7的中斷服務(wù)程序完成秒、分、時(shí)的運(yùn)算即計(jì)時(shí)功能,IRQ6的中斷服務(wù)程序完成調(diào)時(shí)、調(diào)分功能。8253用來產(chǎn)生40ms的脈沖信號(hào)作為IRQ7的中斷請(qǐng)求信號(hào)。按鍵KK1+和KK2+分別作為IRQ2和IRQ6的中斷請(qǐng)求信號(hào)。按鍵KK1+啟動(dòng)/關(guān)閉對(duì)時(shí)功能。它決定是否屏蔽IRQ7和IRQ6中斷源。8255A負(fù)責(zé)將內(nèi)存里的時(shí)位和分</p><p> 4·程序框圖
10、</p><p> IRQ2中斷流程:</p><p> IRQ6中斷流程圖:</p><p> 結(jié)論與展望 將編寫好的源程序輸入,編譯后出現(xiàn)很多問題,經(jīng)過反復(fù)修改程序終于運(yùn)行通
11、過。1:數(shù)碼管顯示的數(shù)字并不與理論計(jì)算值相符合,經(jīng)過反復(fù)分析源程序發(fā)現(xiàn)問題出現(xiàn)在內(nèi)存單元里時(shí)位和分位在轉(zhuǎn)化為十進(jìn)制時(shí)出錯(cuò),經(jīng)過更改內(nèi)存但愿數(shù)據(jù)。一開始數(shù)字閃動(dòng),后來請(qǐng)教同學(xué),原因應(yīng)該出在顯示子程序里,缺少延時(shí)程序。編寫延時(shí)子程序,并在顯示子程序調(diào)用它;編譯源程序,裝入生成的可執(zhí)行文件,并運(yùn)行。數(shù)碼管顯示的數(shù)字與理論值相符合,并能正常計(jì)時(shí),2:如果按動(dòng)KK1+鍵時(shí),不能啟動(dòng)對(duì)時(shí)功能或按動(dòng)KK2+時(shí),也不能調(diào)時(shí)、調(diào)分。問題很可能出在兩鍵控制
12、的中斷源上,可以采取更換中斷源來是進(jìn)行調(diào)試。</p><p> 心得體會(huì)與建議 為期兩周的微機(jī)原理課程設(shè)計(jì)已接近尾聲,在這兩周的學(xué)習(xí)中,我收獲了不少,在之前的理論學(xué)習(xí)中,有很多知識(shí)點(diǎn)沒有理解,這次課設(shè)才使我對(duì)微機(jī)原理的應(yīng)用有了更深的理解。</p><p> 盡管課設(shè)之前我們已經(jīng)學(xué)習(xí)完了《微機(jī)原理及應(yīng)用》這本書,但這離完成一個(gè)完整的課設(shè)還有很大的距離。我這次的題目是電子鐘課程設(shè)計(jì)
13、,比較簡單,為了更好地完成這次課設(shè),我去圖書館查閱了許多相關(guān)資料,也上網(wǎng)查閱了一些,這讓我對(duì)微機(jī)原理知識(shí)有了進(jìn)一步的認(rèn)識(shí),并豐富了我的相關(guān)知識(shí)。對(duì)8259、8255、8253有了進(jìn)一步的了解,對(duì)中斷處理有了更深的理解,很好的復(fù)習(xí)了微機(jī)原理,同時(shí)對(duì)端口有了初步的理解。通過課程設(shè)計(jì)更加體會(huì)到了團(tuán)隊(duì)作戰(zhàn)的長處,大家一起受益頗多,取長補(bǔ)短,最主要的是認(rèn)識(shí)到了自己的不足,需要進(jìn)一步學(xué)習(xí)所含知識(shí),尤其是端口,更需要勤加練習(xí)匯編語言與微機(jī)原理的結(jié)合,
14、課程設(shè)計(jì)受益頗多。 這次課設(shè)讓我收獲了很多,既讓我更加深刻的理解了微機(jī)原理的相關(guān)知識(shí),更主要的是增強(qiáng)了自己理論聯(lián)系實(shí)際的能力。對(duì)一些常用芯片有了更深一步的認(rèn)識(shí),并且能夠很好的使用它們。這次課設(shè)涉及到很多芯片的應(yīng)用,最大的特點(diǎn)就是軟硬件結(jié)合。應(yīng)該說,這次課程設(shè)計(jì)達(dá)到了目的。</p><p><b> 附錄</b></p><p><b> 元
15、器件明細(xì)表:</b></p><p> 1.8253定時(shí)器:</p><p> 8253的功能用途是:延時(shí)中斷、可編程頻率發(fā)生器、事件計(jì)數(shù)器、二進(jìn)倍頻器、實(shí)時(shí)時(shí)鐘等。</p><p> 8253有六種工作方式:</p><p> 方式0:計(jì)數(shù)結(jié)束產(chǎn)生中斷;方式1:可重觸發(fā)單穩(wěn)態(tài)方式;方式2:頻率發(fā)生器;方式3:方波發(fā)生器
16、;方式4:軟件觸發(fā)的選通信號(hào)發(fā)生器;方式5:硬件觸發(fā)的選通信號(hào)發(fā)生器。</p><p> 2.8259A中斷控制器: </p><p> 8259的工作方式:</p><p> 中斷嵌套方式:全嵌套方式、特殊全嵌套方式;</p><p> 循環(huán)優(yōu)先方式:優(yōu)先級(jí)自動(dòng)循環(huán)方式、優(yōu)先權(quán)特殊循環(huán)方式;</p>
17、<p> 中斷屏蔽方式:普通屏蔽方式、特殊屏蔽方式;</p><p> 結(jié)束中斷處理方式:自動(dòng)中斷結(jié)束方式、非自動(dòng)中斷結(jié)束方式;</p><p><b> 程序查詢方式;</b></p><p> 中斷請(qǐng)求觸發(fā)方式:邊沿觸發(fā)方式、電平觸發(fā)方式。</p><p> 3.8255A并行接口:
18、 Intel8255A是一種通用的可編程并行接口芯片,它具有24條I/O引腳,采用雙排直插式封裝,使用單一+5V電源,全部輸入/輸出與TTL電平兼容。</p><p> 8255A的工作方式有三種:</p><p> 方式0:基本輸入輸出;方式1:選通輸入輸出;方式3:雙向選通輸入輸出。</p><p><b> 4.電路原理圖:</b>
19、</p><p> 5.程序代碼:STACK SEGMENT STACK</p><p> DW 64 DUP(?)</p><p> STACK ENDS</p><p> DATA SEGMENT</p><p> H DW 000CH</p><p> M
20、 DW 0000H</p><p> S DW 0000H</p><p> COUNT DW 0000H</p><p> OFF DW 0000H</p><p> TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH</p><p&g
21、t; DATA ENDS</p><p> CODE SEGMENT</p><p> ASSUME CS:CODE,DS:DATA</p><p><b> START: </b></p><p> MOV AX,DATA</p><p> MOV DS,AX //把數(shù)
22、據(jù)送到DS中</p><p> MOV AL,81H //A為輸出,B為輸入,工作方式為方式0</p><p> OUT 63H,AL //設(shè)置8255的工作方式</p><p> MOV AX,2300H</p><p> MOV [0028],AX</p><p> MOV AX,0000H<
23、;/p><p> MOV [002A],AX //把IRQ2的中斷服務(wù)向量寫入中斷向量表中斷向量為0AH</p><p> MOV AX,2200H</p><p> MOV [0038],AX</p><p> MOV AX,0000H</p><p> MOV [003A],AX //把IR
24、Q6的中斷服務(wù)向量寫入中斷向量表中斷向量為0EH</p><p> MOV AX,2100H</p><p> MOV [003C],AX</p><p> MOV AX,0000H</p><p> MOV [003E],AX //把IRQ7的中斷服務(wù)向量寫入中斷向量表中斷向量為0FH</p><p>
25、; MOV AL,0B6H</p><p> OUT 43H,AL</p><p> MOV AL,68H //寫計(jì)數(shù)初值Tc=tf=40ms*1.93MHz=68BA</p><p> OUT 42H,AL</p><p> MOV AL,0BAH</p><p> OUT 42H,AL
26、 //設(shè)置8253的計(jì)數(shù)器2和工作模式3</p><p> MOV AL,7BH</p><p> OUT 21H,AL // 設(shè)置8259A的2號(hào)和7號(hào)中斷允許</p><p><b> BEGIN:</b></p><p><b> CALL DIS</b>&l
27、t;/p><p><b> STI</b></p><p> JMP BEGIN</p><p><b> IRQ7: </b></p><p><b> PUSH AX</b></p><p> MOV AX,COUNT</p&g
28、t;<p><b> INC AX</b></p><p> MOV COUNT , AX //COUNT++</p><p><b> POP AX</b></p><p> CMP COUNT , 19H //與25比較</p><p>
29、; JNZ RETURN //COUNT<25</p><p> MOV AX,0000H</p><p> MOV COUNT , AX //COUNT=0</p><p> MOV AX , S</p><p><b> INC AX</b></p>
30、;<p> MOV S , AX //S++,秒加1</p><p> CMP AX , 003CH</p><p> JNZ RETURN //S<60</p><p> MOV AX,0000H</p><p> MOV S , AX //
31、S=0</p><p> MOV BX , M</p><p><b> INC BX</b></p><p> MOV M , BX //M++,分加1</p><p> CMP BX , 003CH //與60比較</p><p> JNZ RET
32、URN //M<60</p><p> MOV BX,0000H</p><p> MOV M ,BX //M=0</p><p><b> MOV DX,H</b></p><p><b> INC DX</b></p>&l
33、t;p> MOV H,DX //H++,時(shí)加1</p><p> CMP DX,0018H //與24比較</p><p> JNZ RETURN //H<24</p><p> MOV DX,0000H</p><p> MOV H,DX //
34、H=0 </p><p><b> RETURN:</b></p><p> MOV AL,7BH //設(shè)置OCW2</p><p> OUT 21H,AL //2號(hào)和7號(hào)中斷允許,6號(hào)屏蔽</p><p> MOV AL,20H</p><p> O
35、UT 20H,AL //中斷結(jié)束</p><p><b> IRET</b></p><p><b> IRQ6: </b></p><p> MOV AX,OFF //讀OFF</p><p> CMP AX,0001H //與1比較&
36、lt;/p><p> JNZ HR //OFF!=1跳轉(zhuǎn)</p><p><b> MOV BX,M</b></p><p><b> INC BX</b></p><p> MOV M,BX //M+=1調(diào)整分鐘</p><
37、p> CMP BX,003CH //與60比較</p><p> JNZ R0 //不滿60分鐘跳出</p><p> MOV BX,0000H</p><p> MOV M ,BX //滿60分鐘清零</p><p> JMP R0 //跳
38、出R0</p><p><b> HR: </b></p><p> CMP AX,0002H //與2比較</p><p> JNZ R0 //OFF!=2</p><p> MOV BX,H </p><p><
39、b> INC BX</b></p><p> MOV H,BX //H+=1調(diào)整小時(shí)</p><p> CMP BX,0018H //與24比較</p><p> JNZ R0 //不滿24小時(shí)跳出</p><p> MOV BX,0000H
40、 </p><p> MOV H ,BX //滿24小時(shí)清零</p><p><b> R0: </b></p><p> MOV AL,0BBH //設(shè)置OCW2</p><p> OUT 21H,AL //8259的2號(hào)和6號(hào)中斷允許,7號(hào)中斷屏
41、蔽</p><p> MOV AL,20H</p><p> OUT 20H,AL //中斷結(jié)束</p><p> IRET //中斷返回</p><p><b> IRQ2: </b></p><p><b> P
42、USH AX</b></p><p> MOV AX,OFF</p><p><b> INC AX</b></p><p> MOV OFF,AX //OFF++</p><p><b> POP AX</b></p><p>
43、 MOV BX,OFF</p><p> CMP BX,0003H //與3比較</p><p> JZ R1 //OFF=3,跳轉(zhuǎn)到R1</p><p> CMP BX,0001H //與1比較</p><p> JZ R2 //OF
44、F=1,跳轉(zhuǎn)到R2</p><p> CMP BX,0002H</p><p> JZ R2 //OFF=2</p><p><b> R1: </b></p><p> MOV BX,0000H</p><p> MOV OFF,BX
45、 //OFF清零</p><p> MOV AL,7BH //設(shè)置OCW2,2號(hào)和7號(hào)中斷允許,其余屏蔽</p><p> OUT 21H,AL</p><p> MOV AL,20H</p><p> OUT 20H,AL //中斷結(jié)束</p><p> IR
46、ET //中斷返回</p><p><b> R2:</b></p><p> MOV AL,0BBH //OFF清零,設(shè)置OCW2,2號(hào)和6號(hào)中斷允許,其余屏蔽</p><p> OUT 21H,AL </p><p> MOV AL,20H</p>
47、<p> OUT 20H,AL </p><p> IRET </p><p><b> DIS: </b></p><p><b> PUSH AX </b></p><p> MOV AX,M //讀分</p>
48、<p> MOV BL,0AH</p><p><b> DIV BL</b></p><p> MOV DI,3000H</p><p> MOV [3000],AH</p><p> MOV [3001],AL //讀出當(dāng)前的分鐘數(shù)并轉(zhuǎn)換成十進(jìn)制后放入3000和3001單元中</
49、p><p> MOV AX,H //讀時(shí)</p><p> MOV BL,0AH</p><p><b> DIV BL</b></p><p> MOV [3002],AH</p><p> MOV [3003],AL //讀出當(dāng)前的小時(shí)數(shù)并轉(zhuǎn)換成十進(jìn)制后放入
50、3002和3003單元中</p><p> MOV DL,0F7H //選中一個(gè)數(shù)碼管</p><p><b> MOV AL,DL</b></p><p><b> AGAIN: </b></p><p> OUT 60H,AL //通過A端口選中相應(yīng)數(shù)碼管&
51、lt;/p><p> MOV BL,[DI]</p><p> MOV BH,00H //讀出相應(yīng)數(shù)據(jù)放入BX</p><p> MOV SI,OFFSET TABLE</p><p> ADD BX,SI //獲得要顯示的數(shù)據(jù)</p><p> MOV AL,[BX] <
52、;/p><p> OUT 61H,AL //通過B端口送出數(shù)據(jù)</p><p> CALL DALLY //調(diào)用延時(shí)功能</p><p><b> INC DI</b></p><p><b> MOV AL,DL</b></p><p>
53、 TEST AL,01H //判斷是否選中的是最前面的數(shù)碼管</p><p> JZ OUT //如果是,跳出</p><p> ROR AL,1 //不是,數(shù)碼管右移一個(gè)</p><p><b> MOV DL,AL</b></p><p> JMP
54、AGAIN </p><p><b> OUT: </b></p><p><b> POP AX</b></p><p><b> RET</b></p><p> DALLY: //延時(shí)子程序</p><p&g
55、t; PUSH CX //CX代表循環(huán)次數(shù)</p><p> MOV CX,000FH</p><p><b> T1: </b></p><p> MOV AX,0020H</p><p><b> T2: </b></p><p>
56、<b> DEC AX</b></p><p><b> JNZ T2</b></p><p> LOOP T1 //AX不斷減一直到為0</p><p><b> POP CX</b></p><p><b> RET</b
57、></p><p><b> CODE ENDS</b></p><p> END START //程序結(jié)束</p><p> 參考文獻(xiàn)[1]許立梓.微型計(jì)算機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2003[2]戴梅萼等. 微型計(jì)算機(jī)技術(shù)及應(yīng)用.北京:清華大學(xué)出版社,2003</p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)原理-電子鐘課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)---電子鐘的設(shè)計(jì)報(bào)告
- 【微機(jī)原理課程設(shè)計(jì)】電子鐘的設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--智能電子鐘
- 微機(jī)原理課程設(shè)計(jì)----簡單電子鐘設(shè)計(jì)
- 微機(jī)原理-多功能電子鐘課程設(shè)計(jì)
- 微機(jī)接口電子鐘課程設(shè)計(jì)報(bào)告
- 微機(jī)接口課程設(shè)計(jì)(電子鐘)
- 電子鐘課程設(shè)計(jì)報(bào)告——微機(jī)原理與接口技術(shù)
- 電子鐘課程設(shè)計(jì)----數(shù)字電子鐘的設(shè)計(jì)
- eda電子鐘課程設(shè)計(jì)----電子鐘的設(shè)計(jì)
- 電子鐘的設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 《單片機(jī)原理》課程設(shè)計(jì)報(bào)告--電子鐘
- 數(shù)字電子鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子鐘設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)---數(shù)字電子鐘設(shè)計(jì)報(bào)告
- 電子鐘課程設(shè)計(jì)
- 數(shù)字電子鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子鐘課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論