多功能數(shù)字鐘的設計--電子技術課程設計.doc

上傳人:good****022 文檔編號:116605813 上傳時間:2022-07-06 格式:DOC 頁數(shù):22 大?。?47.23KB
收藏 版權申訴 舉報 下載
多功能數(shù)字鐘的設計--電子技術課程設計.doc_第1頁
第1頁 / 共22頁
多功能數(shù)字鐘的設計--電子技術課程設計.doc_第2頁
第2頁 / 共22頁
多功能數(shù)字鐘的設計--電子技術課程設計.doc_第3頁
第3頁 / 共22頁

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

15 積分

下載資源

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

資源描述:

《多功能數(shù)字鐘的設計--電子技術課程設計.doc》由會員分享,可在線閱讀,更多相關《多功能數(shù)字鐘的設計--電子技術課程設計.doc(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、電子技術課程設計題目名稱:多功能數(shù)字鐘的設計 班 級: 學 號: 姓 名: 指導教師: 日 期: 二零一五年六月二十日 多功能數(shù)字鐘的設計一、 設計任務及要求設計任務:設計一個多功能的數(shù)字鐘。設計要求:內容要求: 說明設計題目及要求。 剖析題目并提出設計構想。 提出設計實現(xiàn)方案。 根據(jù)確定的設計方案進行細致構思和實現(xiàn)。畫出總體原理圖。 對總體原理圖進行深入剖析及定量計算,詳盡說明各部分電路的原理并求出必要的參數(shù)值。 對電路進行仿真,給出仿真結果。 對本次課程設計進行總結1以數(shù)字形式顯示時、分、秒的時間。2小時的計時要求為24進制,分鐘和秒的計時要求為60進制。3能手動快速校時、校分。4具有整點

2、報時功能。5. 具有秒表計數(shù)功能。6. 具有鬧鐘功能。7. 電路中所需的直流電源需自行設計。整體設計及原理框圖整體設計: 本實驗為多功能數(shù)字鐘的設計,小時為24進制,分鐘和秒為60進制,具有校時校分,整點報時,秒表計數(shù),鬧鐘功能,數(shù)字以液晶屏顯示出來。時鐘秒分鐘小時的產生,10ms信號,計100次夠1s,夠60s計分鐘,夠60分鐘小時,夠24小時清零。以ms定義毫秒,以s定義秒,m定義分鐘,h定義小時。鬧鐘設計的小時與分鐘與定時器的小時和分鐘返回單片機進行比較,如果相等則傳給蜂鳴器,蜂鳴器響,不相等則不執(zhí)行,修改時間有單片機檢測按鍵來進行時間的修改。秒表由單片機給秒表信號開始計數(shù)每10ms顯示

3、一次。設計的讀取和指令的發(fā)出都由單片機來實現(xiàn)。數(shù)字時鐘功能齊全,而且操作方便,符合現(xiàn)實要求。原理框圖: ms定義 s定義秒 m定義分鐘 h定義小時定時器 產生10ms 1s 60s 1h 24小時清零 比較是否相等 清零 比較是否相等 單片機 液晶屏 清零秒表 10ms 1s 60s 1h 24小時清零 相 等 清零鬧鐘 小時 分鐘 按鍵 蜂鳴器二、 各模塊設計原理時鐘信號的產生51單片機定時器T0原理:定時器/計數(shù)器簡稱定時器,其作用主要包括產生各種時標間隔、記錄外部事件的數(shù)量等,是微機中最常用、最基本的部件之一。803l單片機有2個16位的定時器/計數(shù)器:定時器0(T0)和定時器1(T1)

4、。 T0由2個定時寄存器TH0和TL0構成,T1則由TH1和TL1構成,它們都分別映射在特殊功能寄存器中,從而可以通過對特殊功能寄存器中這些寄存器的讀寫來實現(xiàn)對這兩個定時器的操作。作定時器時,每一個機器周期定時寄存器自動加l,所以定時器也可看作是計量機器周期的計數(shù)器。由于每個機器周期為12個時鐘振蕩周期,所以定時的分辨率是時鐘振蕩頻率的1/12。作計數(shù)器時,只要在單片機外部引腳T0(或T1)有從1到0電平的負跳變,計數(shù)器就自動加1。計數(shù)的最高頻率一般為振蕩頻率的l/24。工作方式:T0或T1無論用作定時器或計數(shù)器都有4種工作方式:方式0、方式1、方式2和方式3。除方式3外,T0和T1有完全相同

5、的工作狀態(tài)。下面以T1為例,分述各種工作方式的特點和用法。工作方式0:13位方式由TL1的低5位和TH1的8位構成13位計數(shù)器(TL1的高3位無效)。工作方式0的結構見下圖:圖中,C/T為定時/計數(shù)選擇:C/T=0,T1為定時器,定時信號為振蕩周期12分頻后的脈沖;C/T=l,T1為計數(shù)器,計數(shù)信號來自引腳T1的外部信號。定時器T1能否啟動工作,還受到了R1、GATE和引腳信號INT1的控制。由圖中的邏輯電路可知,當GATE=0時,只要TR1=1就可打開控制門,使定時器工作;當GATE=1時,只有TR1=1且INT1=1,才可打開控制門。GATE,TR1,C/T的狀態(tài)選擇由定時器的控制寄存器T

6、MOD,TCON中相應位狀態(tài)確定,INT1則是外部引腳上的信號。在一般的應用中,通常使GATE=0,從而由TRl的狀態(tài)控制Tl的開閉:TRl=1,打開T1;TRl=0,關閉T1。在特殊的應用場合,例如利用定時器測量接于INT1引腳上的外部脈沖高電平的寬度時,可使GATE=1,TRl=1。當外部脈沖出現(xiàn)上升沿,亦即INT1由0變1電平時,啟動T1定時,測量開始;一旦外部脈沖出現(xiàn)下降沿,亦即INT1由l變O時就關閉了T1。定時器啟動后,定時或計數(shù)脈沖加到TLl的低5位,從預先設置的初值(時間常數(shù))開始不斷增1。TL1計滿后,向THl進位。當TL1和THl都計滿之后,置位T1的定時器回零標志TFl,

7、以此表明定時時間或計數(shù)次數(shù)已到,以供查詢或在打開中斷的條件下,可向CPU請求中斷。如需進一步定時/計數(shù),需用指令重置時間常數(shù)。時鐘的秒,分鐘,小時的產生模塊:10ms計100次夠1s,夠60s計分鐘,夠60分鐘小時,夠24小時清零。秒表:單片機給秒表信號,從零開始計數(shù),從10ms開始顯示,10ms計100次夠1s,夠60s計分鐘,夠60分鐘小時,夠24小時清零。鬧鐘的設定模塊:設置鬧鐘變量,單片機檢測按鍵,通過鬧鐘變量給小時,分鐘賦值。修改時間模塊:通過單片機檢測按鍵來給時鐘小時分鐘進行修改,并且不改變鬧鐘設定的時間。按鍵控制模塊:單片機對按鍵掃描,當檢測到按鍵的變化時執(zhí)行相應操作。一共有三個

8、按鍵和兩個開關??傮w電路設計圖設計程序:#include#define uchar unsigned char #define uint unsigned int#define dataport P2 /1602數(shù)據(jù)端sbit rs=P17; /寫命令數(shù)據(jù)控制端 sbit lcden=P15; /1602使能端sbit hadd=P16;sbit madd=P14;sbit jishi=P13;sbit turn=P12;sbit sounder=P11;uchar h=10,m,s_1,count,count_1,ms,flag,h_1,m_1,s_2,ms_1,h_2,m_2,s_3,ms

9、_2,flag_1=3,ms_3,m_3,s_4,h_3,nm,nh;code char C110=0123456789;/定義一個數(shù)組用來裝載本實驗所需要的十進制數(shù)字code unsigned char C2=00:00:00:00;code char name6=M:PYAN;void delay(us); /延時子函數(shù)void write_com(uchar com);void write_data(uchar dat);void jishi_1();void init1602()write_com(0 x38);/顯示模式設置write_com(0 x08);/顯示打開write_co

10、m(0 x01);/顯示清屏write_com(0 x06);/顯示光標移動設置write_com(0 x0c);/顯示開及光標設置void delay(us)unsigned int j;while(us-)for(j=80;j0;j-);void shijian()write_com(0 x80+0X40);write_data(C1h/10);write_com(0 x80+0X41);write_data(C1h%10);write_com(0 x80+0X42);write_data(:);write_com(0 x80+0X43);write_data(C1m/10);write_

11、com(0 x80+0X44);write_data(C1m%10);write_com(0 x80+0X45);write_data(:);write_com(0 x80+0X46);write_data(C1s_1/10);write_com(0 x80+0X47);write_data(C1s_1%10);void jishi_1()write_com(0 x80);write_data(C1h_1/10);write_com(0 x80+0X01);write_data(C1h_1%10);write_com(0 x80+0X02);write_data(:);write_com(0

12、x80+0X03);write_data(C1m_1/10);write_com(0 x80+0X04);write_data(C1m_1%10);write_com(0 x80+0X05);write_data(:);write_com(0 x80+0X06);write_data(C1s_2/10);write_com(0 x80+0X07);write_data(C1s_2%10);write_com(0 x80+0X08);write_data(:);write_com(0 x80+0X09);write_data(C1ms_1/10);write_com(0 x80+0X0a);wr

13、ite_data(C1ms_1%10);void jishi_3()write_com(0 x80);write_data(C1h_3/10);write_com(0 x80+0X01);write_data(C1h_3%10);write_com(0 x80+0X02);write_data(:);write_com(0 x80+0X03);write_data(C1m_3/10);write_com(0 x80+0X04);write_data(C1m_3%10);write_com(0 x80+0X05);write_data(:);write_com(0 x80+0X06);write

14、_data(C1s_4/10);write_com(0 x80+0X07);write_data(C1s_4%10);write_com(0 x80+0X08);write_data(:);write_com(0 x80+0X09);write_data(C1ms_3/10);write_com(0 x80+0X0a);write_data(C1ms_3/10); void jishi_2()write_com(0 x80);write_data(C1h_2/10);write_com(0 x80+0X01);write_data(C1h_2%10);write_com(0 x80+0X02)

15、;write_data(:);write_com(0 x80+0X03);write_data(C1m_2/10);write_com(0 x80+0X04);write_data(C1m_2%10);write_com(0 x80+0X05);write_data(:);write_com(0 x80+0X06);write_data(C1s_3/10);write_com(0 x80+0X07);write_data(C1s_3%10);write_com(0 x80+0X08);write_data(:);write_com(0 x80+0X09);write_data(C1ms_2/1

16、0);write_com(0 x80+0X0a);write_data(C1ms_2%10); void play_nz()/鬧鐘函數(shù)write_com(0 x80+0X49);write_data(N);write_com(0 x80+0X4A);write_data(:);write_com(0 x80+0X4B);write_data(C1nh/10);write_com(0 x80+0X4C);write_data(C1nh%10);write_com(0 x80+0X4D);write_data(-);write_com(0 x80+0X4E);write_data(C1nm/10)

17、;write_com(0 x80+0X4F);write_data(C1nm%10);void nz()if(nm=m&nh=h)sounder=0;delay(100);delay(100);sounder=1;/*/*寫數(shù)據(jù)函數(shù)*/void write_data(uchar dat)rs=1; /選擇寫數(shù)據(jù)lcden=0;P2=dat;lcden=1;delay(1);lcden=0;/*/*寫命令*/void write_com(uchar com)/寫命令子函數(shù)rs=0; /為0則為寫命令,為1則為寫數(shù)據(jù)lcden=0;P2=com;lcden=1;delay(1);lcden=0;v

18、oid init()TMOD=0X01; /定時器0的工作方式1TH0 = 0 x0FF; TL0 = 0 x9C; /初始化計數(shù)器值TR0=1; /定時器0的中斷控制位EA=1;ET0=1; /定時器0的中斷控制位IE0=1; /EX0=1; /外部中斷0的標志位IT0=1; /外部中斷0的方式選擇位,本實驗選擇底電平觸發(fā) /開啟總中斷init1602();void zhengdian()if(m=0&s_1=0)sounder=0;delay(100);sounder=1;delay(100);sounder=0;delay(100);sounder=1;delay(100);sounde

19、r=0;delay(100);sounder=1;delay(100);void keyscan_1()if(jishi=1)/init_jishi();h_3=0;m_3=0;s_4=0;ms_3=0;jishi_3();elseif(flag=0)jishi_2();if(flag=1)jishi_1(); void keyscan_2() if(turn=0) /修改時間 if(hadd=0)while(!hadd);h+;if(h=24)h=0;if(madd=0)while(!madd);m+;if(m=60)m=0;if(turn=1) /設置鬧鐘if(hadd=0)while(!

20、hadd);nh+;if(nh=24)nh=0;if(madd=0)while(!madd);nm+;if(nm=60)nm=0;void student_name()uchar i;write_com(0 x80+0 x0b);/選擇顯示的地址for(i=0;i=24)h=0;if(ms_1=100)ms_1=0;s_2+;if(s_2=60) /減到0之后停止s_2=0;m_1+;if(m_1=60)m_1=0;h_1+;if(h_1=24)h_1=0;void I0_test() interrupt 0if(flag=1)h_2=h_1;m_2=m_1;s_3=s_2;ms_2=ms_1

21、;if(flag=0)h_1=0;m_1=0;s_2=0;ms_1=0;flag=!flag; 三、 電路仿真液晶屏的工作:1602LCD內置HD44780專用液晶顯示控制器,分為帶背光和不帶背光兩種,帶背光的比不帶背光的厚,在應用中并無差別。顯示容量為16*2個字符。芯片工作電壓:4.5-5.5V:最佳工作電壓為5V。工作電流:2.0mA。各引腳功能:VSS:電源地 VDD:電源正極 VEE:液晶顯示偏壓,為對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高會產生鬼影,使用時可以通過一個10k的電位器調整對比度。 RS:數(shù)據(jù)/命令選擇信號,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指

22、令寄存器。 RW:讀/寫控制信號,高電平時進行讀操作,低電平時進行寫操作。 E:使能端,為1時讀取信息,當E端由高電平跳變成低電平時液晶模塊執(zhí)行命令。 D0D7:8位雙向數(shù)據(jù)線 BLA:背光源正極 BLK:背光源負極。仿真后從十點開始計時。閉合開關開始調節(jié)時間。(上面按鍵調節(jié)分鐘,下面按鍵調節(jié)小時)。調節(jié)后時間顯示,與當時時間一致。鬧鐘的調節(jié)斷開開關調節(jié)鬧鐘,上面按鍵調節(jié)分鐘,下面按鍵調節(jié)小時,調節(jié)鬧鐘到12點。當鬧鐘時間與顯示時間一致時,蜂鳴器響,響鈴時間為一分鐘蜂鳴器的工作原理(蜂鳴器)秒表計時右邊開關閉合,左邊按鍵按下開始計時,再次按下左邊按鍵暫停,右邊開關斷開這計時清零。重復開始操作則

23、可重新計時。四、 設計心得及體會本次數(shù)數(shù)字時鐘的設計過程比較漫長,主要是設計功能較多,有些功能的設計遇到不少難題,主要是秒表的設計,通過查閱資料,最終也是解決。本次設計主要運用到了單片機和1602液晶顯示屏來實現(xiàn)數(shù)字時鐘計時,校準,鬧鐘,秒表等功能。這次電子設計收獲很多,主要是對單片機和電子設計有了更深的了解,本次也不是第一次使用protues進行仿真,所以進展還比較順利,最終成功實現(xiàn)報告所要求的全部內容,也是非常的欣慰。單片機的設計一直是個難題,因為沒有專門上過這方面的課程,許多東西只能自學和請教學習過的同學,可以說是費了很多心思。其實設計中,較大的問題是程序的編寫,平常很少實現(xiàn)這么多功能的

24、設計,所以c語言編程也相應比較復雜,重新參考了c語言程序設計和相應資料,程序長所以中間出現(xiàn)錯誤也很多,有些是疏忽造成,有些是語法錯誤,所以修改了較長時間。費的心思越多,學的也越多,學到這里,我也體會到單片機的強大和重要性,在以后的學習中一定要多多練習,更多的使用和了解其功能,做出更好更強大的設計。參考文獻:1康華光.電子技術基礎 高等教育出版社 出版日期:2006.1(2014.1重?。?吳建國、張彥.數(shù)字電子技術 華中科技大學出版社 出版日期:2010.8 3孫煥銘、趙會成、王金 51單片機C程序應用實例講解 北京航空航天大學出版社 出版日期:2011.3 4譚浩強 C程序設計 清華大學出版社 出版日期:2010.6(2013.11重?。?李亮 51單片機定時器/計數(shù)器的結構和原理 電氣自動化技術網(wǎng) 時間2013-03-03 6網(wǎng)址http:/ 1602液晶顯示原理

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

相關資源

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

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

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


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