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

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

單片機課程設(shè)計報告 電子時鐘

  • 資源ID:145701340       資源大?。?span id="24d9guoke414" class="font-tahoma">1.11MB        全文頁數(shù):35頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

單片機課程設(shè)計報告 電子時鐘

荊楚理工學(xué)院課程設(shè)計成果學(xué)院: 電子信息工程學(xué)院 班 級: 學(xué)生姓名: 學(xué) 號: 設(shè)計地點(單位) 設(shè)計題目: 電子時鐘 完成日期: 2014 年 6 月 19 日 指導(dǎo)教師評語: _ 成績(五級記分制): 教師簽名: 目 錄1 摘要12 系統(tǒng)簡介12.1 總體設(shè)計方案說明22.2 單片機系統(tǒng)組成方框圖23 系統(tǒng)設(shè)計73.1 系統(tǒng)總體設(shè)計73.2 硬件電路設(shè)計83.3 軟件設(shè)計114 實驗結(jié)果與討論155 結(jié)論 166 參考文獻(xiàn) 177附錄18 基于單片機的電子時鐘設(shè)計1.摘要20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快?,F(xiàn)代生活的人們越來越重視起了時間觀念,可以說是時間和金錢劃上了等號。對于那些對時間把握非常嚴(yán)格和準(zhǔn)確的人或事來說,時間的不準(zhǔn)確會帶來非常大的麻煩,所以以數(shù)碼管為顯示器的時鐘比指針式的時鐘表現(xiàn)出了很大的優(yōu)勢。數(shù)碼管顯示的時間簡單明了而且讀數(shù)快、時間準(zhǔn)確顯示到秒。而機械式的依賴于晶體震蕩器,可能會導(dǎo)致誤差。數(shù)字鐘是采用數(shù)字電路實現(xiàn)對“時”、“分”、“秒”數(shù)字顯示的計時裝置。數(shù)字鐘的精度、穩(wěn)定度遠(yuǎn)遠(yuǎn)超過老式機械鐘。在這次設(shè)計中,我們采用LED數(shù)碼管顯示時、分、秒,以24小時計時方式,根據(jù)數(shù)碼管動態(tài)顯示原理來進(jìn)行顯示,用12MHz的晶振產(chǎn)生振蕩脈沖,定時器計數(shù)。在此次設(shè)計中,電路具有顯示時間的其本功能,還可以實現(xiàn)對時間的調(diào)整。數(shù)字鐘是其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費的喜愛,因此得到了廣泛的使用。關(guān)鍵字:數(shù)字電子鐘 單片機2系統(tǒng)簡介數(shù)字鐘是采用數(shù)字電路實現(xiàn)對.時,分,秒.數(shù)字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵?,廣泛用于個人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點,它還用于計時、自動報時及自動控制等各個領(lǐng)域。 2.1 總體設(shè)計方案說明 單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。單片機經(jīng)過1、2、3、3代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價格、大存儲容量、強I/O功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。目前,我國生產(chǎn)很多型號的單片機,在此,我們采用型號為STC89C52的單片機。因為: STC89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含4k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-52指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,內(nèi)置功能強大的微型計算機的AT89C52提供了高性價比的解決方案。    STC89C52是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,STC89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。2.2 單片機的基本結(jié)構(gòu) MCS-52單片機內(nèi)部結(jié)構(gòu)   8052單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器:   中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM)    8052內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。單片機8052的內(nèi)部結(jié)構(gòu)程序存儲器(ROM):8052共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(ROM):8052有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8052共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8052內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8052具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:8052內(nèi)置最高頻率達(dá)12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8052單片機需外置振蕩電容。單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-52系列單片機采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結(jié)構(gòu)。下圖是MCS-52系列單片機的內(nèi)部結(jié)構(gòu)示意圖。 MCS-52系列單片機的內(nèi)部結(jié)構(gòu)MCS-52的引腳說明:MCS-52系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對這些引腳的功能加以說明:MCS-51的引腳說明:MCS-52系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對這些引腳的功能加以說明: 單片機的引腳圖Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)8052通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(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掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。Pin30:ALE/當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。 上電自動和手動復(fù)位電路圖 內(nèi)部和外部時鐘方式圖 Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。3系統(tǒng)設(shè)計3.1系統(tǒng)總體設(shè)計原理圖3.2硬件電路設(shè)計 單片機最小系統(tǒng)的結(jié)構(gòu)圖單片機的最小系統(tǒng)是由電源、復(fù)位、晶振、/EA=1組成,下面介紹一下每一個組成部分。1.電源引腳 Vcc40電源端GND20接地端工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。 2.外接晶體引腳 晶振連接的內(nèi)部、外部方式圖XTAL119XTAL218 XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。系統(tǒng)的時鐘電路設(shè)計是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT89單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22F。在焊接刷電路板時,晶體振蕩器和電容應(yīng)盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。3. 復(fù)位RST9在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腿時,將使單片機復(fù)位,只要這個腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0P3口均置1引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM的00H處開始運行程序。復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時鐘頻率選用6MHz時,C取22F,Rs約為200,Rk約為1K。復(fù)位操作不會對內(nèi)部RAM有所影響。4.輸入輸出引腳(1) P0端口P0.0-P0.7 P0是一個8位漏極開路型雙向I/O端口,端口置1(對端口寫1)時作高阻抗輸入端。作為輸出口時能驅(qū)動8個TTL。對內(nèi)部Flash程序存儲器編程時,接收指令字節(jié);校驗程序時輸出指令字節(jié),要求外接上拉電阻。在訪問外部程序和外部數(shù)據(jù)存儲器時,P0口是分時轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。(2) P1端口P1.0P1.7 P1是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時其引腳上的內(nèi)容在此期間不會改變。(4) P3端口P3.0P3.7 P2是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接控制信息。除此之外P3端口還用于一些專門功能,具體請看下表。P3引腳兼用功能P3.0串行通訊輸入(RXD)P3.1串行通訊輸出(TXD)P3.2外部中斷0( INT0)P3.3外部中斷1(INT1)P3.4定時器0輸入(T0)P3.5定時器1輸入(T1)P3.6外部數(shù)據(jù)存儲器寫選通WRP3.7外部數(shù)據(jù)存儲器寫選通RD P3端口引腳兼用功能表發(fā)光二極管(LED)由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等制成,可以單獨使用,也可以組裝成分段式或點陣式LED顯示器件(半導(dǎo)體顯示器)。分段式顯示器(LED數(shù)碼管)由7條線段圍成8字型,每一段包含一個發(fā)光二極管。外加正向電壓時二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。LED數(shù)碼管有共陽、共陰之分。.顯示電路顯示模塊需要實時顯示當(dāng)前的時間,即時、分、秒,因此需要6個數(shù)碼管,另需兩個數(shù)碼管來顯示橫。采用動態(tài)顯示方式顯示時間,硬件連接如下圖所示,時的十位和個位分別顯示在第一個和第二個數(shù)碼管,分的十位和個位分別顯示在第四個和第五個數(shù)碼管,秒的十位和個位分別顯示在第七個和第八個數(shù)碼管,其余數(shù)碼管顯示橫線。LED顯示器的顯示控制方式按驅(qū)動方式可分成靜態(tài)顯示方式和動態(tài)顯示方式兩種。對于多位LED顯示器,通常都是采用動態(tài)掃描的方法進(jìn)行顯示。3.3軟件設(shè)計 這次的數(shù)字電子鐘設(shè)計用到很多子程序,它們的流程圖如下所示。開始啟動定時器按鍵檢測時間顯示 主程序是先開始,然后啟動定時器,定時器啟動后在進(jìn)行按鍵檢測,檢測完后,就可以顯示時間。 主程序流程圖按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時按鍵是否按下,時按鍵如果按下,時就加1;如果沒有按下,就把時間顯示出來。 NYNYNY時加1顯示時間結(jié)束開始秒按鍵按下?秒加1分按鍵按下?分加1時按鍵按下? 按鍵處理流程圖定時器中斷時是先檢測1秒是否到,1秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時是否到,1小時如果到,時單元就加1,如果沒到,就顯示時間。N24小時到?分單元清零,時單元加1NNNYY時單元清零時間顯示中斷返回開始一秒時間到?60秒時間到?60分鐘到?秒單元加1秒單元清零,分單元加1YY 定時器中斷流程圖 時間顯示是先秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再就是時個位計算顯示,最后是時十位顯示。時十位計算顯示結(jié)束開始秒個位計算顯示秒十位計算顯示分個位計算顯示分十位計算顯示時個位計算顯示 時間顯示流程圖4實驗結(jié)果與討論 單片機應(yīng)用系統(tǒng)的調(diào)試包括硬件和軟件兩部分,但是他們并不能完全分開。一般的方法是排除明顯的硬件故障,再進(jìn)行綜合調(diào)試,排除可能的軟/硬件故障。4.1 硬盤調(diào)試拿到電路板后,首先要檢查加工質(zhì)量,并確保沒有任何方面的錯誤,如短路和斷路,尤其要避免電源短路;元器件在安裝前要逐一檢查,用萬用表測其數(shù)值,看是否與所用相同;完成焊接后,應(yīng)先空載上電(芯片座上不插芯片),并檢查各引腳的電位是否正確。若一切正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關(guān)系。將萬用表的探針放到單片機接電源的引腳上檢測一下,看是否符合要求。4.2 系統(tǒng)性能測試與功能說明(1).本設(shè)計以STC89C51為主控芯片.(2).顯示部分主要器件為三個2位共陽紅色數(shù)碼管,驅(qū)動采用 PNP 型8550三極管驅(qū)動,各端口配有限流電阻。(3).冒號部分采用4個3mm的紅色發(fā)光二極管。(4).按鍵 S1S3 占用 P3.2、P3.3、P3.4 口。 S1:功能選擇鍵,按一下調(diào)節(jié)小時,按兩下調(diào)節(jié)分鐘,按三下調(diào)節(jié)鬧鐘小時,按四下調(diào)節(jié)鬧鐘分鐘,按五下時鐘開始工作。 S2:數(shù)值加一按鍵(調(diào)節(jié)時間時相應(yīng)光標(biāo)閃爍) S3:數(shù)值減一按鍵(調(diào)節(jié)時間時相應(yīng)光標(biāo)閃爍)初始化鐘表時間為12:00:00。(5).鬧鈴電路由有源蜂鳴器和 PNP 型三極管組成,初始化鬧鐘時間為06:30:00鬧鈴時間到時蜂鳴器鳴叫1分鐘,按任意鍵可關(guān)閉鈴聲。4.3系統(tǒng)時鐘誤差分析時間是一個基本物理量,具有連續(xù)、自動流逝、不重復(fù)等特性。我國時間基準(zhǔn)來自國家授時中心,人們?nèi)粘J褂玫臅r鐘就是以一定的精度與該基準(zhǔn)保持同步的。結(jié)合時間概念和誤差理論,可以定義電子鐘的走時誤差S=S1-S2,S1表示程序?qū)嶋H運行計算所得的秒;S2表示客觀時間的標(biāo)準(zhǔn)秒。本次設(shè)計的單片機電子鐘系統(tǒng)中,其誤差主要來源包括晶體頻率誤差,定時器溢出誤差,延遲誤差。晶體頻率產(chǎn)生震蕩,容易產(chǎn)生走時誤差;定時器溢出的時間誤差,本應(yīng)這一秒溢出但卻在下一秒溢出,造成走時誤差;延遲時間過長或過短,都會造成與基準(zhǔn)時間產(chǎn)生偏差,造成走時誤差。4.4 軟件調(diào)試問題及解決軟件程序的調(diào)試一般可以將重點放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。本次課題,Keil軟件來調(diào)試程序,通過各個模塊程序的單步或跟蹤調(diào)試,使程序逐漸趨于正確,最后統(tǒng)調(diào)程序。仿真部分采用protus 6 professional軟件,此軟件功能強大且操作較為簡單,可以很容易的實現(xiàn)各種系統(tǒng)的仿真。首先打開protus 6 professional軟件,在元件庫中找到要選用的所有元件,然后進(jìn)行原理圖的繪制;繪制好后再選擇wave6000已經(jīng)編譯好的*.hex文件,選擇運行,觀察顯示結(jié)果,根據(jù)顯示的結(jié)果和課題的要求再修改程序,再運行查,直到滿足要求。5結(jié)論通過這次課程設(shè)計,我學(xué)到了不少課本上沒有的知識,也鍛煉了自己的動手能力,將以前學(xué)過的零散的知識串到一起。首先硬件方面,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作。基本掌握了PROTUES原理圖的方法,并設(shè)計了一個單片機最小系統(tǒng)。通過開發(fā)板的設(shè)計和硬件搭建的過程,使我對51系單片機的接口有了更深層次的理解,熟悉了一些單片機常用的外圍電路引腳和連接方法。并且我學(xué)會了分析問題解決問題的能力,加深了對所學(xué)理論知識的理解和運用。我的動手能力得到了很大的提高,創(chuàng)新意識得到了鍛煉。通過硬件電路的調(diào)試,實現(xiàn)了預(yù)先設(shè)定的功能,設(shè)計主要用到的原件不多,最主要的是程序比較繁瑣尤其是校時模塊。顯示模塊以前都有學(xué)過,所以想對來說較為簡單。這次設(shè)計就是讓我們學(xué)以致用,將書本上學(xué)到的知識應(yīng)用于實踐。雖然在設(shè)計中遇到了不少困難,在我們通過自己的各種方式解決問題的同時,也提升了自己的專業(yè)水平。 這次課程設(shè)計,我收獲了很多,在設(shè)計過程中遇到了不少困難,都在同學(xué)老師的幫助下一步步得到解決。我深深體會到團結(jié)合作,互相幫助是何等重要。還加深了對51單片機系列知識及其系統(tǒng)的認(rèn)識。這個設(shè)計題目并不怎么新穎,但從中體現(xiàn)到了個系統(tǒng)開發(fā)設(shè)計的過程,讓我們受益匪淺.在這次的設(shè)計中,讓我更進(jìn)一步的提高了動手能力,也重新復(fù)習(xí)了一次單片機的程序編程能力,加強了對編程能力的理解和對相應(yīng)資料的查閱。6參考文獻(xiàn)1劉樂喜. 微機計算機接口技術(shù)及應(yīng)用M.華中科技大學(xué)出版社.2石東海. 單片機數(shù)據(jù)通信技術(shù)從入門到精通.M.西安電子科技大學(xué)出版社.3謝自美. 電子線路設(shè)計、實驗、測試.M.華中科技大學(xué)出版社.4李華,李東. MC51/98系列單片機原理與應(yīng)用。M.機械工業(yè)出版社.5馬忠梅. ARM&Linux嵌入式系統(tǒng)教程北京:北京航空航天大學(xué)出版社.6李建忠單片機原理及應(yīng)用西安:西安電子科技大學(xué).7韓志軍. 單片機應(yīng)用系統(tǒng)設(shè)計M.機械工業(yè)出版社.8周潤景. Proteus在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例M.電子工業(yè)出版社.9馬忠梅. 單片機的C語言應(yīng)用程序設(shè)計M.北京航空航天大學(xué)出版社.10劉樹中. 單片機和液晶顯示驅(qū)動器串行接口的實現(xiàn)J.附錄仿真圖程序硬件連接:數(shù)碼管:段碼為:P1 位碼分別為:P2.5P2.0蜂鳴器:P2.7功能鍵k1:P3.4加建k2:P3.5減鍵k3:P3.6 */#include<reg51.h> /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的聲明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ù)聲明void display(char s,f,m);/帶參數(shù)顯示函數(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)/如果鬧鈴時間到 就蜂鳴器響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); /延時一會beep=1;/關(guān)閉蜂鳴器if(n=0|n=1|n=2)/如果處在功能鍵的0、1、2三個中的某個狀態(tài)display(shi,fen,miao);/調(diào)用顯示時鐘if(n=3|n=4)/如果處在功能鍵的3、4中的某個狀態(tài)display(b_shi,b_fen,b_miao);/調(diào)用顯示鬧鈴時間void init()/初始化函數(shù)IE=0X8a;/1000 1010TMOD=0X01; /0001 0001選擇定時器0的工作方式1選擇定時器1的工作方式1TH0=(65536-50000)/256;/初值15536TL0=(65536-50000)%256;TR0=1; /開啟定時器0TH1=(65536-50000)/256;/初值15536TL1=(65536-50000)%256;TR1=1; /開啟定時器1void timer0() interrupt1 /定時器0中斷服務(wù)程序TH0=(65536-50000)/256;/進(jìn)入中斷重新賦初值15536TL0=(65536-50000)%256;/計數(shù)5萬次(50毫秒)a+;/每進(jìn)一次中斷a加一if(a=20) /如果進(jìn)入20次中斷,正好一秒a=0; /a到20 就清零miao+;/a每計20次,秒加一if(miao=60) /秒到達(dá)60秒后清零,分加一miao=0;fen+;e=0;/鬧鈴標(biāo)志位清零if(fen=60)/分到達(dá)60后清零,時加一fen=0;shi+;if(shi=24) /時到達(dá)24后清零shi=0;void timer1() interrupt3 /定時器1中斷服務(wù)程序,用來設(shè)置光標(biāo)閃爍頻率TH1=(65536-50000)/256;/進(jìn)入中斷重新賦初值15536TL1=(65536-50000)%256;/計數(shù)5萬次(50毫秒)b+; /標(biāo)志位b,用來確定光標(biāo)閃爍頻率if(b=20) b=0;/b=20 時被清零void display(char s,f,m)/帶參數(shù)的顯示函數(shù),參數(shù)為s f msmg1=0;/打開數(shù)碼管1位選P1=tables/10;/給數(shù)碼管1賦值,值為小時的十位delay(1); /延時smg1=1; /關(guān)閉數(shù)碼管1位選P1=0Xff; /關(guān)閉數(shù)碼管1段選if(b<10&&(n=1|n=3)/在1,3狀態(tài)下,b<10時,關(guān)閉數(shù)碼管2 smg2=1; P1=0Xff;else /其他狀態(tài)下,數(shù)碼管2正常顯示smg2=0;/打開數(shù)碼管2位選P1=tables%10;/給數(shù)碼管2賦值,值為小時的個位delay(1);/延時smg2=1; /關(guān)閉數(shù)碼管2位選P1=0Xff; /關(guān)閉數(shù)碼管2段選smg3=0;/打開數(shù)碼管3位選P1=tablef/10;/給數(shù)碼管3賦值,值為分鐘的十位delay(1); /延時smg3=1; /關(guān)閉數(shù)碼管3位選P1=0Xff;/關(guān)閉數(shù)碼管3段選if(b<10&&(n=2|n=4) /在2,4狀態(tài)下,b<10時,關(guān)閉數(shù)碼管4 smg4=1; P1=0Xff;else /其他狀態(tài)下,數(shù)碼管4正常顯示smg4=0;/打開數(shù)碼管4位選P1=tablef%10;/給數(shù)碼管4賦值,值為分鐘的個位delay(1); /延時smg4=1; /關(guān)閉數(shù)碼管4位選P1=0Xff; /關(guān)閉數(shù)碼管4段選smg5=0;/打開數(shù)碼管5位選P1=tablem/10;/給數(shù)碼管5賦值,值為秒鐘的十位delay(1); /延時smg5=1; /關(guān)閉數(shù)碼管5位選P1=0Xff; /關(guān)閉數(shù)碼管5段選smg6=0;/打開數(shù)碼管6位選P1=tablem%10;/給數(shù)碼管6賦值,值為秒鐘的個位delay(1);/延時smg6=1;/關(guān)閉數(shù)碼管6位選P1=0Xff;/關(guān)閉數(shù)碼管6段選void delay(int z)/帶參數(shù)延時函數(shù),參數(shù)Z /每次大約延時1毫秒int x,y;for(x=z;x>0;x-) /循環(huán)110*z次空函數(shù)for(y=110;y>0;y-);void key() /按鍵控制函數(shù)if(k1=0) /功能鍵k1被按下delay(5);/消抖延時if(k1=0)n+;/n記錄功能鍵狀態(tài)if(n>4) n=0; /n清零while(k1=0);/等待松手if(n=0)/狀態(tài)0,TR0=1;/定時器打開狀態(tài)if(n=1)/狀態(tài)1TR0=0;/關(guān)閉定時器0if(k2=0) /k2被按下delay(5);/消抖延時if(k2=0)shi+;/小時加一if(shi=24)shi=0;/達(dá)到24清零while(k2=0);/等待松手if(k3=0) /k3被按下delay(5); /消抖延時if(k3=0)shi-; /小時減一if(shi<0)shi=23;/小于0,重新復(fù)制while(k3=0);/等待松手if(n=2)/狀態(tài)2TR0=0; /關(guān)閉定時器0 if(k2=0) /k2被按下delay(5);/消抖延時if(k2=0)fen+;/分加一if(fen=60)fen=0;/分到達(dá)60 分清零while(k2=0);/等待松手if(k3=0) /k3被按下delay(5);/消抖延時if(k3=0)fen-;/分減一if(fen<0)fen=59;/分小于0,分重新賦值59while(k3=0);/等待松手if(n=3)/狀態(tài)三TR0=1;/開啟定時器if(k2=0) /k2被按下delay(5);/消抖延時if(k2=0)b_shi+;/鬧鈴時間加一if(b_shi=24)b_shi=0;/鬧鈴時間清零while(k2=0);/等待松手if(k3=0) /k3被按下delay(5);/消抖延時if(k3=0)b_shi-;/鬧鈴時間減一if(b_shi<0)b_shi=23;/鬧鈴時間while(k3=0);/等待松手if(n=4)/狀態(tài)四TR0=1;/關(guān)閉定時器0if(k2=0) /k2被按下delay(5);/消抖延時if(k2=0)b_fen+;/鬧鈴時間分加一if(b_fen=60)b_fen=0;/鬧鈴分到達(dá)60 清零while(k2=0);/等待松手if(k3=0) /k3被按下delay(5);/消抖延時if(k3=0)b_fen-;/鬧鈴時間分減一if(b_fen<0)b_fen=59;/鬧鈴時間分重新賦值while(k3=0);/等待松手元件清單1、9*7萬用板一張2、ATC89C52一片3、按鍵3個4、DIP40插座一個5、數(shù)碼管3個6、3mmLED 4個7、蜂鳴器1個8、三極管7個9、電阻4.77個10、電阻4708個11、電阻10K1個12、晶體1個13、30PF電容2個14、10uf電容1個15、自鎖開關(guān)1個16、USb母口一個17、導(dǎo)線20cm18、銅柱4套- 33 -

注意事項

本文(單片機課程設(shè)計報告 電子時鐘)為本站會員(無***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(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),我們立即給予刪除!