簡易電子時鐘的設(shè)計_第1頁
簡易電子時鐘的設(shè)計_第2頁
簡易電子時鐘的設(shè)計_第3頁
簡易電子時鐘的設(shè)計_第4頁
簡易電子時鐘的設(shè)計_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上單片機課程設(shè)計報告設(shè)計題目:簡易電子時鐘的設(shè)計院別: 專業(yè)班級: 學(xué)號: 姓名: 指導(dǎo)教師: 摘要通過一學(xué)期單片機的學(xué)習(xí),對其已經(jīng)有了初步的了解,但是隨著社會的不斷發(fā)展,單片機的應(yīng)用正在不斷地走向深入,它特別適合于與控制有關(guān)的系統(tǒng),越來越廣泛地應(yīng)用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個領(lǐng)域,單片機往往是作為一個核心部件來使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點的軟件結(jié)合,以作完善。我們也借此課程設(shè)計的機會,對單片機有更深一步的了解與學(xué)習(xí)。本次課程課程設(shè)計的目的是設(shè)計一個簡易的電子時鐘,通過一個8位共陰極數(shù)碼管進行時、分、秒的顯示,

2、另外設(shè)置7個按鍵,一個用來調(diào)整小時,一個用來調(diào)整分鐘,一個開關(guān)控制是否調(diào)整時間。關(guān)鍵詞:AT89C51,數(shù)碼管,按鍵,DS1303時鐘芯片1. 概述 本設(shè)計是鍛煉我們的自學(xué)能力合作能力,依靠團隊的力量去完成一項具體的任務(wù)系統(tǒng)的訓(xùn)練了所學(xué)知識,設(shè)計的過程必將是難忘的,這也將是大學(xué)向社會工作過度的一個重要階段。本階段過后要去能夠熟練的運用單片機中的計數(shù)器、定時器、中斷、數(shù)碼管顯示等參考教材或者相關(guān)資料,采用C語言實現(xiàn)數(shù)字時鐘功能,在數(shù)碼管上實時顯示,并運用Protues軟件繪制電路原理圖,并進行仿真驗證和誤差分析。2. 系統(tǒng)總體方案設(shè)計2.1 系統(tǒng)方案的確定用6位數(shù)碼管,可以顯示出時、分、秒;用P

3、2端口控制位選,由定時器進行時間的控制(秒);當總按鍵按下時可以進行時間調(diào)整;2.2 方案分析2.3 系統(tǒng)總框圖時鐘芯片DS1302AT89C51單片機控制器復(fù)位電路數(shù)碼管顯示時鐘電路按鍵74LS245控制數(shù)碼管段選蜂鳴器發(fā)聲圖2.13. 系統(tǒng)硬件系統(tǒng)設(shè)計3.1 復(fù)位電路 單片機復(fù)位電路就好比電腦的重啟部分,當電腦在使用中出現(xiàn)死機,按下重啟按鈕電腦內(nèi)部的程序從頭開始執(zhí)行。單片機也一樣,當單片機系統(tǒng)在運行中,受到環(huán)境干擾出現(xiàn)程跑飛的時候,按下復(fù)位按鈕內(nèi)部的程序自動從頭開始執(zhí)行。復(fù)位電路的工作原理:在單片機系統(tǒng)中,系統(tǒng)上電啟動的時候復(fù)位一次,當按鍵按下的時候系統(tǒng)再次復(fù)位,如果釋放后再按下,系統(tǒng)還會

4、復(fù)位。所以可以通過按鍵的斷開和閉合在運行的系統(tǒng)中控制其復(fù)位。單片機復(fù)位電路如下圖圖3.13.2 時鐘電路 單片機運行需要時鐘支持就像計算機的CPU一樣,如果沒有時鐘電路來產(chǎn)生時鐘驅(qū)動單片機,那單片機就不能執(zhí)行程序。單片機可以看成是在時鐘驅(qū)動下的時序邏輯電路。 以5l單片機為例隨明:51單片機為l2個時鐘周期執(zhí)行一條指令。也就是說單片機運行一條指令,必須要用r2個時鐘周期。沒有這個時鐘,單片機就跑不起來了,也沒有辦法定時和進行和時間有關(guān)的操作。 時鐘電路是微型計算機的心臟,它控制著計算機的二個節(jié)奏。CPU就是通過復(fù)雜的時序電路完成不同的指令功能的。51的時鐘信號可以由兩種方式產(chǎn)生:一種是內(nèi)部方式

