九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

單片機(jī)課程設(shè)計(jì)報(bào)告 電子時(shí)鐘

上傳人:無*** 文檔編號:145701340 上傳時(shí)間:2022-08-29 格式:DOC 頁數(shù):35 大?。?.11MB
收藏 版權(quán)申訴 舉報(bào) 下載
單片機(jī)課程設(shè)計(jì)報(bào)告 電子時(shí)鐘_第1頁
第1頁 / 共35頁
單片機(jī)課程設(shè)計(jì)報(bào)告 電子時(shí)鐘_第2頁
第2頁 / 共35頁
單片機(jī)課程設(shè)計(jì)報(bào)告 電子時(shí)鐘_第3頁
第3頁 / 共35頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《單片機(jī)課程設(shè)計(jì)報(bào)告 電子時(shí)鐘》由會員分享,可在線閱讀,更多相關(guān)《單片機(jī)課程設(shè)計(jì)報(bào)告 電子時(shí)鐘(35頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、荊楚理工學(xué)院課程設(shè)計(jì)成果學(xué)院: 電子信息工程學(xué)院 班 級: 學(xué)生姓名: 學(xué) 號: 設(shè)計(jì)地點(diǎn)(單位) 設(shè)計(jì)題目: 電子時(shí)鐘 完成日期: 2014 年 6 月 19 日 指導(dǎo)教師評語: _ 成績(五級記分制): 教師簽名: 目 錄1 摘要12 系統(tǒng)簡介12.1 總體設(shè)計(jì)方案說明22.2 單片機(jī)系統(tǒng)組成方框圖23 系統(tǒng)設(shè)計(jì)73.1 系統(tǒng)總體設(shè)計(jì)73.2 硬件電路設(shè)計(jì)83.3 軟件設(shè)計(jì)114 實(shí)驗(yàn)結(jié)果與討論155 結(jié)論 166 參考文獻(xiàn) 177附錄18 基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)1.摘要20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個(gè)領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和

2、社會信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。現(xiàn)代生活的人們越來越重視起了時(shí)間觀念,可以說是時(shí)間和金錢劃上了等號。對于那些對時(shí)間把握非常嚴(yán)格和準(zhǔn)確的人或事來說,時(shí)間的不準(zhǔn)確會帶來非常大的麻煩,所以以數(shù)碼管為顯示器的時(shí)鐘比指針式的時(shí)鐘表現(xiàn)出了很大的優(yōu)勢。數(shù)碼管顯示的時(shí)間簡單明了而且讀數(shù)快、時(shí)間準(zhǔn)確顯示到秒。而機(jī)械式的依賴于晶體震蕩器,可能會導(dǎo)致誤差。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。數(shù)字鐘的精度、穩(wěn)定度遠(yuǎn)遠(yuǎn)超過老式機(jī)械鐘。在這次設(shè)計(jì)中,我們采用LED數(shù)碼管顯示時(shí)、分、秒,以24小時(shí)計(jì)時(shí)方式,根據(jù)數(shù)碼管動態(tài)顯示原理來進(jìn)行顯

3、示,用12MHz的晶振產(chǎn)生振蕩脈沖,定時(shí)器計(jì)數(shù)。在此次設(shè)計(jì)中,電路具有顯示時(shí)間的其本功能,還可以實(shí)現(xiàn)對時(shí)間的調(diào)整。數(shù)字鐘是其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)的喜愛,因此得到了廣泛的使用。關(guān)鍵字:數(shù)字電子鐘 單片機(jī)2系統(tǒng)簡介數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對.時(shí),分,秒.數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動報(bào)警、按時(shí)自動打鈴、

4、時(shí)間程序自動控制、定時(shí)廣播、自動起閉路燈、定時(shí)開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時(shí)電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵?,廣泛用于個(gè)人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動報(bào)時(shí)及自動控制等各個(gè)領(lǐng)域。 2.1 總體設(shè)計(jì)方案說明 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特

