




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于單片機(jī)LED顯示器的數(shù)字鐘設(shè)計(jì)本設(shè)計(jì)基于8031單片機(jī)控制,采用LED顯示器設(shè)計(jì)一數(shù)字鐘的設(shè)計(jì)方案。該數(shù)字鐘能穩(wěn)定顯示時(shí)分秒,同時(shí)實(shí)現(xiàn)時(shí)分秒的數(shù)值調(diào)整。本文詳細(xì)討論了具體硬件電路,相關(guān)原器件的選擇以及軟件實(shí)現(xiàn)過程。比擬時(shí)鐘調(diào)整的查詢方式和中斷方式,對(duì)數(shù)字鐘的穩(wěn)定性和計(jì)時(shí)的精確性作了相關(guān)的討論。在實(shí)驗(yàn)室通過硬件電路和仿真器進(jìn)行模擬實(shí)驗(yàn),驗(yàn)證電路和程序的正確性。最后給出采用中斷方式實(shí)現(xiàn)的數(shù)字鐘的源程序。 言 在單片機(jī)技術(shù)日趨成熟的今天,其靈活的硬件電路的設(shè)計(jì)和軟件的設(shè)計(jì),讓單片機(jī)得到了廣泛的應(yīng)用,幾乎是從小的電子產(chǎn)品,到大的工業(yè)控制,單片機(jī)都起到了舉足輕重的作用。單片機(jī)小的系統(tǒng)結(jié)構(gòu)幾乎是所有具
2、有可編程硬件的一個(gè)縮影,可謂是“麻雀雖小,肝膽俱全,單片機(jī)的學(xué)習(xí)和研究是對(duì)微機(jī)系統(tǒng)學(xué)習(xí)和研究的簡(jiǎn)捷途徑。單片機(jī)以其體積小,使用靈活方便,本錢低,易于產(chǎn)品化,抗干擾能力強(qiáng),可在各種惡劣環(huán)境下工作等特點(diǎn),廣泛的應(yīng)用于工業(yè)控制,智能儀表,家用電器,機(jī)器人,醫(yī)療儀器,軍事裝備等方面。為了加深對(duì)單片機(jī)應(yīng)用的認(rèn)識(shí),穩(wěn)固所學(xué)的單片機(jī)知識(shí),本次科研訓(xùn)練特選題“基于單片機(jī)數(shù)碼管顯示的數(shù)字鐘設(shè)計(jì),嘗試根本電路設(shè)計(jì)和匯編語言編程以及鍛煉實(shí)踐動(dòng)手能力。數(shù)字鐘的實(shí)現(xiàn)方法多種多樣,簡(jiǎn)單的可以由一些集成電子電路實(shí)現(xiàn),精確點(diǎn)的可以通過某些時(shí)鐘芯片,如MSM5832,DS1216,以及MC146818,結(jié)合相應(yīng)的硬件電路和軟件
3、實(shí)現(xiàn)。本次科研訓(xùn)練本著鍛煉為主的原那么,不采用任何現(xiàn)成的時(shí)鐘芯片,通過簡(jiǎn)單的硬件電路,通過編寫相應(yīng)程序進(jìn)行計(jì)時(shí)與時(shí)間調(diào)整。本文采用8031單片機(jī),以8255A作其擴(kuò)展,LED顯示器采用共陰極的七段數(shù)碼管,驅(qū)動(dòng)器采用74LS07芯片,以及普通的按鍵作為根本元器件。2.數(shù)字鐘硬件電路設(shè)計(jì)數(shù)字鐘的整體框圖如圖1所示圖1整體框圖按鍵與8031的連接如圖2所示。單片機(jī)8031與8255A的硬件連接如圖3所示:圖3. 8031與8255A的連接電路 8255A是一種通用的可編程并行I/O接口芯片,在微型計(jì)算機(jī)系統(tǒng)中,可不需要附加外部邏輯電路就可直接為CPU與外設(shè)之間提供數(shù)據(jù)通道。在單片機(jī)8031與8255
4、芯片連接中應(yīng)接一個(gè)74LS373譯碼器,8255A作為8031的數(shù)據(jù)擴(kuò)展口,輸出所顯示的段碼及位選信號(hào)。8255A8255A的片選信號(hào),所以8255A的控制口地址為:EFFFH,相應(yīng)的,A口的地址為:EFFCH,B口的地址為:EFFDH。8255A的讀寫信號(hào)分別與8031的讀寫信號(hào)相連,使其有效時(shí)CPU從8255A讀取數(shù)據(jù)或狀態(tài)信息,或向8255A寫入數(shù)據(jù)或控制字。RESET是復(fù)位控制信號(hào),高電平有效。該信號(hào)有效時(shí),將8255A控制存放器內(nèi)容都清零,并使所有餓斷口都置成輸入方式。當(dāng)引腳懸空時(shí),芯片默認(rèn)為高電平,所以,為了讓8255A在電路中正常工作,將RESET接地,強(qiáng)制使復(fù)位控制位失效。 8
5、255A驅(qū)動(dòng)數(shù)碼管的電路如圖4所示:圖4. 8255A驅(qū)動(dòng)數(shù)碼管電路圖8255A的A口和B口都作為輸出,根據(jù)CPU輸出的BCD碼得到A口相對(duì)應(yīng)的段碼,A口將段碼通過一個(gè)同相驅(qū)動(dòng)器圖中因未找到同相驅(qū)動(dòng)器而用反相驅(qū)動(dòng)器代替給數(shù)碼管的abcdefg,同時(shí),由B口輸出位選信號(hào),因?yàn)楸敬卧O(shè)計(jì)中使用的數(shù)碼管都是共陰極的,所以,當(dāng)B口輸出為高電平時(shí),經(jīng)過74LS00與非門后得到低電平,即選中數(shù)碼管。數(shù)字鐘顯示中有八個(gè)這樣的數(shù)碼管,他們的數(shù)據(jù)端都是通過A口獲得,其位選信號(hào)分別接B口的八個(gè)口線。這樣,使PB0置1,那么最高位選中,然后將B口數(shù)據(jù)循環(huán)左移,那么可依次使各個(gè)數(shù)碼管選中顯示。3.系統(tǒng)軟件設(shè)計(jì) 軟件總體
6、設(shè)計(jì)思想主程序主要由定時(shí)模塊,顯示模塊和調(diào)整模塊組成。定時(shí)局部采用經(jīng)典的定時(shí)器定時(shí),結(jié)合相應(yīng)的時(shí)鐘軟件實(shí)現(xiàn)計(jì)時(shí)功能。顯示模塊是實(shí)現(xiàn)數(shù)字鐘的另一重要局部,其模塊的獨(dú)立程度直接影響到數(shù)字鐘的可視化程度。調(diào)整模塊采用中斷方式,通過按鍵可以調(diào)整數(shù)字鐘時(shí)分秒的數(shù)值。定時(shí)模塊程序中定時(shí)器,一直處于運(yùn)行狀態(tài),也就是說定時(shí)器是理想運(yùn)作的,其中斷程序每隔秒執(zhí)行一次,在理想狀態(tài)下,定時(shí)器定時(shí)是沒有系統(tǒng)誤差的,但由于定時(shí)器中斷溢出后,定時(shí)器從0開始計(jì)數(shù),直到被重新置數(shù),才開始正確定時(shí),這樣中斷溢出到中斷響應(yīng)到定時(shí)器被重新置數(shù),其間消耗的時(shí)間就造成了定時(shí)器定時(shí)的誤差。如果在前述定時(shí)器不關(guān)的情況下,在中斷程序的一開始就
7、給定時(shí)器置數(shù),此時(shí)誤差最小,誤差大約為:每秒,誤差712個(gè)機(jī)器周期。當(dāng)然這是在定時(shí)器定時(shí)剛好為秒時(shí)的情況,由以上分析,如果數(shù)字鐘設(shè)計(jì)為查詢的方式或是在中斷的方式下將定時(shí)器中斷設(shè)置為最高級(jí),我們?cè)诙〞r(shí)值設(shè)置時(shí),可以適當(dāng)?shù)目鄢?個(gè)機(jī)器周期的時(shí)間值。但如果在中斷的情況下,沒有將定時(shí)器中斷設(shè)置為最高級(jí),那就要視中斷程序的大小,在定時(shí)值設(shè)置時(shí),扣除相應(yīng)的時(shí)間值。顯示模塊顯示模塊的獨(dú)立性強(qiáng),增強(qiáng)了數(shù)字鐘的可視化程度。在此模塊的設(shè)計(jì)中,設(shè)置專用顯示數(shù)據(jù)緩沖區(qū)20H-27H與時(shí)分秒及其他數(shù)據(jù)緩沖區(qū)數(shù)據(jù)區(qū)別,在其中存放的是各個(gè)數(shù)碼管要顯示數(shù)字,而其他緩沖區(qū)存放的是時(shí)間數(shù)據(jù)。在顯示時(shí),首先分別將時(shí)分秒BCD碼數(shù)據(jù)
8、轉(zhuǎn)化為各個(gè)數(shù)碼管要顯示的數(shù)字,分別存儲(chǔ)于相應(yīng)的專用顯示區(qū),然后通過8255A的A口輸出段碼至數(shù)碼管,B口輸出位選信號(hào),接著A口輸出下一個(gè)段碼,B口輸出下一個(gè)位選信號(hào),依此循環(huán)那么可實(shí)現(xiàn)八位數(shù)碼管的靜態(tài)輸出。但由于人眼視覺分辨率遠(yuǎn)遠(yuǎn)低于數(shù)碼管循環(huán)點(diǎn)亮的速度,所以人們看到的數(shù)字鐘還是相對(duì)穩(wěn)定的。圖6.顯示模塊流程圖3.4 調(diào)整模塊 數(shù)據(jù)調(diào)整有多種方式:可以直接進(jìn)入相關(guān)狀態(tài)進(jìn)行有關(guān)操作;可將調(diào)整分兩步,先進(jìn)入狀態(tài),然后執(zhí)行操作,分別由兩個(gè)鍵控制。前者比擬直接,設(shè)計(jì)思想也比擬簡(jiǎn)單,但是,這種方式存在操作時(shí)間和控制鍵數(shù)目的矛盾。如果用比擬少的鍵,那么可能會(huì)在進(jìn)入狀態(tài)后處于數(shù)據(jù)調(diào)整等待狀態(tài),這樣會(huì)影響到顯
9、示的掃描速度。當(dāng)然在這種方式下,還可以使用多個(gè)狀態(tài)鍵,每個(gè)狀態(tài)鍵,完成一個(gè)對(duì)應(yīng)數(shù)據(jù)的調(diào)整。后者那么不同,因?yàn)闋顟B(tài)的調(diào)整,與狀態(tài)的操作可以分別由兩個(gè)鍵控制,其狀態(tài)的調(diào)整數(shù)可以多達(dá)256個(gè)理論上,操作的完成是這樣的,一鍵控制狀態(tài)的調(diào)整,一鍵控制數(shù)據(jù)的調(diào)整。以上兩種方式的實(shí)現(xiàn)都可以采用查詢和中斷的方式,且兩者進(jìn)行相關(guān)操作的過程不能太長(zhǎng)否那么會(huì)影響顯示的掃描。本文中采用的方法是前者,通過四個(gè)按鍵,進(jìn)行簡(jiǎn)單的時(shí)分秒的調(diào)整。當(dāng)按鍵K4按下時(shí)啟動(dòng)外中斷,然后通過按鍵K1,K2,K3即可調(diào)整時(shí)分秒的數(shù)值。另外,采用中斷的方式,最好將定時(shí)器中斷的優(yōu)先級(jí)設(shè)置為最高級(jí)。圖7.調(diào)整模塊流程圖消抖可以采用硬件施密特觸發(fā)
10、器的方式,也可以采用軟件的方式。在此只討論軟件方式。軟件消抖有定時(shí)器定時(shí),和利用延時(shí)子程序兩種方式。一,定時(shí)器定時(shí)消抖可以不影響顯示模塊掃描速度,其實(shí)現(xiàn)方法是:設(shè)置標(biāo)志位,在定時(shí)器中斷中將其置位,然后在程序中查詢。將其中斷優(yōu)先級(jí)設(shè)置為低于時(shí)鐘定時(shí)中斷,那么它就可以完全不影響時(shí)鐘定時(shí)。二,在采用延時(shí)子程序時(shí),如果顯示模塊的掃描速度本來就不是很快,此時(shí)可能會(huì)影響到顯示的效果,一般情況下,每秒的掃描次數(shù)不應(yīng)小于50次,否那么,數(shù)碼的顯示會(huì)出現(xiàn)閃爍的情況。因此,延時(shí)子程序的延時(shí)時(shí)間應(yīng)該小于20毫秒,如果采用定時(shí)器定時(shí)的方式,延時(shí)時(shí)間不影響時(shí)鐘。如果,設(shè)計(jì)時(shí)采用的是中斷的方式來完成有關(guān)操作,同樣可以采用
11、軟件的方式來消抖,其處理思想是:中斷不能連續(xù)執(zhí)行,兩次之間有一定的時(shí)間間隔。圖8.查詢方式消抖流程圖圖9.中斷方式消抖流程圖主程序流程圖 圖10.主程序流程圖4.實(shí)驗(yàn)在實(shí)驗(yàn)中利用偉福仿真器及其仿真軟件,按照前述的硬件電路圖連接電路,按照上述各步的軟件流程圖編寫匯編語言程序,將軟硬件相連運(yùn)行程序?qū)浻布M(jìn)行調(diào)試。觀察各位數(shù)碼管的顯示狀態(tài),并與理論值進(jìn)行比擬分析。實(shí)驗(yàn)過程中,顯示模塊能很好的實(shí)現(xiàn),無論是在單步跟蹤還是全速執(zhí)行的時(shí)候,LED顯示器都能將要顯示的數(shù)值準(zhǔn)確且穩(wěn)定的顯示出來。雖然在硬件電路中增加了驅(qū)動(dòng)電路,但是一個(gè)8255A芯片驅(qū)動(dòng)8個(gè)LED顯示器效果仍然不是很好,特別是在全速執(zhí)行時(shí),LE
12、D的亮度及穩(wěn)定性仍有待改良。計(jì)時(shí)模塊的實(shí)驗(yàn)過程不是很理想。實(shí)驗(yàn)中分別利用一個(gè)定時(shí)器T0進(jìn)行定時(shí),定時(shí)4000微秒,一個(gè)計(jì)數(shù)器T1進(jìn)行計(jì)數(shù),計(jì)數(shù)250次。當(dāng)T0定時(shí)一次后T1計(jì)數(shù)一次,這樣T1計(jì)數(shù)溢出時(shí)即可計(jì)滿1秒,然后對(duì)當(dāng)前時(shí)間秒值進(jìn)行加1處理,以及相應(yīng)的分值時(shí)值處理。在程序運(yùn)行中,可能由于程序編寫得具體細(xì)節(jié),定時(shí)器中斷返回?zé)o法實(shí)現(xiàn),從而導(dǎo)致全速執(zhí)行后LED顯示器一直保持初始值不變。數(shù)字鐘正常顯示時(shí),按K4鍵,啟動(dòng)外部中斷子程序,按K1鍵K2鍵K3鍵調(diào)整時(shí)間值,記錄調(diào)整后的時(shí)間值,與希望得到的時(shí)間值進(jìn)行比擬。調(diào)整模塊在實(shí)驗(yàn)中得到較好的實(shí)現(xiàn),調(diào)整相應(yīng)按鍵后,LED顯示器的顯示數(shù)值也隨之出現(xiàn)了相對(duì)
13、應(yīng)的調(diào)整。綜上所述,本次科研訓(xùn)練的實(shí)驗(yàn)還是有所收獲,雖然沒能將一個(gè)完整的數(shù)字鐘做出來,但也根本實(shí)現(xiàn)了數(shù)字鐘個(gè)局部的主要功附錄本文對(duì)應(yīng)的匯編語言程序如下: ORG 0000H LJMP MAIN ORG 0003H LJMP INT0 ORG 000BH LJMP TIM0 ORG 0100HMAIN:MOV SP,#70H MOV 2AH,#12H MOV 2BH,#34H MOV 2CH,#56H MOV DPTR,#7FFFH MOV A,#80H MOVX DPTR,A MOV TMOD,#51H MOV TH1,#0FFH MOV TL1,#06H MOV TH0,#0F0H MOV
14、TL0,#74H MOV IP,#02H MOV IE,#13H MOV IP,#02H SETB TR0 SETB TR1 ACALL DISP MOV TH0,#0F0H MOV TL0,#74H CALL DISP JNB TF1,$ CLR TF1 SETB TR1 MOV A,2CH ADD A,#1 DA A MOV 2CH,A CALL DISP CJNE A,#60H,X4 MOV 2CH,#00H CALL DISP MOV A,2BH ADD A,#1 DA A MOV 2BH,A CALL DISP CJNE A,#60H,X4 MOV 2BH,#00H CALL DIS
15、PMOV A,2AH ADD A,#1 DA A MOV 2AH,A CALL DISP CJNE A,#24H,X4 MOV 2AH,#00H CALL DISPX4: RETIDISP: MOV R1,#20H MOV R0,#2CH MOV R6,#03HDIS0:MOV A,R0 MOV B,#10H DIV AB MOV R1,B INC R1 MOV R1,A INC R1 DEC R0 DJNZ R6,DIS0 MOV A,#0AH MOV R1,A INC R1 MOV R1,A MOV R1,#20H MOV R2,#01H MOV R7,#08HDIS1: MOV A,R1
16、 MOV DPTR,#SEG MOVC A,A+DPTR MOV DPTR,#7FFCH MOVX DPTR,A INC DPTR MOV A,R2 MOVX DPTR,A ACALL DIMS INC R1 MOV A,R2 RL A MOV R2,A DJNZ R7,DIS1 RETDIMS:MOV R3,#07H DJNZ R3,$ RETSEG: DB 37H,06H,5BH,4FH DB 66H,6DH,7DH,07H DB 7FH,6FH,40HINT0: NOPLOOP:JB P1.3,N2 CALL DIMS MOV A,2CH ADD A,#01 DA A MOV 2CH,A CJNE A,#60H,N1 MOV 2CH,#00H AJMP DISPN1: JNB P1.3,$ AJMP DISP CALL DIMSN2: JB P1.4,N
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外檐保溫合同范本
- 廠房全租合同范本
- 勞務(wù)派遣合同范本南京
- 農(nóng)村煙酒供應(yīng)合同范本
- 臺(tái)歷打孔合同范本
- 出售舊鋼骨架合同范本
- 前期物業(yè)管理合同范例
- 單位購(gòu)買二手房合同范本
- 發(fā)票增額購(gòu)銷合同范例
- 合股經(jīng)營(yíng)學(xué)校合同范本
- 2025年廣州市黃埔區(qū)東區(qū)街招考社區(qū)居委會(huì)專職工作人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《中國(guó)心力衰竭診斷和治療指南2024》解讀
- 2025中國(guó)人民保險(xiǎn)集團(tuán)校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 某寺廟施工組織設(shè)計(jì)方案
- 中國(guó)食物成分表2020年權(quán)威完整改進(jìn)版
- 伊斯蘭法 外國(guó)法制史 教學(xué)課課件
- 汽車維修保養(yǎng)服務(wù)項(xiàng)目投標(biāo)文件
- 增額終身壽險(xiǎn)的購(gòu)買理由
- 【MOOC】影視鑒賞-揚(yáng)州大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 智研咨詢發(fā)布:2025年中國(guó)商用密碼行業(yè)市場(chǎng)現(xiàn)狀、發(fā)展概況、未來前景分析報(bào)告
- 《氫科學(xué)技術(shù)應(yīng)用》課件-3-1 氫氣的儲(chǔ)存
評(píng)論
0/150
提交評(píng)論