基于單片機(jī)STC89C516RD+的電子鐘設(shè)計(jì)_第1頁(yè)
基于單片機(jī)STC89C516RD+的電子鐘設(shè)計(jì)_第2頁(yè)
基于單片機(jī)STC89C516RD+的電子鐘設(shè)計(jì)_第3頁(yè)
基于單片機(jī)STC89C516RD+的電子鐘設(shè)計(jì)_第4頁(yè)
基于單片機(jī)STC89C516RD+的電子鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 基于STC89C516RD+的電子鐘設(shè)計(jì) 學(xué)院:電氣與電子工程學(xué)院 班級(jí): 姓名: = 學(xué)號(hào): 時(shí)間: 2015.06 目 錄1. 實(shí)驗(yàn)內(nèi)容及要求/012. 課題研究目的和意義及介紹./013. 設(shè)計(jì)思路及描述/024. 硬件設(shè)計(jì)./035. 軟件設(shè)計(jì)./066. 實(shí)驗(yàn)心得及體會(huì)/107. 總結(jié)./11一、 實(shí)驗(yàn)內(nèi)容及要求1. 實(shí)驗(yàn)內(nèi)容用STC89C516RD+設(shè)計(jì)一個(gè)用電子屏顯示的電子鐘,可以顯示年、月、日以及時(shí)、分、秒,且時(shí)間時(shí)時(shí)刻刻在變化,秒數(shù)每秒加一且可以進(jìn)行分鐘進(jìn)位小時(shí)進(jìn)位。另外該電子鐘還可以設(shè)置鬧鐘,鬧鐘到達(dá)指定時(shí)刻時(shí)便自動(dòng)進(jìn)行鬧鈴,間斷響鈴持續(xù)一分鐘后停止

2、,而在其過程中若是按下鍵盤上的#號(hào)鍵可以將鬧鐘關(guān)閉,不僅如此#號(hào)鍵就是鬧鐘的總開關(guān),按下一次鬧鐘關(guān)閉,再按一次鬧鐘開啟。對(duì)應(yīng)鍵盤上的*號(hào)鍵功能為設(shè)置鬧鐘,按下*號(hào)鍵再用鍵盤輸入四位數(shù)字如“0909”,9時(shí)9分就成為了電子鐘的鬧鈴時(shí)間。2. 實(shí)驗(yàn)要求了解89C51系列芯片的工作原理和工作方式,使用該種芯片對(duì)LCD數(shù)字顯示屏進(jìn)行顯示控制,實(shí)現(xiàn)用單片機(jī)的端口控制顯示屏,顯示時(shí)間年月日時(shí)分秒,并且能通過按鍵來(lái)設(shè)置一個(gè)鬧鐘,并可以控制開啟和關(guān)閉鬧鐘。要求選用定時(shí)器的工作方式,畫出使單片機(jī)控制LCD顯示屏的電路圖,并實(shí)現(xiàn)硬件電路,最后用軟件編程完成鬧鐘設(shè)置、鬧鐘提醒、鬧鐘開關(guān)功能。二、 課題研究目的和意義

3、及介紹1. 目的意義1) 通過本次課程設(shè)計(jì)加深對(duì)單片機(jī)課程的全面認(rèn)識(shí)復(fù)習(xí)和掌握,對(duì)單片機(jī)課程的應(yīng)用進(jìn)一步的了解。2) 掌握定時(shí)器、外部中斷的設(shè)置和編程原理。3) 通過此次課程設(shè)計(jì)能夠?qū)纹瑱C(jī)軟硬件結(jié)合起來(lái),對(duì)程序進(jìn)行編輯,校驗(yàn)。4) 該實(shí)驗(yàn)通過單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和計(jì)數(shù)原理,設(shè)計(jì)簡(jiǎn)單的電子鐘系統(tǒng),擁有精準(zhǔn)的時(shí)間顯示、設(shè)置鬧鐘、開關(guān)鬧鐘,在現(xiàn)實(shí)生活中應(yīng)用廣泛,具有現(xiàn)實(shí)意義。2. 單片機(jī)的簡(jiǎn)單介紹STC90C516RD+系列單片機(jī)是宏晶科技推出的新一代超高速/低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可任意選擇,內(nèi)部集成MAX810專用復(fù)位電路,