5、,利用芯片內(nèi)部的振蕩電路,產(chǎn)生時鐘信號:另一種為外部方式,時鐘信號由外部引入。如果沒有時鐘電路來產(chǎn)生時鐘驅(qū)動單片機,單片機是無法工作的。單片機時鐘電路是用來配合外部晶體實現(xiàn)振蕩的電路,這樣可以為單片機提供運行時鐘,如果運行時鐘為0 的話,單片機就不工作,當然超出單片機的工作頻率的時鐘也會導(dǎo)致單片機不工作。3.3 數(shù)碼管顯示器 LED數(shù)碼顯示器是1種由LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個LED發(fā)光二極管,其中7個用于顯示字符,1個用于顯示小數(shù)點。 LED數(shù)碼顯示器有兩種連接方法: (1)共陽極接法。把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時公共陽極接+5V,每個發(fā)光二極管的陰

6、極通過電阻與輸入端相連。當陰極端輸入低電平時,段發(fā)光二極管就導(dǎo)通點亮,而輸入高電平時則不點亮。(2)共陰極接法。把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時公共陰極接地。每個發(fā)光二極管的陽極通過電阻與輸入端相連。當陽極端輸入高電平時,段發(fā)光二極管就導(dǎo)通點亮,而輸入低電平時則不點亮。在本設(shè)計中所采用的是共陰極LED數(shù)碼顯示器,其引腳排列如圖3.3所示:圖3.33.4 74HC573鎖存器 74LS245是我們常用的芯片,用來驅(qū)動led或者其他的設(shè)備,他是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當8051單片機的P0口總線負載達到

7、或超過P0最大負載能力時,必須接入74LS245等總線驅(qū)動器。當片選端/CE低電平有效時,DIR=“0”,信號由B向A傳輸;(接收)*DIR=“1”,信號由A向B傳輸;(發(fā)送)當/CE為高電平時,A、B均為高阻態(tài)。在應(yīng)用系統(tǒng)中,所有的系統(tǒng)擴展的外圍芯片都需要總線驅(qū)動,本設(shè)計時鐘芯片是系統(tǒng)擴展外圍芯片,所以就需要總線驅(qū)動器,3.5 DS1302時鐘芯片1.簡介DS1302 是DALLAS 公司推出的涓流充電時鐘芯片,內(nèi)含有一個實時時鐘/日歷和31 字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機進行通信實時時鐘/日歷電路.提供秒分時日日期.月年的信息,每月的天數(shù)和閏年的天數(shù)可自動調(diào)整時鐘操作可通過AM

8、/PM 指示決定采用24 或12 小時格式.DS1302 與單片機之間能簡單地采用同步串行的方式進行通信,僅需用到三個口線:1 RES 復(fù)位,2 I/O 數(shù)據(jù)線,3 SCLK串行時鐘.時鐘/RAM 的讀/寫數(shù)據(jù)以一個字節(jié)或多達31 個字節(jié)的字符組方式通信.DS1302 工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率小于1mW.DS1302 是由DS1202 改進而來,增加了以下的特性.雙電源管腳用于主電源和備份電源供應(yīng)Vcc1,為可編程涓流充電電源附加七個字節(jié)存儲器.它廣泛應(yīng)用于電話傳真便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域.2. DS1302 的基本組成和工作原理DS1302 的引腳功能排列及

9、描述如下圖所示.ds1302引腳圖管腳描述X1 X2 32.768KHz 晶振管腳GND 地RST 復(fù)位腳I/O 數(shù)據(jù)輸入/輸出引腳SCLK 串行時鐘Vcc1,Vcc2 電源供電管腳DS1302 串行時鐘芯片8 腳DIPDS1302S 串行時鐘芯片8 腳SOIC 200milDS1302Z 串行時鐘芯片8 腳SOIC 150mil3.DS1302 內(nèi)部寄存器CH: 時鐘停止位 存器2 的第7 位12/24 小時標志CH=0 振蕩器工作允許 bit7=1,12 小時模式CH=1 振蕩器停止 bit7=0,24 小時模式WP: 寫保護位 寄存器2 的第5 位:AM/PM 定義WP=0 寄存器數(shù)據(jù)能