5、別適用于控制領(lǐng)域,故又稱為微控制器。通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。單片機(jī)經(jīng)過1、2、3、3代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價(jià)格、大存儲容量、強(qiáng)I/O功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。目前,我國生產(chǎn)很多型號的單片機(jī),在此,我們采用型號為STC89C52的單片機(jī)。因?yàn)椋篠TC89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM

6、),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-52指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C52提供了高性價(jià)比的解決方案。 STC89C52是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,STC89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。2.2 單片機(jī)的基本結(jié)構(gòu) MCS-52單片機(jī)內(nèi)部結(jié)構(gòu) 8052單片機(jī)包

7、含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器:中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM)8052內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù)

8、,運(yùn)算的中間結(jié)果或用戶定義的字型表。單片機(jī)8052的內(nèi)部結(jié)構(gòu)程序存儲器(ROM):8052共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時(shí)/計(jì)數(shù)器(ROM):8052有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8052共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8052內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8052具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿

9、足不同的控制要求,并具有2級的優(yōu)先級別選擇。時(shí)鐘電路:8052內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8052單片機(jī)需外置振蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-52系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。下圖是MCS-52系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖。 MCS-52系列單片機(jī)的內(nèi)部結(jié)構(gòu)MCS-52的引腳說明:MCS-52系

10、列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:MCS-51的引腳說明:MCS-52系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明: 單片機(jī)的引腳圖Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)80

11、52通電,時(shí)鐘電路開始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8052的初始態(tài)。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。Pin30:ALE/當(dāng)訪問外部程序器時(shí),ALE(地址鎖存)的輸出用于

12、鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號,這個(gè)信號可以用于識別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問外部程序存儲器,ALE會跳過一個(gè)脈沖。如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問外部程序存儲器時(shí),此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。 上電自動和手動復(fù)位電路圖 內(nèi)部和外部時(shí)鐘方式圖 Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲器,當(dāng)EA為高電平并且

13、程序地址小于4kB時(shí),讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。3系統(tǒng)設(shè)計(jì)3.1系統(tǒng)總體設(shè)計(jì)原理圖3.2硬件電路設(shè)計(jì) 單片機(jī)最小系統(tǒng)的結(jié)構(gòu)圖單片機(jī)的最小系統(tǒng)是由電源、復(fù)位、晶振、/EA=1組成,下面介紹一下每一個(gè)組成部分。1.電源引腳 Vcc40電源端GND20接地端工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。 2.外接晶體引腳 晶振連接的內(nèi)部、外部方式圖XTAL119XTAL218 XTAL1是片內(nèi)振蕩器的反相放大器輸入端,X

14、TAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT89單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會

15、影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22F。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。3. 復(fù)位RST9在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腿時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0P3口均置1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片為ROM的00H處開始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來實(shí)

16、現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個(gè)機(jī)器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時(shí)鐘頻率選用6MHz時(shí),C取22F,Rs約為200,Rk約為1K。復(fù)位操作不會對內(nèi)部RAM有所影響。4.輸入輸出引腳(1) P0端口P0.0-P0.7 P0是一個(gè)8位漏極開路型雙向I/O端口,端口置1(對端口寫1)時(shí)作高阻抗輸入端。作為輸出口時(shí)能驅(qū)動8個(gè)TTL。對內(nèi)部Flash程序存儲器編程時(shí),接收指令字節(jié);校驗(yàn)程序時(shí)輸出指令字節(jié),要求外接上拉電阻。在訪問外部

17、程序和外部數(shù)據(jù)存儲器時(shí),P0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。(2) P1端口P1.0P1.7 P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時(shí),接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時(shí),接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時(shí),P2口送出高8位地址。而在訪問8

18、位地址的外部數(shù)據(jù)存儲器時(shí)其引腳上的內(nèi)容在此期間不會改變。(4) P3端口P3.0P3.7 P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時(shí),接控制信息。除此之外P3端口還用于一些專門功能,具體請看下表。P3引腳兼用功能P3.0串行通訊輸入(RXD)P3.1串行通訊輸出(TXD)P3.2外部中斷0( INT0)P3.3外部中斷1(INT1)P3.4定時(shí)器0輸入(T0)P3.5定時(shí)器1輸入(T1)P3.6外部數(shù)據(jù)存儲器寫選通WRP3.7外部數(shù)據(jù)存儲器寫選通RD P3端口引腳兼用功能表發(fā)光二極