4、時(shí)鐘頻率在12MHz以下時(shí),復(fù)位腳可直接接地。其主要性能有: 1).增強(qiáng)型6 時(shí)鐘/ 機(jī)器周期,12 時(shí)鐘/ 機(jī)器周期 8051 CPU 2).工作電壓:5.5V - 3.8V(5V單片機(jī))/3.8V - 2.4V(3V 單片機(jī)) 3).工作頻率范圍:0-40MHz,相當(dāng)于普通8051的 080MHz. 4).用戶應(yīng)用程序空間 4K/6K/7K/8K/10K/12K/13K/16K/32K/40K/48K/56K/ 61K/字節(jié) 5).片上集成 1280字節(jié)/512/256字節(jié) RAM 6).共3個(gè)16位定時(shí)器/計(jì)數(shù)器,其中定時(shí)器0還

5、可以當(dāng)成2個(gè)8位定時(shí)器使用 7).外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒 8).工作溫度范圍:0-75/-40-+85 3. 實(shí)驗(yàn)儀器集成電路芯片STC90C516RD+,LCD顯示屏,PCF8583,ULN2003,有源蜂鳴器,矩陣按鍵;裝有KEIL軟件、STC_ISP軟件、漢字取模軟件的PC一臺(tái),能夠下載程序的單片機(jī)開發(fā)板一套。 三、 設(shè)計(jì)思路及描述 該設(shè)備各個(gè)模塊由STC89C516+鏈接,LCD顯示屏使能端由芯片的P1.0和P1.1引腳控制,時(shí)鐘計(jì)數(shù)PCF8583的SCL和SCA分別由P1.4和

6、P1.5控制,89C516+的P0.0到P0.7引腳連接矩陣按鍵模塊的CON10芯片進(jìn)而控制按鍵,P1.6P1.7控制蜂鳴器的啟動(dòng)。LCD顯示屏STC89C516+PCF8583計(jì)數(shù)矩陣按鍵蜂鳴器、LED四、 硬件設(shè)計(jì)1. LCD顯示屏LCD12232中VDD為邏輯電源正,V0為L(zhǎng)CD驅(qū)動(dòng)電源,RESET為復(fù)位端,E1E2為讀寫使能端,D0到D7為數(shù)據(jù)輸入輸出引腳。2. PCF8583PCF8583是PHILIPS公司制造的帶有256x8 bit RAM的8引腳時(shí)鐘芯片,具有兩線串行I2C中線接口,內(nèi)有振蕩上電復(fù)位電路,具有計(jì)時(shí)和中斷功能。該芯片1、2腳外接晶振,3腳邏輯正,4腳GND,5腳數(shù)

7、據(jù)線,6腳時(shí)鐘線,7腳中斷輸出,8腳VCC。3. 矩陣按鍵判斷鍵盤有無(wú)按鍵按下。首先將所有列線均置為低電平,然后檢查各行線電平是否都為高,若全為高則無(wú)按鍵按下,否則就有。識(shí)別哪個(gè)被按下。逐列掃描,即某時(shí)刻只讓一條列線為低電平,其他全為高,當(dāng)行列線全為低電平交叉處既是按下的按鍵。依據(jù)公式“鍵號(hào)=行首鍵號(hào)+列號(hào)”,計(jì)算按下鍵值的鍵號(hào),再根據(jù)此鍵號(hào)轉(zhuǎn)入相應(yīng)的處理程序。4. 蜂鳴器 芯片通過P0腳通過74HC574的D觸發(fā)器和ULN2003的反向放大器控制蜂鳴器的響起和停止。開始五、 軟件設(shè)計(jì)屏幕初始化循環(huán)對(duì)比不正確掃描鍵盤對(duì)比時(shí)間更新時(shí)間鬧鐘開關(guān)開 鬧鐘開關(guān)關(guān)按下*號(hào)鍵按下#號(hào)鍵響鈴對(duì)比正確掃描鍵盤