10、夠?qū)懭?AP=1 下午模式WP=1 寄存器數(shù)據(jù)不能寫入 AP=0 上午模式TCS: 涓流充電選擇 DS: 二極管選擇位TCS=1010 使能涓流充電 DS=01 選擇一個二極管TCS=其它 禁止涓流充電 DS=10 選擇兩個二極管DS=00 或11, 即使TCS=1010, 充電功能也被禁止RS位電阻典型位00沒有沒有01R12K10R24K11R38K4. 系統(tǒng)軟件設(shè)計4.1 程序設(shè)計思路 總體程序主要有主程序,中斷定時程序,數(shù)碼管顯示程序,按鍵掃描程序,74HC595的讀寫程序,數(shù)據(jù)更新程序,蜂鳴器程序。 先數(shù)碼管顯示(中斷定時,當一秒時間到時,數(shù)碼管加一),當總按鍵按下時,計時停止,執(zhí)行

11、按鍵掃描程序,等待調(diào)時按鍵的按下,當有按鍵按下時,進行相應(yīng)的改變,再次按下總按鍵,繼續(xù)顯示時間。特別再有按鍵按下時,蜂鳴器發(fā)聲。4.2 主要程序(1) 主函數(shù)void main()show();write_ds1302(0x84,0x12); /初始化write_ds1302(0x82,0x00);write_ds1302(0x80,0x00);while (1) set_rtc();read_rtc();display();(2) 顯示函數(shù)void display()/顯示時間函數(shù)unsigned int a=1;P2=0x01;P0=data_7seghour/16;delay(a);P2

12、=0x02;P0=data_7seghour%16;P0_7=0;delay(a);P2=0x04;P0=data_7segmin/16;delay(a);P2=0x08;P0=data_7segmin%16;P0_7=0;delay(a);P2=0x10;P0=data_7segsec/16;delay(a);P2=0x20;P0=data_7segsec%16;delay(a);4.3 流程圖開始設(shè)置初始值13.00.00自動顯示時間否判斷總按鍵是否按下是定時器關(guān)閉 否判斷其他按鍵是否按下是數(shù)碼管顯示值改變是否判斷總按鍵是否按下是5. 調(diào)試及仿真軟件運行效果和預(yù)期一致。6. 總結(jié) 通過此次

13、電子時鐘的設(shè)計,我對單片機又進行了復(fù)習(xí)與鞏固,在此過程中,也學(xué)到了新的知識,比如時鐘芯片的應(yīng)用。關(guān)于這次課程設(shè)計,首先鞏固一下課程理論,再一遍熟悉課程知識的構(gòu)架,然后結(jié)合加以理論分析、總結(jié),有了一個清晰的思路和一個完整的的軟件流程圖之后才著手設(shè)計。在設(shè)計程序時,我們不能妄想一次就將整個程序設(shè)計好,反復(fù)修改、不斷改進是程序設(shè)計的必經(jīng)之路;養(yǎng)成注釋程序的好習(xí)慣是非常必要的,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也能為資料的保存和交流提供了方便。除了對此次設(shè)計的準備工作之外,我們還學(xué)到了很多平時難得的東西,首先是團隊協(xié)作,在這次設(shè)計當中,難免和同學(xué)產(chǎn)生觀點和意見的分

14、歧,以及分工明細、時間安排等不合理,通過這次設(shè)計,我們體會到了團結(jié)合作的重要性及力量之強大,還有讓我們處理事情更加有條理,思路更加清晰明了了,發(fā)現(xiàn)、提出、分析、解決問題和實踐能力的提高都將受益于我在以后的學(xué)習(xí)、工作和生活中。此次的設(shè)計,其實也是我們所學(xué)知識的一次綜合運用,讓我深深的認識到了學(xué)習(xí)單片機要有一定的基礎(chǔ),要有電子技術(shù)方面的數(shù)字電路和模擬電路等方面的理論基礎(chǔ),特別是數(shù)字電路;也要有編程語言的匯編語言或C語言。要想成為單片機高手,我們首先要學(xué)好匯編語言,然后轉(zhuǎn)入C語言學(xué)習(xí),所以我們不能學(xué)到后面就忘了前面的知識,更應(yīng)該將所學(xué)的知識緊緊的結(jié)合在一起,綜合運用,所謂設(shè)計,就是要求創(chuàng)新,只有將知

