微機原理課程設計——電子時鐘設計_第1頁
微機原理課程設計——電子時鐘設計_第2頁
微機原理課程設計——電子時鐘設計_第3頁
微機原理課程設計——電子時鐘設計_第4頁
微機原理課程設計——電子時鐘設計_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2010級微機原理課程設計實驗報告設計題目: 電子時鐘設計班 級: 電信10102班分組名單:2012-6-28目錄第一章 設計部分1.1 設計目的11.2設計要求11.3設計思路1第二章 實現(xiàn)部分2.1、分析論證2.1.1顯示模塊12.1.2時鐘運算模塊12.1.3對時模塊22.2、原理說明22.3、設計電路圖2 2.3.18086最小工作方式22.3.2秒脈沖發(fā)生器32.3.3時、分調整電路32.3.4.顯示電路42.4、元件功能說明2.4.1.8253的主要功能42.4.2.D觸發(fā)器74ls273管腳排列圖及功能表介紹52.4.3單向總線驅動器74ls244功能介紹52.5、程序清單62

2、.6、調試過程遇到問題及解決方法9第三章 電子時鐘使用說明3.1電子時鐘按鍵說明第四章 學習心得附錄參考文獻9第一章 設計部分1.1 設計目的 學習掌握protues軟件功能及其使用方法熟練掌握TND86/88教學系統(tǒng)的基本操作和調試程序的各種指令。熟練掌握8086CPU的使用與編程調試程序的方法。掌握8253定時/計數(shù)器的工作原理、工作方式及其應用編程。練習7SEG-MPX8-CA-RED數(shù)碼管的顯示編程方法。1.2、設計要求利用8253定時器設計一個具有時、分、秒顯示的電子時鐘,并定義一個啟動鍵,當按下該鍵時時鐘從當前設定值(可在顯示緩沖區(qū)中予置)開始走時。1.3、設計思路電子時鐘主要由顯

3、示模塊、對時模塊和時鐘運算模塊三大部分組成。其中對時模塊和時鐘運算模塊要對時、分、秒的數(shù)值進行操作,并且秒計算到60時,要自己清零并向分進1;分計算到60時,要自己清零并向時進1;時計算到24時,要清零。這樣,才能循環(huán)記時。顯示時利用7段顯示器顯示六位十進制數(shù)據(jù)。前兩個顯示小時,中間兩個顯示分鐘,后兩個顯示秒。時鐘的運算是利用中斷來實現(xiàn)的,利用8253的模式三輸出一定頻率的方波作為觸發(fā)中斷的條件。8253A可編程定時/計數(shù)器的輸入時鐘為100KHz,設定時/計數(shù)器0的計數(shù)初值為100,工作在方式3,即方波發(fā)生器,其輸出的1KHz方波作定時/計數(shù)器2的時鐘。定時/計數(shù)器2的初值設為1000,工作

4、在方式2,即每隔1s輸出負脈沖,取反后用作不可屏蔽中斷的中斷申請信號,在中斷服務程序中計算時間,并通過74ls273并行輸出到數(shù)碼管顯示。第二章 實現(xiàn)部分2.1、分析論證2.1.1、顯示模塊利用數(shù)碼管的顯示功能來設計。數(shù)碼管是由八個條形發(fā)光二極管組成的,這些發(fā)光二極管的陰極是互相連接在一起的,所以稱為共陰極數(shù)碼管。通過在這八個發(fā)光二極管的陽極加+5 V或0 V的電壓使不同的二極管發(fā)光,形成不同的字符和數(shù)字。電子時鐘用到的是0到9十個數(shù)字,他們所對應的字符表依次是3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。該模塊顯示時先將保存在數(shù)據(jù)單元的當前時間包括小時和分鐘

5、讀取出來,把十六進制數(shù)字轉化成十進制用四個字節(jié)分別存放小時和分鐘,并把這四個數(shù)值通過74ls273端口輸出給數(shù)碼管顯示。2.1.2、時鐘運算模塊該模塊的主要功能是對時、分、秒的運算,并把運算出的最終結果存到事先已經開辟的內存單元里,以便顯示模塊即時地顯示出來。該模塊可以細分為秒定時模塊和運算模塊。秒定時模塊負責提供中斷信號,由于CPU運算模塊中的指令消耗一定的時間,所以中斷信號最好通過硬件來實現(xiàn),選擇的是8253定時/計數(shù)器,但又因為8253所能提供的信號的周期時毫秒級的,因此必須通過軟件的方法在運算模塊中設置一個統(tǒng)計中斷次數(shù)的變量,并且這一變量必須事先在內存里開辟存儲單元。中斷信號是8253