8、是否有輸入?按下#號(hào)鍵無(wú)存入中間數(shù)組響鈴中斷未完成有輸入完成?完成P(小時(shí))=(new0<<4)+new1Q(分鐘)=(new2<<4)+new3/*main函數(shù)*/#include "./配置/Config.h"unsigned char u=0;void main()unsigned char i;lcdinit();delay(3000);lcdinit();DIS_HZ(225,0,0); /上面一行顯示DIS_HZ(226,16,0);DIS_HZ(227,32,0);DIS_HZ(0,61,0);DIS_HZ(1,77,0); DIS_H

9、Z(218,93,0);setup_RTC( ); /寫入系統(tǒng)時(shí)間while(1) display_time(1); if(u=0) naozhong(); i = key(); /調(diào)用按鍵掃描 if(i=0x0a)&&(u=0)/#號(hào)鍵中斷響鈴 u=1; else if(i=0x0a)&&(u=1)/#號(hào)鍵開啟響鈴 u=0; if(i=0x0b) /*號(hào)設(shè)置 set();naozhong(); 0. 主函數(shù)意義是先初始化顯示屏,在顯示屏第一行顯示漢字“勞力士 歡迎你”,而后將系統(tǒng)時(shí)間寫入,再進(jìn)入死循環(huán)將當(dāng)前時(shí)間一次一次顯示即做出時(shí)間的變化,并且在循環(huán)中一遍一遍

10、掃描對(duì)比鬧鐘,若對(duì)上了則鬧鐘開啟,鬧鐘開啟有一個(gè)前提即u=0,u的初始值為零,若要關(guān)閉鬧鐘按下#號(hào)鍵將u變成1,鬧鐘關(guān)閉,再按一次#號(hào)鍵鬧鐘又將開啟,而若按下*號(hào)鍵則將調(diào)用set 函數(shù),可以進(jìn)行鬧鐘設(shè)置。1. #include "./配置/Config.h"使各個(gè)文件中的函數(shù)鏈接,即可以使用非本文件中定義的函數(shù)。2. lcdinit( )為液晶屏初始化程序void lcdinit(void) delay(1000); LCDE1=0; LCDE2=0; delay(10); sendlc(0xe2); /左半屏指令,復(fù)位 sendrc(0xe2); /右半屏指令,復(fù)位 se

11、ndlc(0xa4); /左半屏打開靜態(tài)顯示 sendrc(0xa4); sendlc(0xa9); /刷屏模式1/32 sendrc(0xa9); sendlc(0xa0); /顯示反向 sendrc(0xa0); sendlc(0xc0); /從第0行開始顯示 sendrc(0xc0); ClrScr(0,0);ClrScr(0,1); /清屏 ClrScr(1,0);ClrScr(1,1); sendlc(0xaf); /開顯示 sendrc(0xaf);3. DIS_HZ(?,?,?)為顯示屏輸出字符函數(shù),文件中有字庫(kù)文件,該函數(shù)建立于LCD顯示屏文件,可以調(diào)用字庫(kù)中的字符,第一個(gè)?輸

12、入數(shù)字為字符在字庫(kù)中的序號(hào),第二個(gè)?輸入數(shù)字為字符在顯示屏顯示的起始列,第三個(gè)?輸入0或者1表示顯示在屏幕的第一或第二行。4. setup_RTC( )為設(shè)定時(shí)鐘函數(shù)void setup_RTC(void) /寫系統(tǒng)時(shí)間 uchar idata t8;t0=time7; /1/100秒為0t1=time5; /1秒為0t2=time4;/取得分鐘t3=time3; /取得小時(shí)t4=(time2&0x3f)+0;/取得天 bit6/bit7設(shè)為00,實(shí)際年數(shù)=t7+t4>>6;t5=(time1&0x1f); /取得月t6=0; / NCt7=time0; / 取得年