19、管(LED)由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等制成,可以單獨(dú)使用,也可以組裝成分段式或點(diǎn)陣式LED顯示器件(半導(dǎo)體顯示器)。分段式顯示器(LED數(shù)碼管)由7條線段圍成8字型,每一段包含一個(gè)發(fā)光二極管。外加正向電壓時(shí)二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。LED數(shù)碼管有共陽、共陰之分。.顯示電路顯示模塊需要實(shí)時(shí)顯示當(dāng)前的時(shí)間,即時(shí)、分、秒,因此需要6個(gè)數(shù)碼管,另需兩個(gè)數(shù)碼管來顯示橫。采用動態(tài)顯示方式顯示時(shí)間,硬件連接如下圖所示,時(shí)的十位和個(gè)位分別顯示在第一個(gè)和第二個(gè)數(shù)碼管,分的十位和個(gè)位分別顯示在第四個(gè)和第五個(gè)數(shù)碼管,秒的十位和個(gè)位分別顯示在第七個(gè)和第

20、八個(gè)數(shù)碼管,其余數(shù)碼管顯示橫線。LED顯示器的顯示控制方式按驅(qū)動方式可分成靜態(tài)顯示方式和動態(tài)顯示方式兩種。對于多位LED顯示器,通常都是采用動態(tài)掃描的方法進(jìn)行顯示。3.3軟件設(shè)計(jì) 這次的數(shù)字電子鐘設(shè)計(jì)用到很多子程序,它們的流程圖如下所示。開始啟動定時(shí)器按鍵檢測時(shí)間顯示 主程序是先開始,然后啟動定時(shí)器,定時(shí)器啟動后在進(jìn)行按鍵檢測,檢測完后,就可以顯示時(shí)間。 主程序流程圖按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時(shí)按鍵是否按下,時(shí)按鍵如果按下,時(shí)就加1;如果沒有按下,就把時(shí)間顯示出來。 NYNYNY時(shí)

21、加1顯示時(shí)間結(jié)束開始秒按鍵按下?秒加1分按鍵按下?分加1時(shí)按鍵按下? 按鍵處理流程圖定時(shí)器中斷時(shí)是先檢測1秒是否到,1秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時(shí)是否到,1小時(shí)如果到,時(shí)單元就加1,如果沒到,就顯示時(shí)間。N24小時(shí)到?分單元清零,時(shí)單元加1NNNYY時(shí)單元清零時(shí)間顯示中斷返回開始一秒時(shí)間到?60秒時(shí)間到?60分鐘到?秒單元加1秒單元清零,分單元加1YY 定時(shí)器中斷流程圖 時(shí)間顯示是先秒個(gè)位計(jì)算顯示,然后是秒十位計(jì)算顯示,再是分個(gè)位計(jì)算顯示,再然后是分十位顯示,再就是時(shí)個(gè)位計(jì)算顯示,最后是時(shí)十位顯示。時(shí)十位計(jì)算顯示結(jié)束開

22、始秒個(gè)位計(jì)算顯示秒十位計(jì)算顯示分個(gè)位計(jì)算顯示分十位計(jì)算顯示時(shí)個(gè)位計(jì)算顯示 時(shí)間顯示流程圖4實(shí)驗(yàn)結(jié)果與討論 單片機(jī)應(yīng)用系統(tǒng)的調(diào)試包括硬件和軟件兩部分,但是他們并不能完全分開。一般的方法是排除明顯的硬件故障,再進(jìn)行綜合調(diào)試,排除可能的軟/硬件故障。4.1 硬盤調(diào)試拿到電路板后,首先要檢查加工質(zhì)量,并確保沒有任何方面的錯(cuò)誤,如短路和斷路,尤其要避免電源短路;元器件在安裝前要逐一檢查,用萬用表測其數(shù)值,看是否與所用相同;完成焊接后,應(yīng)先空載上電(芯片座上不插芯片),并檢查各引腳的電位是否正確。若一切正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關(guān)系。將萬用表的探針放到單片機(jī)接電源的引