15、識綜合運用起來才能真正的設(shè)計好。7. 致謝課程設(shè)計是培養(yǎng)我們工作能力的一個實踐性的學(xué)習(xí)環(huán)節(jié)。它不但是我們在大學(xué)學(xué)習(xí)中所學(xué)知識的一次綜合復(fù)習(xí)與考查,同時也是理論聯(lián)系實際的一個過程,為以后從事專業(yè)技術(shù)工作的一次準備。 通過此次課程設(shè)計,培養(yǎng)了我綜合運用所學(xué)的基礎(chǔ)理論課、技術(shù)基礎(chǔ)課、專業(yè)課的知識和實踐技能去分析和解決實際工作中的一般工程技術(shù)問題的能力,使我建立了正確的設(shè)計思想,學(xué)會了如何把平時所學(xué)的理論知識運用到實踐當中去。掌握了單片機的數(shù)字時鐘設(shè)計的一般程序、規(guī)范和方法,并進一步鞏固、擴大和深化了我所學(xué)的基本理論,基本知識和基本技能,提高了我設(shè)計計算、計算機制圖、設(shè)計說明書、正確使用技術(shù)資料,標準

16、手冊等工具書的能力。 在課程設(shè)計的過程中,雖然本人在指導(dǎo)老師的幫助下對所設(shè)計的問題有初步的了解。但由于本人缺少實際工作經(jīng)驗,遇到了一些設(shè)計和實際制作中的問題,受到同學(xué)和指導(dǎo)老師的指導(dǎo)與幫助,從而得到了全面的解決同時也受到各位老師優(yōu)良工作作風(fēng)的影響,培養(yǎng)了我嚴肅認真、一絲不茍和實事求是的工作作風(fēng),并樹立了正確的生產(chǎn)觀、經(jīng)濟觀和全局觀。 在設(shè)計中,由于個人能力有限,設(shè)計中漏洞和錯誤在所難免,敬請各位老師指正批評,以使我對自己的不足得到及時發(fā)現(xiàn)并修正。 通過此次畢業(yè)設(shè)計,希望能把所學(xué)的知識有機的聯(lián)系起來,培養(yǎng)自己分析問題,解決問題的能力,為充實自己,并在未來工作崗位上好好工作打下堅實的基礎(chǔ)。 在這里

17、,向在這次課程設(shè)計中給予過幫助我的老師表示衷心的謝意。8. 附件源程序#include #include #define uchar unsigned char#define uint unsigned intuchar data_7seg10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar hour,min,sec;sbit shi=P10;sbit fen=P11;sbit miao=P12;sbit P1_3=P13;sbit rst=P14;sbit sck=P15;sbit io=P16;sbit fm=P17;sbit

18、 P0_7=P07;/*函數(shù)聲明:*/void write_ds1302_byte(uchar dat);void write_ds1302(uchar add,uchar dat);uchar read_ds1302(uchar add);void read_rtc();void set_rtc();void display();void delay(int n);void show();void main()show();write_ds1302(0x84,0x13); /初始化write_ds1302(0x82,0x00);write_ds1302(0x80,0x00);while (1

19、) set_rtc();read_rtc();display();/*DS1302單字節(jié)寫入:*/void write_ds1302_byte(uchar dat)uchar i;for (i=0;i1;sck=1;/*DS1302多字節(jié)寫入:*/void write_ds1302(uchar add,uchar dat)rst=0;_nop_();sck=0;_nop_();rst=1;_nop_();write_ds1302_byte(add);write_ds1302_byte(dat);rst=0;_nop_();io=1;sck=1;/*DS1302讀?。?/uchar read_d

20、s1302(uchar add)uchar i,value;rst=0;_nop_();sck=0;_nop_();rst=1;_nop_();write_ds1302_byte(add);for (i=0;i1;sck=0;if (io) value=value|0x80;sck=1;rst=0;_nop_();sck=0;_nop_();sck=1;io=1;return value;void set_rtc() /調(diào)整時間 if(P1_3=0) rst=0;/if (shi=0) delay(100);if (shi=0)hour=(hour4)*10+(hour&0x0f);hour+;if (hour=24) hour=0;hour=(hour/10)4)*10+(min&0x0f);min+;if (min=60) min=0;min=(min

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論