電子鐘課程設(shè)計6_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論