23、腳上檢測一下,看是否符合要求。4.2 系統(tǒng)性能測試與功能說明(1).本設(shè)計(jì)以STC89C51為主控芯片.(2).顯示部分主要器件為三個(gè)2位共陽紅色數(shù)碼管,驅(qū)動采用 PNP 型8550三極管驅(qū)動,各端口配有限流電阻。(3).冒號部分采用4個(gè)3mm的紅色發(fā)光二極管。(4).按鍵 S1S3 占用 P3.2、P3.3、P3.4 口。 S1:功能選擇鍵,按一下調(diào)節(jié)小時(shí),按兩下調(diào)節(jié)分鐘,按三下調(diào)節(jié)鬧鐘小時(shí),按四下調(diào)節(jié)鬧鐘分鐘,按五下時(shí)鐘開始工作。 S2:數(shù)值加一按鍵(調(diào)節(jié)時(shí)間時(shí)相應(yīng)光標(biāo)閃爍) S3:數(shù)值減一按鍵(調(diào)節(jié)時(shí)間時(shí)相應(yīng)光標(biāo)閃爍)初始化鐘表時(shí)間為12:00:00。(5).鬧鈴電路由有源蜂鳴器和 PN

24、P 型三極管組成,初始化鬧鐘時(shí)間為06:30:00鬧鈴時(shí)間到時(shí)蜂鳴器鳴叫1分鐘,按任意鍵可關(guān)閉鈴聲。4.3系統(tǒng)時(shí)鐘誤差分析時(shí)間是一個(gè)基本物理量,具有連續(xù)、自動流逝、不重復(fù)等特性。我國時(shí)間基準(zhǔn)來自國家授時(shí)中心,人們?nèi)粘J褂玫臅r(shí)鐘就是以一定的精度與該基準(zhǔn)保持同步的。結(jié)合時(shí)間概念和誤差理論,可以定義電子鐘的走時(shí)誤差S=S1-S2,S1表示程序?qū)嶋H運(yùn)行計(jì)算所得的秒;S2表示客觀時(shí)間的標(biāo)準(zhǔn)秒。本次設(shè)計(jì)的單片機(jī)電子鐘系統(tǒng)中,其誤差主要來源包括晶體頻率誤差,定時(shí)器溢出誤差,延遲誤差。晶體頻率產(chǎn)生震蕩,容易產(chǎn)生走時(shí)誤差;定時(shí)器溢出的時(shí)間誤差,本應(yīng)這一秒溢出但卻在下一秒溢出,造成走時(shí)誤差;延遲時(shí)間過長或過短,都

25、會造成與基準(zhǔn)時(shí)間產(chǎn)生偏差,造成走時(shí)誤差。4.4 軟件調(diào)試問題及解決軟件程序的調(diào)試一般可以將重點(diǎn)放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。本次課題,Keil軟件來調(diào)試程序,通過各個(gè)模塊程序的單步或跟蹤調(diào)試,使程序逐漸趨于正確,最后統(tǒng)調(diào)程序。仿真部分采用protus 6 professional軟件,此軟件功能強(qiáng)大且操作較為簡單,可以很容易的實(shí)現(xiàn)各種系統(tǒng)的仿真。首先打開protus 6 professional軟件,在元件庫中找到要選用的所有元件,然后進(jìn)行原理圖的繪制;繪制好后再選擇wav

