版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 電子鐘課程設(shè)計</b></p><p><b> 一.實(shí)驗(yàn)?zāi)康?lt;/b></p><p> 1... 學(xué)習(xí)8051定時器時間計時處理、按鍵掃描及LED數(shù)碼管顯示的設(shè)計方法。</p><p> 2.. 設(shè)計任務(wù)及要求 利用實(shí)驗(yàn)平臺上4個LED數(shù)碼管, 設(shè)計帶有記憶功能的數(shù)字時鐘</p&
2、gt;<p> 3.掌握組合邏輯電路、時序邏輯電路及數(shù)字邏輯電路系統(tǒng)的設(shè)計、安裝、測試方法;</p><p> 4.進(jìn)一步鞏固所學(xué)的理論知識,提高運(yùn)用所學(xué)知識分析和解決實(shí)際問題的能力;</p><p> 5.提高電路布局﹑布線及檢查和排除故障的能力;</p><p> 6.培養(yǎng)書寫綜合實(shí)驗(yàn)報告的能力。</p><p>&
3、lt;b> 二、實(shí)驗(yàn)設(shè)備</b></p><p> STAR ES598PCI試驗(yàn)儀一套、PC機(jī)一臺。</p><p><b> 三、實(shí)驗(yàn)內(nèi)容</b></p><p> 1、使用8253定時功能,產(chǎn)生0.5S的定時中斷給8259</p><p> 2、在G5區(qū)的數(shù)碼管上顯示時間</p&g
4、t;<p> 3、允許設(shè)置時鐘初值</p><p> 4.使電子鐘帶有記憶功能.</p><p><b> 設(shè)計所涉及的芯片</b></p><p> 1、8253定時器:</p><p> 用于產(chǎn)生秒脈沖,其輸出信號可作為中斷請示信號送IRQ2。</p><p> 2、
5、8279接口芯片:</p><p> 實(shí)現(xiàn)鍵盤輸入和顯示輸出。</p><p> 3、8259中斷控制器:</p><p><b> 用于產(chǎn)生中斷。</b></p><p> 4、LED:六個LED用于顯示時:分:秒值。</p><p> 5、小鍵盤:用于控制設(shè)置。</p>
6、<p><b> 四、實(shí)驗(yàn)要求 </b></p><p> 1. 在4位數(shù)碼管上顯示當(dāng)前時間。顯示格式“秒,分,時” </p><p> 2. 由LED閃動做秒顯示。</p><p> 3.實(shí)現(xiàn)秒表功能(百分之一秒顯示)</p><p> 4.電子鐘有記憶功能,電子鐘啟動之后,按F鍵,在顯示秒的地方
7、記錄數(shù)據(jù),然后電子鐘重新開始啟動,再次按F鍵,電子鐘再次記錄數(shù)據(jù)。</p><p><b> 五、設(shè)計原理</b></p><p> 利用定時器8253和8259以及鍵盤和數(shù)碼顯示電路,設(shè)計一個電子時鐘,由8253中斷定時,小鍵盤控制電子時鐘的啟停及初始值的預(yù)置。</p><p> 電子時鐘的顯示格式AA:SS:DD由左到右分別為時、分、
8、秒,最大記時59:59:59超過這個時間時分秒位都清零從00:00:00重新開始。</p><p> 設(shè)計一個定時顯示裝置,用六個數(shù)碼管顯示時間,用小鍵盤控制計時,設(shè)置和顯示時間。系統(tǒng)一運(yùn)行就從00點(diǎn)00分00秒開始計時,并在數(shù)碼管上顯示秒、分、時當(dāng)前值,而且,可以用鍵盤設(shè)置當(dāng)前時間。</p><p> 基本工作原理:每百分之一秒對百分之一秒寄存器的內(nèi)容加一,并依次對秒、分、小時寄存器
9、的內(nèi)容加一;六個數(shù)碼管動態(tài)顯示時、分、秒的當(dāng)前值。</p><p> C鍵:置初值,顯示00:00:00</p><p> G鍵:顯示動態(tài)變化(啟動表);</p><p> D鍵:顯示靜態(tài)不變(表停止);</p><p> E鍵:終止程序,返回DOS;</p><p> P鍵:設(shè)置秒:分:時的值</p&
10、gt;<p> A0, A1—片內(nèi)寄存器地址輸入信號;</p><p> CLK一一-it數(shù)輸入,用于輸入定時基準(zhǔn)脈沖或計數(shù)脈沖</p><p> OUT輸出信號,以相應(yīng)的電平指示計數(shù)的完成,或輸出脈沖波形</p><p> GATE-迭通輸入(門控輸入),用于啟動或禁止計數(shù)器的操作,以使計數(shù)器和計測對象同步。</p><p
11、><b> 六、系統(tǒng)總體設(shè)計</b></p><p> 本系統(tǒng)設(shè)計的電子鐘以8088微處理器作為CPU,用8253做定時計數(shù)器產(chǎn)生時鐘頻率,8279做可編程并行接口顯示時鐘和鍵盤電路,8259做中斷控制器產(chǎn)生中斷。在此系統(tǒng)中,8253的功能是定時,接入8253的CLK信號為周期性時鐘信號。8253采用計數(shù)器0,工作于方式2,使8253的OUT0端輸出周期性的負(fù)脈沖信號。即每隔20m
12、s,8253的OUT0端就會輸出一個負(fù)脈沖的信號,此信號接8259的IR2,當(dāng)中斷到50次數(shù)后,CPU即處理,使液晶顯示器上的時間發(fā)生變化。程序由以下模塊組成:系統(tǒng)共有5個功能模塊,分別為,主控模塊,顯示模塊,定時模塊,中斷模塊,小鍵盤模塊。</p><p><b> 系統(tǒng)總體框圖如下:</b></p><p><b> 1.CPU模塊</b>
13、;</p><p> 8088最小工作模式,作為整個電子表的核心控制部分。</p><p> 在8088最小模式中,硬件連接上有如下特點(diǎn):</p><p> MN/MX 端接+5V,決定了8088工作在最小模式。 </p><p> 有1片8284A,作為時鐘發(fā)生器。</p><p> 有3片8282,用來作
14、為地址鎖存器。8282是典型的鎖存器芯片,因?yàn)樗?位的,所以需要3片8282作為鎖存器。</p><p> 當(dāng)系統(tǒng)中所連的存儲器和外設(shè)系統(tǒng)較多時,需要增加數(shù)據(jù)總線的驅(qū)動能力,這時,要用兩片8286作為總線收發(fā)器。</p><p> 8088構(gòu)成的CPU</p><p><b> 2.定時模塊</b></p><p&g
15、t; 定時模塊是為8259提供中斷請求信號的。由一片8253實(shí)現(xiàn),選用定時器0#,工作在方式3,由于時鐘應(yīng)該1秒走動一次,所以輸出值應(yīng)為1S,其輸出信號可作為8259的中斷請求信號。</p><p><b> 定時模塊原理圖</b></p><p><b> 3.中斷處理模塊</b></p><p> 中斷模塊實(shí)現(xiàn)
16、動態(tài)顯示的,硬件為一片8259,由于中斷請求信號為每秒一次,中斷程序該為時間按秒增加,并顯示,只要開中斷,便可實(shí)現(xiàn)每秒顯示時間增加一秒,從而達(dá)到動態(tài)顯示的效果。</p><p> 4.顯示模塊和小鍵盤模塊</p><p><b> 5.實(shí)物硬件連接圖</b></p><p><b> 七、實(shí)驗(yàn)步驟</b></p
17、><p><b> 1、主機(jī)連線說明:</b></p><p> 2、運(yùn)行程序,按G5區(qū)的F鍵,設(shè)置時鐘初值;</p><p> 3、觀察G5區(qū)數(shù)碼管上顯示的時間是否正確。</p><p> 中斷信號送CPU處理。</p><p><b> 八、演示程序</b><
18、/p><p> .MODELTINY</p><p> EXTRN Display8:NEAR, GetKeyA:NEAR, GetKeyB:NEAR</p><p> IO8259_0EQU0F000H</p><p> IO8259_1EQU0F001H</p><p>
19、Con_8253EQU0E003H</p><p> T0_8253 EQU0E000H</p><p> .STACK200</p><p><b> .DATA</b></p><p> halfsec DB0;0.5秒計數(shù)</p><
20、p> SecDB0;秒</p><p> MinDB0;分</p><p> hourDB0;時</p><p> buffer DB8 DUP(0);顯示緩沖區(qū),8個字節(jié)</p><p> buffer1 DB8 DUP(0);顯示緩沖區(qū),8個字節(jié)</p>
21、<p> bNeedDisplay DB0;需要刷新顯示</p><p> number DB0;設(shè)置哪一位時間</p><p> bFlash DB0;設(shè)置時是否需要刷新</p><p><b> .CODE</b></p><p> START: MOVAX,@DA
22、TA</p><p> MOVDS,AX</p><p> MOVES,AX</p><p><b> NOP</b></p><p> movsec,0;時分秒賦初值00:00:00</p><p> movmin,00</p><p>
23、 movhour,00</p><p> MOVbNeedDisplay,1;顯示初始值</p><p> CALLInit8253</p><p> CALLInit8259</p><p> CALLWriIntver</p><p><b> STI</b>
24、;</p><p> MAIN: CALLGetKeyA;按鍵掃描</p><p> JNBMain1</p><p> CMPAL,0FH;設(shè)置時間</p><p> JNZMain1</p><p> CALLSetTime</p><p>
25、Main1: CMPbNeedDisplay,0</p><p><b> JZMAIN</b></p><p> CALLDisplay_LED;顯示時分秒</p><p> MOVbNeedDisplay,0;1s定時到刷新轉(zhuǎn)速</p><p> Main2: J
26、MPMAIN ;循環(huán)進(jìn)行實(shí)驗(yàn)內(nèi)容介紹與測速功能測試</p><p> SetTime PROCNEAR</p><p> LEASI,buffer1</p><p> CALLTimeToBuffer</p><p> MOVNumber,0</p><p>
27、Key:CMPbFlash,0</p><p><b> JZKey2</b></p><p> LEASI,buffer1</p><p> LEADI,buffer</p><p><b> MOVCX,8</b></p><p> RE
28、PMOVSB</p><p> CMPhalfsec,0</p><p> JNZFLASH</p><p> MOVBL,number</p><p><b> NOTBL</b></p><p> ANDBX,07H</p><p>
29、 LEASI,buffer</p><p> MOVBYTE PTR [SI+BX],10H;當(dāng)前設(shè)置位置產(chǎn)生閃爍效果</p><p> FLASH: LEASI,buffer</p><p> CALLDisplay8</p><p> MOVbFlash,0</p><p>
30、; Key2: CALLGetKeyA</p><p><b> JNBKey</b></p><p> CMPAL,0EH;放棄設(shè)置</p><p><b> JNZKey1</b></p><p> JMPMain1</p><p
31、> Key1: CMPAL,0FH</p><p> JZSetTime8</p><p> SetTime1:CMPAL,10</p><p> JNBKey;無效按鍵</p><p> CMPnumber,0</p><p> JNZSetTime2&l
32、t;/p><p> CMPAL,3;調(diào)整時的十位數(shù)</p><p><b> JNBKey</b></p><p> MOVbuffer1 + 7,AL</p><p> JMPSetTime7</p><p> SetTime2:CMPnumber,1</p&
33、gt;<p> JNZSetTime3</p><p> CMPbuffer1 + 7,1;調(diào)整時的個位數(shù)</p><p> JZSetTime2_1</p><p><b> CMPAL,4</b></p><p><b> JNBKey</b><
34、/p><p> SetTime2_1:MOVbuffer1 + 6,AL</p><p> INCnumber</p><p> JMPSetTime7</p><p> SetTime3:CMPnumber,3</p><p> JNZSetTime4</p><p&
35、gt; CMPAL,6;調(diào)整分的十位數(shù)</p><p><b> JNBKey</b></p><p> MOVbuffer1 + 4,AL</p><p> JMPSetTime7</p><p> SetTime4:CMPnumber,4</p><p>
36、 JNZSetTime5</p><p> MOVbuffer1 + 3,AL;調(diào)整分的個位數(shù)</p><p> INCnumber</p><p> JMPSetTime7</p><p> SetTime5:CMPnumber,6</p><p> JNZSetTime6<
37、/p><p> CMPAL,6;調(diào)整秒的十位數(shù)</p><p> JBSetTime5_1</p><p><b> JMPKey</b></p><p> SetTime5_1:MOVbuffer1 + 1,AL</p><p> JMPSetTime7</p
38、><p> SetTime6:MOVbuffer1,AL;調(diào)整秒的個位數(shù)</p><p> SetTime7:INCnumber</p><p> CMPnumber,8</p><p> JNBSetTime8</p><p> MOVbFlash,1;需要刷新</p>&
39、lt;p><b> JMPKey</b></p><p> SetTime8:MOVAL,buffer1 + 1;確認(rèn)</p><p> MOVBL,10</p><p><b> MULBL</b></p><p> ADDAL,buffer1</p&
40、gt;<p> MOVsec,AL;秒</p><p> MOVAL,buffer1 + 4</p><p><b> MULBL</b></p><p> ADDAL,buffer1 + 3</p><p> MOVmin,AL;分</p><p>
41、 MOVAL,buffer1 + 7</p><p><b> MULBL</b></p><p> ADDAL,buffer1 + 6</p><p> MOVhour,AL;時</p><p><b> JMPExit</b></p><p>
42、; Exit: RET</p><p> SetTimeENDP</p><p> TimeToBufferPROCNEAR</p><p> MOVAL,hour</p><p> XORAH,AH</p><p> MOVBL,10</p>&
43、lt;p><b> DIVBL</b></p><p> MOV[SI],AH</p><p> MOV[SI + 1],AL;秒</p><p> MOVBYTE PTR [SI + 2],10H;這位不顯示</p><p> MOVAL,min</p><p&g
44、t; XORAH,AH</p><p><b> DIVBL</b></p><p> MOV[SI + 3],AH</p><p> MOV[SI + 4],AL;分</p><p> MOVBYTE PTR [SI + 5],10H ;這位不顯示</p><p&g
45、t; MOVAL,sec</p><p> XORAH,AH</p><p><b> DIVBL</b></p><p> MOV[SI + 6],AH</p><p> MOV[SI + 7],AL;時</p><p><b> RET</
46、b></p><p> TimeToBufferENDP</p><p> Display_LEDPROCNEAR</p><p> LEASI,buffer</p><p> CALLTimeToBuffer</p><p> LEASI,buffer</p>&
47、lt;p> CALLDisplay8;顯示</p><p><b> RET</b></p><p> Display_LEDENDP</p><p> Timer0Int:PUSHAX</p><p><b> PUSHDX</b></p>
48、<p> MOVbFlash,1</p><p> INChalfsec</p><p> CMPhalfsec,2</p><p> JNZTimer0Int1</p><p> MOVbNeedDisplay,1</p><p> MOVhalfsec,0</p&
49、gt;<p><b> INCsec</b></p><p> CMPsec,60</p><p> JNZ Timer0Int1</p><p> MOVsec,0</p><p><b> INCmin</b></p><p&
50、gt; CMPmin,60</p><p> JNZTimer0Int1</p><p> MOVmin,0</p><p><b> INChour</b></p><p> CMPhour,24</p><p> JNZTimer0Int1</p>
51、;<p> MOVhour,0</p><p> Timer0Int1:MOVDX,IO8259_0</p><p> MOVAL,20H</p><p> OUTDX,AL</p><p><b> POPDX</b></p><p><b&g
52、t; POPAX</b></p><p><b> IRET</b></p><p> Init8253PROCNEAR</p><p> MOVDX,Con_8253</p><p> MOVAL,34H</p><p> OUTDX,AL;計數(shù)
53、器T0設(shè)置在模式2狀態(tài),HEX計數(shù)</p><p> MOVDX,T0_8253</p><p> MOVAL,12H</p><p> OUTDX,AL</p><p> MOVAL,7AH</p><p> OUTDX,AL;CLK0=62.5kHz,0.5s定時</p>
54、<p><b> RET</b></p><p> Init8253ENDP</p><p> Init8259PROCNEAR</p><p> MOVDX,IO8259_0</p><p> MOVAL,13H</p><p> OUTDX,A
55、L</p><p> MOVDX,IO8259_1</p><p> MOVAL,08H</p><p> OUTDX,AL</p><p> MOVAL,09H</p><p> OUTDX,AL</p><p> MOVAL,0FEH</p>
56、<p> OUTDX,AL</p><p><b> RET</b></p><p> Init8259ENDP</p><p> WriIntverPROCNEAR</p><p><b> PUSHES</b></p><p>
57、;<b> MOVAX,0</b></p><p> MOVES,AX</p><p> MOVDI,20H</p><p> LEAAX,Timer0Int</p><p><b> STOSW</b></p><p> MOVAX,CS
58、</p><p><b> STOSW</b></p><p><b> POPES</b></p><p><b> RET</b></p><p> WriIntverENDP</p><p> ENDSTART<
59、;/p><p> 九、軟件設(shè)計與流程圖</p><p> 1、數(shù)字電子時鐘主程序流程圖</p><p> 數(shù)字電子時鐘主程序流程圖</p><p> 2、中斷服務(wù)程序流程圖 </p><p> 中斷服務(wù)程序流程圖如下圖所示。</p><p><b> 中斷服務(wù)程序流程圖<
60、/b></p><p><b> 3.實(shí)驗(yàn)結(jié)論</b></p><p> 通過運(yùn)用數(shù)字集成電路設(shè)計的24小時制的數(shù)字電子時鐘,經(jīng)過試驗(yàn),改裝后成功實(shí)現(xiàn)了一下基本功能:</p><p> 能準(zhǔn)確的實(shí)現(xiàn)通過開關(guān)控制時分秒。</p><p> 能準(zhǔn)確計時,以數(shù)字形式顯示秒、分、時的時間。</p>&
61、lt;p> 能實(shí)現(xiàn)記憶的功能,并能在記錄完數(shù)據(jù)之后實(shí)現(xiàn)交替記錄的功能。</p><p><b> 十.實(shí)驗(yàn)總結(jié)</b></p><p> 通過這次數(shù)字電子鐘的課程設(shè)計,我們才把學(xué)到的東西與實(shí)踐相結(jié)合。從中對我們學(xué)的知識有了更進(jìn)一步的理解,而且更進(jìn)一步地熟悉了芯片的結(jié)構(gòu)及掌握了各芯片的工作原理和其具體的使用方法。也鍛煉了自己獨(dú)立思考問題的能力和通過查看相關(guān)資
62、料來解決問題的習(xí)慣。雖然這只是一次簡單的課程設(shè)計,但通過這次課程設(shè)計我們了解了課程設(shè)計的一般步驟,和設(shè)計中應(yīng)注意的問題。設(shè)計本身并不是有很重要的意義,而是同學(xué)們對待問題時的態(tài)度和處理事情的能力。各個芯片能夠完成什么樣的功能,使用芯片時應(yīng)該注意那些要點(diǎn)。同一個電路可以用哪些芯片實(shí)現(xiàn),各個芯片實(shí)現(xiàn)同一個功能的區(qū)別。</p><p> 通過這次實(shí)踐,我真正意識到自己的不足之處,在編程方面還有很多需要學(xué)習(xí)的地方,還有許
63、多芯片的功能,也需要再進(jìn)一步學(xué)習(xí)研究,來不斷擴(kuò)大自己的知識面。</p><p><b> 參考文獻(xiàn)</b></p><p> 1. 現(xiàn)代數(shù)字電路與邏輯設(shè)計 清華大學(xué)出版社 北京交通大學(xué)出版社.</p><p> 2. 模擬電子技術(shù)(修訂版) 清華大學(xué)出版社 北京交通大學(xué)出版社</p><p> 3. 模擬
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子鐘課程設(shè)計----數(shù)字電子鐘的設(shè)計
- eda電子鐘課程設(shè)計----電子鐘的設(shè)計
- 電子鐘課程設(shè)計
- 電子鐘課程設(shè)計--多功能電子鐘
- 電子鐘課程設(shè)計
- 電子鐘課程設(shè)計
- eda課程設(shè)計-電子鐘
- 自動電子鐘課程設(shè)計
- 數(shù)字電子鐘課程設(shè)計
- 課程設(shè)計-- 智能電子鐘
- 數(shù)字電子鐘課程設(shè)計
- lcd電子鐘課程設(shè)計
- 單片機(jī)電子鐘課程設(shè)計---數(shù)字電子鐘
- 電子鐘課程設(shè)計3
- 課程設(shè)計---數(shù)字電子鐘
- 數(shù)字電子鐘課程設(shè)計
- 課程設(shè)計----自動電子鐘
- 數(shù)字電子鐘課程設(shè)計
- 數(shù)字電子鐘課程設(shè)計
- 電子鐘設(shè)計課程設(shè)計論文
評論
0/150
提交評論