6、的計數(shù)器2工作方式為方式2時,同過設置計數(shù)器2的初值來產生一個1s的脈沖信號。運算模塊負責時、分、秒的計算,該模塊主要通過8086的NMI信號中斷來實現(xiàn),首先將秒定時模塊提供的中斷信號為8086的NMI中斷請求信號。但由于每1s一次中斷請求。所以在中斷服務程序必須利用已申請內存單元count來統(tǒng)計中斷請求的次數(shù),只有當count的值為1000時,才能讓秒單元內的數(shù)值加1。另外,在中斷服務程序里,必須對秒、分和時的單元內的數(shù)值進行判斷,當秒加到60時,分必須加1 、秒清零;當分加到60時,時加1、分清零。當時加到24啊,直接清零。2.1.3、對時模塊該模塊主要功能是修改小時、分鐘內存單元的數(shù)值。

7、在對時的時候,秒繼續(xù)走時,并且在對分進行調整的時,時單元內的數(shù)值不變。由以上分析可見,對時、分的調整用兩個優(yōu)先級高于NMI的中斷來完成。兩個中斷源的中斷請求信號只需直接接在兩個按鍵即可起到對時作用。2.2、原理說明電子時鐘主要由74ls273鎖存器、8253定時/計數(shù)器、74ls244反相器、LED數(shù)碼顯示管和兩個按鍵組成。主要用8086的NMI的中斷服務程序完成秒、分、時的運算即計時功能,兩個開關的中斷服務程序完成調時、調分功能。8253用來產生1s的脈沖信號作為NMI的中斷請求信號。74ls273負責將內存里的時位和分位秒位值輸出到數(shù)碼管。2.3、設計電路圖 電子時鐘的完整電路圖如下:2.

8、3.1.8086最小工作方式2.3.2秒脈沖發(fā)生器2.3.3時、分調整電路2.3.4.顯示電路2.4、元件功能說明2.4.1、8253的主要功能:可編程定時器/計數(shù)器,其定時與計數(shù)功能可由程序靈活地設定,設定后與CPU并行工作,不占用CPU的時間。計數(shù)器2工作在模式3方式下,提供計算一秒的中斷請求信號。2.4.2、D觸發(fā)器74ls273管腳排列圖及功能表介紹74LS273是一種帶清除功能的8D觸發(fā)器, 1D8D為數(shù)據(jù)輸入端,1Q8Q為數(shù)據(jù)輸出端,正脈沖觸發(fā),低電平清除,常用作數(shù)據(jù)鎖存器,地址鎖存器。2.4.3、單向總線驅動器74ls244功能介紹74LS244是8路3態(tài)單向緩沖驅動,也叫做總線

9、驅動門電路或線驅動。簡單地說,它有8個輸入端,8個輸出端,可以增加信號的驅動能力.為單向驅動。A為輸入,Y為輸出,高電平有效。2.5、程序清單.MODEL SMALL.8086.STACK.CODE .STARTUPNMI_INIT:PUSH ES;nmi不可屏蔽中斷向量表初始化 XOR AX,AX MOV ES,AX MOV AL,02H XOR AH,AH SHL AX,1 SHL AX,1 MOV SI,AX ;相當于cs,ip入棧MOV AX,OFFSET NMI_SERVICE ;調用中斷處理程序 MOV ES:SI,AX INC SI INC SI MOV BX,CS ;? MOV

10、 ES:SI,BX POP ES ;定時器初始化 MOV AL,B MOV DX,0406H OUT DX,AL MOV DX,0400H MOV AX,0100H OUT DX,AL MOV AL,AH OUT DX,AL MOV AL,B MOV DX,0406H OUT DX,AL MOV DX,0404H MOV AX,1000H OUT DX,AL MOV AL,AH OUT DX,ALLOOP0: ;主任務 CALL KEY CALL DISP JMP LOOP0 NMI_SERVICE: ;中斷服務程序 PUSH AX MOV AL,SEC ADD AL,1 DAA MOV SE

11、C,AL CMP SEC,60H JB EXIT MOV SEC,0 MOV AL,MIN ADD AL,1 DAA MOV MIN,AL CMP MIN,60H JB EXIT MOV MIN,0 MOV AL,HOU ADD AL,1 DAA MOV HOU,AL CMP HOU,24 JB EXIT MOV HOU,0EXIT:POP AX IRETDISP PROC NEAR MOV AL,0FFH ;不顯示 MOV DX,0201H OUT DX,AL MOV BL,SEC AND BX,000FH MOV SI,BX MOV AL,SITUATIONSI ;段碼 MOV DX,02

12、00H OUT DX,AL MOV AL,0FEH ;秒個位 MOV DX,0201H OUT DX,AL CALL DELAY MOV AL,0FFH ;不顯示 MOV DX,0201H OUT DX,AL MOV BL,SEC AND BX,00F0H MOV CL,4 SHR BX,CL MOV SI,BX MOV AL,SITUATIONSI ; 段碼 MOV DX,0200H OUT DX,AL MOV AL,0FDH ; 秒十位 MOV DX,0201H OUT DX,AL CALL DELAY MOV AL,0FFH ;不顯示 MOV DX,0201H OUT DX,AL MOV