13、的基數(shù)I2C_Puts( 0xa2,0x01,8,t);5. display_time( )為顯示當(dāng)前時(shí)間,括號(hào)內(nèi)寫入1使顯示屏上一直都有當(dāng)前時(shí)間顯示。6. key( )為按鍵掃描函數(shù),其值為按下鍵位的鍵碼。7. naozhong( )和set( )是鬧鐘掃描函數(shù)和鬧鐘設(shè)置函數(shù)。naozhong( )函數(shù)功能就是將當(dāng)前時(shí)間的小時(shí)數(shù)值和分鐘數(shù)值與設(shè)定的鬧鐘數(shù)值進(jìn)行比對(duì),若符合則開啟蜂鳴器鬧鐘響鈴;set( )函數(shù)就是用按鍵掃描讀入四位數(shù)字即鬧鐘時(shí)間存入鬧鐘數(shù)組,然后每次鬧鐘掃描使都將掃描這個(gè)時(shí)間,鬧鐘便成功加入了。六、 實(shí)驗(yàn)心得體會(huì)1. 認(rèn)真審題,看懂題目的要求,選擇適當(dāng)?shù)恼n題,不要太簡(jiǎn)單或者太

14、難。做到既能把課題完成又能鍛煉自己的能力。2. 根據(jù)課題要求,復(fù)習(xí)相關(guān)的知識(shí),查詢相關(guān)的資料。3. 根據(jù)實(shí)驗(yàn)條件,找到適合的方案,找到需要的元器件及工具,準(zhǔn)備實(shí)驗(yàn)。4. 根據(jù)課程設(shè)計(jì)的要求和自己所要增加的功能寫好程序流程圖,在程序流程圖的基礎(chǔ)上,根據(jù)芯片的功能寫出相應(yīng)的程序。然后再進(jìn)行程序調(diào)試和相應(yīng)的修改,以達(dá)到能夠?qū)崿F(xiàn)所要求的功能的目的。5. 還要根據(jù)實(shí)驗(yàn)的實(shí)際情況,添加些額外程序來(lái)使系統(tǒng)更加的穩(wěn)定。6. 程序要盡量做到由各個(gè)子程序組成,在有些程序后面最好加注釋,這樣在程序出錯(cuò)的檢查過程中可以更容易查找的到,也更簡(jiǎn)潔,更明白易懂。7. 該實(shí)驗(yàn)的程序可以參照其他51系列單片機(jī)的程序,畢竟殊途同

15、歸,只要基礎(chǔ)一樣怎樣變化都是可以的,當(dāng)然也可以按照自己的風(fēng)格寫。8. 課程設(shè)計(jì)實(shí)踐性十分強(qiáng),在過程中遇到不會(huì)的應(yīng)該自己想辦法弄懂,比如程序用開發(fā)板如何燒寫參數(shù)如何設(shè)定等等。七、 總結(jié) 本次課設(shè)主題是考勤機(jī)系統(tǒng),電子鐘只能說(shuō)是考勤機(jī)的一個(gè)分部,由此次課設(shè)我們可以明顯的感覺到實(shí)踐的重要。 第一次參加單片機(jī)課設(shè),原來(lái)的幾次小實(shí)驗(yàn)與課設(shè)相比根本就不值一提,可以說(shuō)實(shí)驗(yàn)僅僅只是一個(gè)一個(gè)的小東西,而課設(shè)確是將幾個(gè)分開的模塊連接結(jié)合在一起形成一個(gè)大的系統(tǒng)。課設(shè)開始首先是信盈達(dá)公司的講師為我們講解考勤機(jī)的各個(gè)部分的原理以及使用,在這里可以清晰的感覺僅僅只是局限于書本上的內(nèi)容并不夠,講解之后便是給了我們幾個(gè)課題讓我們?cè)诳记跈C(jī)的基礎(chǔ)上完成。 我們小組選擇的是電子鐘的設(shè)計(jì),用到了考勤機(jī)中的顯示屏模塊、按鍵模塊、計(jì)時(shí)模塊還有蜂鳴器LED模塊,由于硬件是現(xiàn)成的,所以主要的難點(diǎn)在于軟件的編寫。我們學(xué)習(xí)的單片機(jī)語(yǔ)言是匯編語(yǔ)言,在這里就略顯不足,匯編重在程序執(zhí)行的過程,但是卻并不好理解。相比之下C語(yǔ)言程序清晰較容易理解,看到源程序舉一反三也就比較容易。 最終我們小組完成了電子鐘的設(shè)計(jì),我們的電子鐘具有了時(shí)鐘顯示、鬧鐘、鬧鐘設(shè)置、鬧鐘開關(guān)的功能。在程序設(shè)計(jì)的過程中遇到了許多困難,總是會(huì)出現(xiàn)這

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論