微機(jī)原理課程設(shè)計(jì)——電子時(shí)鐘設(shè)計(jì)_第1頁(yè)
微機(jī)原理課程設(shè)計(jì)——電子時(shí)鐘設(shè)計(jì)_第2頁(yè)
微機(jī)原理課程設(shè)計(jì)——電子時(shí)鐘設(shè)計(jì)_第3頁(yè)
微機(jī)原理課程設(shè)計(jì)——電子時(shí)鐘設(shè)計(jì)_第4頁(yè)
微機(jī)原理課程設(shè)計(jì)——電子時(shí)鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

9、線(xiàn)驅(qū)動(dòng)門(mén)電路或線(xiàn)驅(qū)動(dòng)。簡(jiǎn)單地說(shuō),它有8個(gè)輸入端,8個(gè)輸出端,可以增加信號(hào)的驅(qū)動(dòng)能力.為單向驅(qū)動(dòng)。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 ;相當(dāng)于cs,ip入棧MOV AX,OFFSET NMI_SERVICE ;調(diào)用中斷處理程序 MOV ES:SI,AX INC SI INC SI MOV BX,CS ;? MO

10、V ES:SI,BX POP ES ;定時(shí)器初始化 MOV AL,00110111B MOV DX,0406H OUT DX,AL MOV DX,0400H MOV AX,0100H OUT DX,AL MOV AL,AH OUT DX,AL MOV AL,10110101B MOV DX,0406H OUT DX,AL MOV DX,0404H MOV AX,1000H OUT DX,AL MOV AL,AH OUT DX,ALLOOP0: ;主任務(wù) CALL KEY CALL DISP JMP LOOP0 NMI_SERVICE: ;中斷服務(wù)程序 PUSH AX MOV AL,SEC AD

11、D AL,1 DAA MOV SEC,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,SITUATIO

12、NSI ;段碼 MOV DX,0200H OUT DX,AL MOV AL,0FEH ;秒個(gè)位 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,02

13、01H OUT DX,AL MOV AL,40H ;段碼 MOV DX,0200H OUT DX,AL MOV AL,0FBH ;秒個(gè)位 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 ;分個(gè)位 MOV DX,0201H OUT DX,AL CALL DELAY MOV AL,0FFH ; 不顯示 MOV DX,0

14、201H OUT DX,AL MOV 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 ;秒個(gè)位 MOV DX,0201H OUT DX,AL CALL DELAY MOV

15、AL,0FFH ;不顯示 MOV 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 ;時(shí)個(gè)位 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 OU

16、T DX,AL MOV AL,07FH ; 時(shí)十位 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 ;分調(diào)整 DAA MOV MIN,AL CMP MIN,60H JB NEXTHOU MOV MIN,0NEXTHOU:MOV DX,0

17、600H IN AL,DX TEST 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 ;時(shí)調(diào)整 MOV HOU,AL CMP HOU,24H JB NEXTHOU MOV HOU,0EXITKEY:RETKEY ENDPDELAY PROC NEAR ;定時(shí)子程序 PUSH BX PUSH CX MOV BX,1 LP1:MOV CX,469 LP2:LOOP LP2 DEC BX JNZ LP1

18、POP CX POP BX RET 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、調(diào)試過(guò)程遇到問(wèn)題及解決方法將編寫(xiě)好的源程序輸入,編譯后出現(xiàn)很多問(wèn)題,經(jīng)過(guò)反復(fù)修改程序終于運(yùn)行通過(guò)。數(shù)碼管顯示的數(shù)字并不與理論計(jì)算值相符合,經(jīng)過(guò)反復(fù)分析源程序發(fā)現(xiàn)問(wèn)題出現(xiàn)在內(nèi)存單元里時(shí)位和分位在轉(zhuǎn)化為十進(jìn)制時(shí)出錯(cuò),經(jīng)過(guò)更改內(nèi)存但愿數(shù)據(jù)。一開(kāi)始數(shù)字閃動(dòng),后來(lái)請(qǐng)教同學(xué),原因應(yīng)該出在顯示子程序里,缺少延時(shí)程序。編寫(xiě)延時(shí)子程序,并在顯示

19、子程序調(diào)用它;編譯源程序,裝入生成的可執(zhí)行文件,并運(yùn)行。數(shù)碼管顯示的數(shù)字與理論值相符合,并能正常計(jì)時(shí)。第三章 電子時(shí)鐘使用說(shuō)明3.1電子時(shí)鐘按鍵說(shuō)明本電子時(shí)鐘可以24小時(shí)循環(huán)計(jì)時(shí),并且具有調(diào)時(shí)功能,操作方法如下:開(kāi)機(jī)運(yùn)行后,即顯示初始時(shí)間12:00整。按動(dòng)一下MIN按鍵即可啟動(dòng)調(diào)分,此時(shí)每按動(dòng)一下MIN按鍵分位數(shù)字加1,完成對(duì)分的調(diào)整;再按動(dòng)一下HOU按鍵啟動(dòng)調(diào)時(shí),按動(dòng)一下HOU按鍵時(shí)位數(shù)字加1,完成對(duì)時(shí)的調(diào)整。再按一下HOU按鍵即關(guān)閉功能,正常計(jì)時(shí)。第四章 學(xué)習(xí)心得在這次課程設(shè)計(jì)過(guò)程中,我們逐步養(yǎng)成了發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題的習(xí)慣;這不但鍛煉提高了我們的實(shí)踐能力,更是對(duì)我們實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。 對(duì)于此次電子時(shí)鐘課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在這短短兩個(gè)星期的日子里,不僅讓我們鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合的重要性,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理

溫馨提示

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

評(píng)論

0/150

提交評(píng)論