26、e6000已經(jīng)編譯好的*.hex文件,選擇運(yùn)行,觀察顯示結(jié)果,根據(jù)顯示的結(jié)果和課題的要求再修改程序,再運(yùn)行查,直到滿足要求。5結(jié)論通過這次課程設(shè)計(jì),我學(xué)到了不少課本上沒有的知識,也鍛煉了自己的動手能力,將以前學(xué)過的零散的知識串到一起。首先硬件方面,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作。基本掌握了PROTUES原理圖的方法,并設(shè)計(jì)了一個(gè)單片機(jī)最小系統(tǒng)。通過開發(fā)板的設(shè)計(jì)和硬件搭建的過程,使我對51系單片機(jī)的接口有了更深層次的理解,熟悉了一些單片機(jī)常用的外圍電路引腳和連接方法。并且我學(xué)會了分析問題解決問題的能力,加深了對所學(xué)理論知識的理解和運(yùn)用。我的動手能力得到了很大的提高,創(chuàng)新意識得到了鍛煉

27、。通過硬件電路的調(diào)試,實(shí)現(xiàn)了預(yù)先設(shè)定的功能,設(shè)計(jì)主要用到的原件不多,最主要的是程序比較繁瑣尤其是校時(shí)模塊。顯示模塊以前都有學(xué)過,所以想對來說較為簡單。這次設(shè)計(jì)就是讓我們學(xué)以致用,將書本上學(xué)到的知識應(yīng)用于實(shí)踐。雖然在設(shè)計(jì)中遇到了不少困難,在我們通過自己的各種方式解決問題的同時(shí),也提升了自己的專業(yè)水平。 這次課程設(shè)計(jì),我收獲了很多,在設(shè)計(jì)過程中遇到了不少困難,都在同學(xué)老師的幫助下一步步得到解決。我深深體會到團(tuán)結(jié)合作,互相幫助是何等重要。還加深了對51單片機(jī)系列知識及其系統(tǒng)的認(rèn)識。這個(gè)設(shè)計(jì)題目并不怎么新穎,但從中體現(xiàn)到了個(gè)系統(tǒng)開發(fā)設(shè)計(jì)的過程,讓我們受益匪淺.在這次的設(shè)計(jì)中,讓我更進(jìn)一步的提高了動手能

28、力,也重新復(fù)習(xí)了一次單片機(jī)的程序編程能力,加強(qiáng)了對編程能力的理解和對相應(yīng)資料的查閱。6參考文獻(xiàn)1劉樂喜. 微機(jī)計(jì)算機(jī)接口技術(shù)及應(yīng)用M.華中科技大學(xué)出版社.2石東海. 單片機(jī)數(shù)據(jù)通信技術(shù)從入門到精通.M.西安電子科技大學(xué)出版社.3謝自美. 電子線路設(shè)計(jì)、實(shí)驗(yàn)、測試.M.華中科技大學(xué)出版社.4李華,李東. MC51/98系列單片機(jī)原理與應(yīng)用。M.機(jī)械工業(yè)出版社.5馬忠梅. ARM&Linux嵌入式系統(tǒng)教程北京:北京航空航天大學(xué)出版社.6李建忠單片機(jī)原理及應(yīng)用西安:西安電子科技大學(xué).7韓志軍. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)M.機(jī)械工業(yè)出版社.8周潤景. Proteus在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例M

29、.電子工業(yè)出版社.9馬忠梅. 單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)M.北京航空航天大學(xué)出版社.10劉樹中. 單片機(jī)和液晶顯示驅(qū)動器串行接口的實(shí)現(xiàn)J.附錄仿真圖程序硬件連接:數(shù)碼管:段碼為:P1 位碼分別為:P2.5P2.0蜂鳴器:P2.7功能鍵k1:P3.4加建k2:P3.5減鍵k3:P3.6 */#include /51頭文件sbit smg1=P25;/位碼1聲明sbit smg2=P24;/位碼2聲明sbit smg3=P23;/位碼3聲明sbit smg4=P22;/位碼4聲明sbit smg5=P21;/位碼5聲明sbit smg6=P20;/位碼6聲明sbit k1=P34; /按鍵k1的聲

