

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 電力電子 課程設(shè)計說明書</p><p> 設(shè)計題目: 數(shù)字彩屏萬年歷 </p><p> 專 業(yè): 電卓03班 </p><p> 年 級: 2010級
2、 </p><p> 學(xué) 號: *** </p><p> 姓 名:*** </p><p> 指導(dǎo)教師: *** </p><p> 2013 年 1 月 </p&g
3、t;<p><b> 摘要:</b></p><p> 隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路出現(xiàn),給人類生活帶來了根本性的改變。單片機技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進(jìn)了千家萬戶。電子萬年歷的出現(xiàn)給人們的生活帶來的諸多方便。</p><p> 本設(shè)計是基于51系列的單片機進(jìn)行的電子萬年歷設(shè)計,采用TFT彩屏顯示年月日時分秒,具有可調(diào)整時間,設(shè)置鬧鈴,
4、和整點報時功能。時間調(diào)整由三個按鍵來實現(xiàn),日歷能顯示年,月,日以及星期、時、分、秒。設(shè)計以STC89C52單片機為核心,構(gòu)成單片機控制電路;以DS1302時鐘芯片作為萬年歷信號發(fā)生器;</p><p> Abstract:”</p><p> With the rapid development of electronic technology, especially with lar
5、ge scale integrated circuit appear, to human life brought the fundamental change. Single chip microcomputer application products have already walked into thousands of families. The emergence of electronic calendar to the
6、 life of people bring many convenient.</p><p> This design is based on the single chip microcomputer 51 series of electronic calendar designs, adopting the TFT color display date determined when, has may ad
7、just the time, set the alarm, and integral point to announce the function. Time to adjust by three pressing buttons, calendar can indicate that year, month, day and week, when, minutes and seconds. Design with STC89C52 s
8、ingle-chip microcomputer as the core, to form a single chip microcomputer control circuit; To DS1302 clock chip as calend</p><p> 關(guān)鍵詞:可調(diào)萬年歷;單片機;時鐘芯片DS1302;TFT彩屏</p><p> Keywords: </p>&
9、lt;p> adjustable calendar; Single chip microcomputer; The clock chip DS1302; TFT colour screens</p><p><b> 目 錄</b></p><p> 1、系統(tǒng)概述及方法論證5</p><p> 1.1 系統(tǒng)概述5<
10、;/p><p> 1.2 系統(tǒng)基本方案選擇和論證5</p><p> 1.2.1單片機芯片的選擇方案和論證:5</p><p> 1.2.2 時鐘芯片的選擇方案和論證:6</p><p> 1.3 電路設(shè)計最終方案決定6</p><p> 2、系統(tǒng)的硬件設(shè)計與實現(xiàn)7</p><p&g
11、t; 2.1 電路設(shè)計框圖7</p><p> 2.2 系統(tǒng)核心控制部分7</p><p> 2.2.1 STC89C52RC芯片介紹7</p><p> 2.2.2 STC89C52RC連接電路圖8</p><p> 2.3 DS1302時鐘電路8</p><p> 2.3.1 DS1302芯片
12、介紹8</p><p> 2.3.2 DS1302引腳說明9</p><p> 2.3.3 DS1302連接電路圖10</p><p><b> 3、系統(tǒng)程序設(shè)計</b></p><p><b> 4、作品總結(jié)</b></p><p><b> 參
13、考文獻(xiàn)</b></p><p><b> 附錄1 實物圖片</b></p><p><b> 附錄2程序</b></p><p> 1、系統(tǒng)概述及方法論證</p><p><b> 1.1 系統(tǒng)概述</b></p><p>
14、本電子萬年歷采用單片機控制技術(shù)和TFT顯示方案,可以很好的完成萬年歷顯示。時間、日期調(diào)整由三個按鍵來實現(xiàn),并可對鬧鈴開關(guān)進(jìn)行設(shè)置。日歷能顯示年、月、日以及星期、時、分、秒。</p><p><b> 任務(wù)要求:</b></p><p> ?。?)設(shè)計一個能直接顯示時、分、秒的數(shù)字電子鐘。為24進(jìn)制。</p><p> ?。?)設(shè)計?!睍r”、校
15、”分”電路;</p><p> ?。?) ①設(shè)計24小時整點報時控制電路,要求從59分50秒開始,每2秒鐘響一聲,共響5次;每響一次聲音持續(xù)0.5秒。 ②要求只在6:00-22:00之間整點報時,23:00-5:00之間整點不報時。</p><p> (4) 設(shè)計任意幾點幾分可響鈴的鬧鐘控制電路,可提前停止響鈴;</p><p> 注:上述功能全部實現(xiàn),由于按鍵
16、不夠,上述第4條要求提前停止響鈴未實現(xiàn)。</p><p><b> 使用說明:</b></p><p> 1.先按設(shè)置鍵,長按不放,在按其他設(shè)置鍵不放;</p><p> 2.例如:設(shè)置鬧鐘,先按住設(shè)置鍵,在按住鬧鐘的時鐘或分鐘設(shè)置鍵不放,即可調(diào)時間;</p><p> 1.2 系統(tǒng)基本方案選擇和論證</p
17、><p> 1.2.1 時鐘芯片的選擇方案和論證:</p><p><b> 方案一:</b></p><p> 直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大。所以不采用此方案。</p><p><b>
18、 方案二:</b></p><p> 采用DS1302時鐘芯片實現(xiàn)時鐘,DS1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補償?shù)哪赀M(jìn)行計數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V~5.5V范圍內(nèi),2.5V時耗電小于300nA,所以本設(shè)計采用了這種芯片。</p><p> 1.2.2 顯示模塊的選擇方案和論證:</p>
19、;<p><b> 方案一:</b></p><p> 采用1602液晶屏顯示,1602的價格與128*128的彩屏價格相當(dāng),但顯示效果與TFT彩屏無法相比擬。網(wǎng)購128*128TFT彩屏,30元;1602模塊10塊左右;</p><p><b> 方案二:</b></p><p> 采用128*12
20、8彩屏顯示,TFT彩屏較1602液晶來說相對復(fù)雜,但廠商已經(jīng)提供GUI函數(shù),GUI函數(shù)調(diào)用相對簡單,用戶不需接近底層去寫相關(guān)驅(qū)動程序。而且可以在字庫中加入所需漢字,在彩屏上顯示漢字,更能直觀的顯示相關(guān)的內(nèi)容。且128*128的彩屏大小足夠顯示相關(guān)的時間內(nèi)容,非常直觀,價格與1602相當(dāng)。所以選用方案二</p><p> 1.3 電路設(shè)計最終方案決定</p><p> 綜上各方案所述,對
21、此次作品的方案選定: 采用AT89S52作為主控制系統(tǒng); DS1302提供時鐘;128*128TFT彩屏作為顯示。</p><p><b> 電路設(shè)計</b></p><p> 2.1 電路設(shè)計框圖</p><p> 2.2 系統(tǒng)核心控制部分</p><p> 2.2.1 STC89C52RC芯片介紹</p
22、><p> STC89C52RC/RD+系列單片機是宏晶科技推出的新一代超強抗干擾/高速/低功耗的單片機,指令代碼完全兼容傳統(tǒng)8051單片機。</p><p> 圖2.1 STC89C52RC引腳功能圖</p><p> 2.2.2 STC89C52RC連接電路圖</p><p> 圖2.2 單片機與外圍連接圖</p>&l
23、t;p> 2.3 DS1302時鐘電路</p><p> 2.3.1 DS1302芯片介紹</p><p> DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進(jìn)行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。
24、DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進(jìn)行涓細(xì)電流充電的能力。</p><p> 2.3.2 DS1302引腳說明</p><p> 圖2.3 DS1302引腳封裝圖</p><p> DS1302的引腳排列,
25、其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令
26、序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說明。SCLK為時鐘輸入端。</p><
27、p> 2.3.3 DS1302連接電路圖</p><p> 圖2.4 DS1302連接圖</p><p> 2.3.4 128*128TFT彩屏連接電路圖</p><p> 調(diào)用TFT大量的GUI函數(shù),由于GUI函數(shù)比較復(fù)雜,在一下的個程序均不列出。</p><p><b> 常用顏色碼表:</b>
28、</p><p> 紅:0xf800,黃0xffe0,綠色0x07e0,青 0x07ff,藍(lán)色,0x001f 紫色,0xf81f</p><p><b> 3、系統(tǒng)測試</b></p><p> 128*128TFT彩屏顯示了相關(guān)的內(nèi)容符合設(shè)計要求,鬧鈴,調(diào)時功能已經(jīng)實現(xiàn).</p><p><b> ?。?/p>
29、顯示效果圖)</b></p><p><b> 4、作品總結(jié):</b></p><p> 在整個設(shè)計過程中,充分發(fā)揮人的主觀能動性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識。較好的完成了作品。達(dá)到了預(yù)期的目的,在最初的設(shè)計中,相互學(xué)習(xí)、相互討論、研究。完了最初的設(shè)想。在電路焊接時雖然沒什么大問題,但從中也知道了焊接在整個作品中的重要性,電路工程量大,不能心急,
30、一個個慢慢來不能急于求成。反而達(dá)到事半功倍的效果。對電路的設(shè)計、布局要先有一個好的構(gòu)思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開始時遇到了很多的問題,經(jīng)過靜下心來思考,理清了思路,反而得心應(yīng)手。在此次設(shè)計中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我們的耐心,做什么事都在有耐心。此次設(shè)計中學(xué)到了很多很多東西,這是最重要的。</p><p><b> 參考文獻(xiàn):&
31、lt;/b></p><p> 1.精通Protel DXP 2004電路設(shè)計,電子工業(yè)出版社,2006.8</p><p> 2.何立民,單片機高級教程:應(yīng)用與設(shè)計,北京航空航天大學(xué)出版社,2007.</p><p> 3.楊子文 編 單片機原理及應(yīng)用 西安電子科技大學(xué)出版社 2006</p><p> 4.王法能 編 單片機
32、原理及應(yīng)用 科學(xué)出版社 2004</p><p> 5.陳明義. 電工電子技術(shù)課程設(shè)計指導(dǎo)[M]. 長沙:中南大學(xué)出版社,2002</p><p><b> 附錄1 實物圖片</b></p><p> 圖1 實物(含按鍵)</p><p><b> 圖2 顯示效果</b></p>
33、;<p><b> 圖3 PCB圖</b></p><p> 圖 4 protues仿真圖</p><p> 圖 5 Altium Designer 原理圖</p><p> 圖6 Altium Designer PCB圖</p><p><b> 附錄2 </b><
34、/p><p> .mian函數(shù)部分函數(shù)(由于函數(shù)過長僅是部分函數(shù))</p><p> 注:由于程序初始化DS1302,調(diào)時間等程序均不在列出,老師可以查看源程序。</p><p><b> 主程序</b></p><p> void main()</p><p><b> {&l
35、t;/b></p><p> LCD_Init( );</p><p> //Write_DS1302Init();</p><p> rect.xs = 5;//畫矩形的設(shè)置</p><p> rect.ys = 5;</p><p> rect.xe = 123;</p><
36、;p> rect.ye = 123;</p><p> rect.Color = 0xFF00;</p><p> line.xs = 5;//畫直線時的設(shè)置</p><p> line.xe = 123;</p><p> line.ys = 32;</p><p> line.ye = 32;
37、</p><p> line.Color = 0x001f;</p><p> GUI_DrawRectangle( &rect );</p><p> line.xs = 5;//畫直線時的設(shè)置</p><p> line.xe = 123;</p><p> line.ys = 33;<
38、/p><p> line.ye = 33;</p><p> line.Color = 0x001f;</p><p> GUI_DrawRectangle( &rect );</p><p> line.xs = 5;//畫直線時的設(shè)置</p><p> line.xe = 123;</p&g
39、t;<p> line.ys = 34;</p><p> line.ye = 34;</p><p> line.Color = 0x001f;</p><p> GUI_DrawRectangle( &rect );</p><p> line.xs = 5;//畫直線時的設(shè)置</p>&
40、lt;p> line.xe = 123;</p><p> line.ys = 35;</p><p> line.ye = 35;</p><p> line.Color = 0x001f;</p><p> GUI_Inital( 0xf81f );</p><p> GUI_DrawRectan
41、gle( &rect );</p><p> GUI_DrawLine( &line );</p><p> PutGB1616(20,10,"數(shù)",0xf800,0x7bef);</p><p> PutGB1616(40,10,"字",0xf800,0xffe0);</p><p&
42、gt; PutGB1616(60,10,"萬",0xf800,0x001f);</p><p> PutGB1616(80,10,"年",0xf800,0x07ff);</p><p> PutGB1616(100,10,"歷",0xf800,0x07e0);</p><p> PutGB1616(
43、85,60,"年",0x07ff,0x001f);</p><p> font.Height = 14;//字體的設(shè)置</p><p> font.Width = 7;</p><p> font.Color = 0x0000;</p><p> font.BackColor = 0xf81f;</p&g
44、t;<p> GUI_DisplayStr( 15, 43, &font, "By:" );</p><p> PutGB1616(10,60,"時",0xf800,0x7bef);</p><p> PutGB1616(30,60,"間",0xf800,0xffe0);</p><
45、p> PutGB1616(65,80,"月",0xf800,0xffe0);</p><p> PutGB1616(105,80,"日",0xf800,0xffe0);</p><p> GUI_DisplayStr( 46, 60, &font, ":20");</p><p> G
46、UI_DisplayStr( 25, 100, &font, "-" );</p><p> GUI_DisplayStr( 45, 100, &font, "-" );</p><p> PutGB1616(10,80,"日",0xf800,0xffe0);</p><p> Put
47、GB1616(30,80,"期",0xf800,0xffe0);</p><p><b> while(1)</b></p><p><b> {</b></p><p> Run_DS1302();</p><p><b> }</b></p
48、><p><b> }</b></p><p> 2.1 設(shè)置鬧鈴部分</p><p> //****************************************************************</p><p> // 設(shè)置鬧鈴工作 </p><p>&
49、lt;b> laba =1;</b></p><p> if(hour==naohour&&min==naomin)</p><p><b> {</b></p><p> if((sec==0||2==sec||4==sec||sec==6||sec==8))</p><p>
50、<b> {</b></p><p> //鬧鈴響時,關(guān)閉程序 </p><p> if(0==naolingshi&&0==naolingfen)</p><p><b> {</b></p><p><b> delay(5);</b></
51、p><p> if(0==naolingshi&&0==naolingfen) laba = 1;</p><p><b> } </b></p><p> //鬧鈴響時關(guān)閉程序 </p><p> for(i=0;i<220;i++)</p><p><b&
52、gt; { </b></p><p> laba =~laba;</p><p><b> delay(1);</b></p><p><b> } </b></p><p><b> }</b></p><p><b>
53、 } </b></p><p> //*****************************調(diào)時間部分//********************************************</p><p> tiaotime = 1;</p><p> if(tiaotime==0)</p><p><b&
54、gt; {</b></p><p><b> delay(5);</b></p><p> if(tiaotime==0)</p><p><b> {</b></p><p> if(naolingshi==0) //鬧鈴設(shè)置小時s2</p><p>
55、;<b> { </b></p><p><b> delay(4);</b></p><p> if(naolingshi==0)</p><p><b> { </b></p><p> naohour++;</p><p> if(2
56、4==naohour) naohour = 0;</p><p> sethourshi = naohour / 10 % 10;</p><p> switch(sethourshi)</p><p><b> {</b></p><p> case 0:GUI_DisplayStr( 80, 40, &am
57、p;font, "0" );break;</p><p> case 1:GUI_DisplayStr( 80, 40, &font, "1" );break;</p><p> case 2:GUI_DisplayStr( 80, 40, &font, "2" );break;</p>&
58、lt;p><b> }</b></p><p> sethourge = naohour % 10;</p><p> switch(sethourge)</p><p><b> {</b></p><p> case 0:GUI_DisplayStr( 90, 40, &
59、font, "0" );break;</p><p> case 1:GUI_DisplayStr( 90, 40, &font, "1" );break;</p><p> case 2:GUI_DisplayStr( 90, 40, &font, "2" );break;</p><
60、;p> case 3:GUI_DisplayStr( 90, 40, &font, "3" );break;</p><p> case 4:GUI_DisplayStr( 90, 40, &font, "4" );break;</p><p> case 5:GUI_DisplayStr( 90, 40, &
61、font, "5" );break;</p><p> case 6:GUI_DisplayStr( 90, 40, &font, "6" );break;</p><p> case 7:GUI_DisplayStr( 90, 40, &font, "7" );break;</p><
62、;p> case 8:GUI_DisplayStr( 90, 40, &font, "8" );break;</p><p> case 9:GUI_DisplayStr( 90, 40, &font, "9" );break;</p><p><b> } </b></p><
63、;p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> if(naolingfen==0) //調(diào)分鐘</p><p><b> { </b></p>&l
64、t;p><b> delay(4);</b></p><p> if(naolingfen==0)</p><p><b> {</b></p><p><b> { </b></p><p><b> naomin++;</b><
65、/p><p> if(60==naomin) naomin = 0;</p><p> setminge = naomin % 10 ;//個位</p><p> switch(setminge)</p><p><b> {</b></p><p> case 0:GUI_Display
66、Str( 110, 40, &font, "0" );break;</p><p> case 1:GUI_DisplayStr( 110, 40, &font, "1" );break;</p><p> case 2:GUI_DisplayStr( 110, 40, &font, "2" );
67、break;</p><p> case 3:GUI_DisplayStr( 110, 40, &font, "3" );break;</p><p> case 4:GUI_DisplayStr( 110, 40, &font, "4" );break;</p><p> case 5:GUI_Di
68、splayStr( 110, 40, &font, "5" );break;</p><p> case 6:GUI_DisplayStr( 110, 40, &font, "6" );break;</p><p> case 7:GUI_DisplayStr( 110, 40, &font, "7"
69、; );break;</p><p> case 8:GUI_DisplayStr( 110, 40, &font, "8" );break;</p><p> case 9:GUI_DisplayStr( 110, 40, &font, "9" );break;</p><p><b>
70、 } </b></p><p> setminshi = naomin / 10 % 10 ;//十位</p><p> switch(setminshi)</p><p><b> {</b></p><p> case 0:GUI_DisplayStr( 100, 40, &font, &
71、quot;0" );break;</p><p> case 1:GUI_DisplayStr( 100, 40, &font, "1" );break;</p><p> case 2:GUI_DisplayStr( 100, 40, &font, "2" );break;</p><p>
72、; case 3:GUI_DisplayStr( 100, 40, &font, "3" );break;</p><p> case 4:GUI_DisplayStr( 100, 40, &font, "4" );break;</p><p> case 5:GUI_DisplayStr( 100, 40, &fo
73、nt, "5" );break;</p><p> case 6:GUI_DisplayStr( 100, 40, &font, "6" );break;</p><p> case 7:GUI_DisplayStr( 100, 40, &font, "7" );break;</p><
74、;p> case 8:GUI_DisplayStr( 100, 40, &font, "8" );break;</p><p> case 9:GUI_DisplayStr( 100, 40, &font, "9" );break;</p><p><b> } </b></p>&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 萬年歷課程設(shè)計--萬年歷電子時鐘
- 數(shù)字萬年歷課程設(shè)計
- 數(shù)字萬年歷課程設(shè)計報告
- 課程設(shè)計報告--電子萬年歷
- 電子萬年歷課程設(shè)計 (2)
- proteus課程設(shè)計--電子萬年歷
- 電子萬年歷課程設(shè)計報告
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 萬年歷課程設(shè)計
- 多功能數(shù)字萬年歷課程設(shè)計
- 通信技術(shù)課程設(shè)計--電子萬年歷的設(shè)計與制作
- c語音電子萬年歷課程設(shè)計
- 多功能電子萬年歷課程設(shè)計
- java萬年歷課程設(shè)計
- 萬年歷課程設(shè)計報告
評論
0/150
提交評論