13、 AL,40H ;段碼 MOV DX,0200H OUT DX,AL MOV AL,0FBH ;秒個位 MOV DX,0201H OUT DX,AL CALL DELAY MOV AL,0FFH ;不顯示 MOV DX,0201H OUT DX,AL MOV BL,MIN AND BX,000FH MOV SI,BX MOV AL,SITUATIONSI ;段碼 MOV DX,0200H OUT DX,AL MOV AL,0F7H ;分個位 MOV DX,0201H OUT DX,AL CALL DELAY MOV AL,0FFH ; 不顯示 MOV DX,0201H OUT DX,AL MO

14、V BL,MIN AND BX,00F0H MOV CL,4 SHR BX,CL MOV SI,BX MOV AL,SITUATIONSI ; 段碼 MOV DX,0200H OUT DX,AL MOV AL,0EFH ;分十位 MOV DX,0201H OUT DX,AL CALL DELAY MOV AL,0FFH ;不顯示 MOV DX,0201H OUT DX,AL MOV AL,40H ; 段碼 MOV DX,0200H OUT DX,AL MOV AL,0DFH ;秒個位 MOV DX,0201H OUT DX,AL CALL DELAY MOV AL,0FFH ;不顯示 MOV

15、DX,0201H OUT DX,AL MOV BL,HOU AND BX,000FH MOV SI,BX MOV AL,SITUATIONSI ; 段碼 MOV DX,0200H OUT DX,AL MOV AL,0BFH ;時個位 MOV DX,0201H OUT DX,AL CALL DELAY MOV AL,0FFH ; 不顯示 MOV DX,0201H OUT DX,AL MOV BL,HOU AND BX,00F0H MOV CL,4 SHR BX,CL MOV SI,BX MOV AL,SITUATIONSI ;段碼 MOV DX,0200H OUT DX,AL MOV AL,07

16、FH ; 時十位 MOV DX,0201H OUT DX,AL CALL DELAY RETDISP ENDPKEY PROC NEAR MOV DX,0600H IN AL,DX TEST AL,01H JNZ NEXTHOU CALL DISP ;消抖 CALL DISP CALL DISP MOV DX,0600H IN AL,DX TEST AL,01H JNZ NEXTHOU MOV AL,MIN ADD AL,1 ;分調整 DAA MOV MIN,AL CMP MIN,60H JB NEXTHOU MOV MIN,0NEXTHOU:MOV DX,0600H IN AL,DX TES

17、T AL,02H JNZ EXITKEY CALL DISP ;消抖 CALL DISP CALL DISP MOV DX,0600H IN AL,DX TEST AL,02H JNZ EXITKEY MOV AL,HOU ADD AL,1 DAA ;時調整 MOV HOU,AL CMP HOU,24H JB NEXTHOU MOV HOU,0EXITKEY:RETKEY ENDPDELAY PROC NEAR ;定時子程序 PUSH BX PUSH CX MOV BX,1 LP1:MOV CX,469 LP2:LOOP LP2 DEC BX JNZ LP1 POP CX POP BX RET

18、 DELAY ENDP.DATASEC DB 00HMIN DB 00HHOU DB 23HSITUATION DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40HSIT_END=$END 2.6、調試過程遇到問題及解決方法將編寫好的源程序輸入,編譯后出現(xiàn)很多問題,經過反復修改程序終于運行通過。數(shù)碼管顯示的數(shù)字并不與理論計算值相符合,經過反復分析源程序發(fā)現(xiàn)問題出現(xiàn)在內存單元里時位和分位在轉化為十進制時出錯,經過更改內存但愿數(shù)據(jù)。一開始數(shù)字閃動,后來請教同學,原因應該出在顯示子程序里,缺少延時程序。編寫延時子程序,并在顯示子程序調用它;編譯源程序,裝入生成

19、的可執(zhí)行文件,并運行。數(shù)碼管顯示的數(shù)字與理論值相符合,并能正常計時。第三章 電子時鐘使用說明3.1電子時鐘按鍵說明本電子時鐘可以24小時循環(huán)計時,并且具有調時功能,操作方法如下:開機運行后,即顯示初始時間12:00整。按動一下MIN按鍵即可啟動調分,此時每按動一下MIN按鍵分位數(shù)字加1,完成對分的調整;再按動一下HOU按鍵啟動調時,按動一下HOU按鍵時位數(shù)字加1,完成對時的調整。再按一下HOU按鍵即關閉功能,正常計時。第四章 學習心得在這次課程設計過程中,我們逐步養(yǎng)成了發(fā)現(xiàn)、提出、分析和解決實際問題的習慣;這不但鍛煉提高了我們的實踐能力,更是對我們實際工作能力的具體訓練和考察過程。 對于此次電子時鐘課程設計,至今我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在這短短兩個星期的日子

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論