30、明sbit k2=P35; /按鍵k2的聲明sbit k3=P36; /按鍵k3的聲明sbit beep=P27;/蜂鳴器聲明/*定義一些變量*/char d=0,e=0,a=0,b=0,n=0,shi=12,fen=0,miao=0,b_shi=6,b_fen=30,b_miao=0;char code table=/共陽級數(shù)碼管碼表0-90xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void init();/初始化函數(shù)聲明void delay(int z); /帶參數(shù)延時(shí)函數(shù)聲明void display(char s,f,m);/帶參數(shù)

31、顯示函數(shù)聲明void key();/按鍵控制函數(shù)聲明void main()/主函數(shù)init();/調(diào)用初始化函數(shù)while(1)/主函數(shù)內(nèi)大循環(huán)if(d=0)key(); /如果d=0則掃描按鍵函數(shù)if(shi=b_shi&fen=b_fen)/如果鬧鈴時(shí)間到 就蜂鳴器響if(d=1&!(k1&k2&k3)/ 任意按鍵按下關(guān)閉鈴聲e=1; /關(guān)閉鬧鈴標(biāo)志位ed=0; /屏蔽按鍵函數(shù)標(biāo)志位dif(e=0)/關(guān)閉鈴聲d=1; /屏蔽按鍵函數(shù)beep=0;/蜂鳴器鳴叫delay(10); /延時(shí)一會beep=1;/關(guān)閉蜂鳴器if(n=0|n=1|n=2)/如果處在功能鍵的0、1、2三個(gè)中的某個(gè)狀態(tài)d

32、isplay(shi,fen,miao);/調(diào)用顯示時(shí)鐘if(n=3|n=4)/如果處在功能鍵的3、4中的某個(gè)狀態(tài)display(b_shi,b_fen,b_miao);/調(diào)用顯示鬧鈴時(shí)間void init()/初始化函數(shù)IE=0X8a;/1000 1010TMOD=0X01; /0001 0001選擇定時(shí)器0的工作方式1選擇定時(shí)器1的工作方式1TH0=(65536-50000)/256;/初值15536TL0=(65536-50000)%256;TR0=1; /開啟定時(shí)器0TH1=(65536-50000)/256;/初值15536TL1=(65536-50000)%256;TR1=1; /

33、開啟定時(shí)器1void timer0() interrupt1 /定時(shí)器0中斷服務(wù)程序TH0=(65536-50000)/256;/進(jìn)入中斷重新賦初值15536TL0=(65536-50000)%256;/計(jì)數(shù)5萬次(50毫秒)a+;/每進(jìn)一次中斷a加一if(a=20) /如果進(jìn)入20次中斷,正好一秒a=0; /a到20 就清零miao+;/a每計(jì)20次,秒加一if(miao=60) /秒到達(dá)60秒后清零,分加一miao=0;fen+;e=0;/鬧鈴標(biāo)志位清零if(fen=60)/分到達(dá)60后清零,時(shí)加一fen=0;shi+;if(shi=24) /時(shí)到達(dá)24后清零shi=0;void time

34、r1() interrupt3 /定時(shí)器1中斷服務(wù)程序,用來設(shè)置光標(biāo)閃爍頻率TH1=(65536-50000)/256;/進(jìn)入中斷重新賦初值15536TL1=(65536-50000)%256;/計(jì)數(shù)5萬次(50毫秒)b+; /標(biāo)志位b,用來確定光標(biāo)閃爍頻率if(b=20) b=0;/b=20 時(shí)被清零void display(char s,f,m)/帶參數(shù)的顯示函數(shù),參數(shù)為s f msmg1=0;/打開數(shù)碼管1位選P1=tables/10;/給數(shù)碼管1賦值,值為小時(shí)的十位delay(1); /延時(shí)smg1=1; /關(guān)閉數(shù)碼管1位選P1=0Xff; /關(guān)閉數(shù)碼管1段選if(b10&(n=1|n

35、=3)/在1,3狀態(tài)下,b10時(shí),關(guān)閉數(shù)碼管2 smg2=1; P1=0Xff;else /其他狀態(tài)下,數(shù)碼管2正常顯示smg2=0;/打開數(shù)碼管2位選P1=tables%10;/給數(shù)碼管2賦值,值為小時(shí)的個(gè)位delay(1);/延時(shí)smg2=1; /關(guān)閉數(shù)碼管2位選P1=0Xff; /關(guān)閉數(shù)碼管2段選smg3=0;/打開數(shù)碼管3位選P1=tablef/10;/給數(shù)碼管3賦值,值為分鐘的十位delay(1); /延時(shí)smg3=1; /關(guān)閉數(shù)碼管3位選P1=0Xff;/關(guān)閉數(shù)碼管3段選if(b10&(n=2|n=4) /在2,4狀態(tài)下,b0;x-) /循環(huán)110*z次空函數(shù)for(y=110;y

36、0;y-);void key() /按鍵控制函數(shù)if(k1=0) /功能鍵k1被按下delay(5);/消抖延時(shí)if(k1=0)n+;/n記錄功能鍵狀態(tài)if(n4) n=0; /n清零while(k1=0);/等待松手if(n=0)/狀態(tài)0,TR0=1;/定時(shí)器打開狀態(tài)if(n=1)/狀態(tài)1TR0=0;/關(guān)閉定時(shí)器0if(k2=0) /k2被按下delay(5);/消抖延時(shí)if(k2=0)shi+;/小時(shí)加一if(shi=24)shi=0;/達(dá)到24清零while(k2=0);/等待松手if(k3=0) /k3被按下delay(5); /消抖延時(shí)if(k3=0)shi-; /小時(shí)減一if(sh

37、i0)shi=23;/小于0,重新復(fù)制while(k3=0);/等待松手if(n=2)/狀態(tài)2TR0=0; /關(guān)閉定時(shí)器0 if(k2=0) /k2被按下delay(5);/消抖延時(shí)if(k2=0)fen+;/分加一if(fen=60)fen=0;/分到達(dá)60 分清零while(k2=0);/等待松手if(k3=0) /k3被按下delay(5);/消抖延時(shí)if(k3=0)fen-;/分減一if(fen0)fen=59;/分小于0,分重新賦值59while(k3=0);/等待松手if(n=3)/狀態(tài)三TR0=1;/開啟定時(shí)器if(k2=0) /k2被按下delay(5);/消抖延時(shí)if(k2=

38、0)b_shi+;/鬧鈴時(shí)間加一if(b_shi=24)b_shi=0;/鬧鈴時(shí)間清零while(k2=0);/等待松手if(k3=0) /k3被按下delay(5);/消抖延時(shí)if(k3=0)b_shi-;/鬧鈴時(shí)間減一if(b_shi0)b_shi=23;/鬧鈴時(shí)間while(k3=0);/等待松手if(n=4)/狀態(tài)四TR0=1;/關(guān)閉定時(shí)器0if(k2=0) /k2被按下delay(5);/消抖延時(shí)if(k2=0)b_fen+;/鬧鈴時(shí)間分加一if(b_fen=60)b_fen=0;/鬧鈴分到達(dá)60 清零while(k2=0);/等待松手if(k3=0) /k3被按下delay(5);/消抖延時(shí)if(k3=0)b_fen-;/鬧鈴時(shí)間分減一if(b_fen0)b_fen=59;/鬧鈴時(shí)間分重新賦值while(k3=0);/等待松手元件清單1、9*7萬用板一張2、ATC89C52一片3、按鍵3個(gè)4、DIP40插座一個(gè)5、數(shù)碼管3個(gè)6、3mmLED 4個(gè)7、蜂鳴器1個(gè)8、三極管7個(gè)9、電阻4.77個(gè)10、電阻4708個(gè)11、電阻10K1個(gè)12、晶體1個(gè)13、30PF電容2個(gè)14、10uf電容1個(gè)15、自鎖開關(guān)1個(gè)16、USb母口一個(gè)17、導(dǎo)線20cm18、銅柱4套- 33 -

展開閱讀全文
溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!