基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)—課程設(shè)計(jì)論文_第1頁(yè)
基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)—課程設(shè)計(jì)論文_第2頁(yè)
基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)—課程設(shè)計(jì)論文_第3頁(yè)
基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)—課程設(shè)計(jì)論文_第4頁(yè)
基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)—課程設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)任務(wù)書 學(xué)院學(xué)院信息科學(xué)與工程學(xué)院信息科學(xué)與工程學(xué)院專業(yè)專業(yè)自動(dòng)化自動(dòng)化 學(xué)生姓名學(xué)生姓名學(xué)號(hào)學(xué)號(hào) 設(shè)計(jì)題目設(shè)計(jì)題目基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)(軟件)基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)(軟件) 課程設(shè)計(jì)內(nèi)容及要求:課程設(shè)計(jì)內(nèi)容及要求: 內(nèi)容:內(nèi)容:1.設(shè)計(jì)電路,選擇器件 2.利用 protel 畫原理圖 3. 編程,調(diào)試 4. 焊接電路,調(diào)試 要求:要求:1.電子鐘能復(fù)位功能,計(jì)時(shí)功能 2. .電子鐘能實(shí)現(xiàn)省電功能 3.電子鐘能實(shí)現(xiàn)調(diào)時(shí)功能 進(jìn)度及安排:進(jìn)度及安排:1查資料 2設(shè)計(jì)電路畫電路圖 3編程與調(diào)試 4焊接硬件電路并調(diào)試 5寫報(bào)告 指導(dǎo)教師(簽字):指導(dǎo)教師(簽字):

2、年年 月月 日日 學(xué)院院長(zhǎng)(簽字):學(xué)院院長(zhǎng)(簽字): 年年 月月 日日 成成 績(jī)績(jī) 評(píng)評(píng) 定定 表表 學(xué)生姓名班級(jí)學(xué)號(hào) 專 業(yè)自動(dòng)化課程設(shè)計(jì)題目 基于單片機(jī)的多動(dòng)能數(shù)字 電子鐘的設(shè)計(jì)(軟件) 評(píng) 語(yǔ) 組長(zhǎng)簽字: 成績(jī) 日期 20 年 月 日 目 錄 1 功能數(shù)字電子鐘 .1 1.1 數(shù)字電子鐘簡(jiǎn)介.1 1.2 數(shù)字電子鐘的原理.1 2 程序框圖 .1 3 控制系統(tǒng)的軟件計(jì).4 3.1 主程序代碼.4 3.2 程序運(yùn)行結(jié)果分析.8 4 設(shè)計(jì)總結(jié)和體會(huì) .9 5 參考文獻(xiàn) .9 摘要摘要 隨著社會(huì)的不斷進(jìn)步,電子技術(shù)也飛速的向前發(fā)展.特別是大規(guī)模集成電路的發(fā)展, 把我們帶進(jìn)了電子化時(shí)代。電子產(chǎn)品

3、的日益增多,也讓我們的生活越來(lái)越方便。特別是計(jì) 算機(jī)的發(fā)展,真可謂是突飛猛進(jìn)。自從 1946 年世界上第一臺(tái)計(jì)算機(jī)的誕生以來(lái),還不到 六十年的時(shí)間,計(jì)算機(jī)就取得了舉世矚目的成績(jī)。特別是在通信領(lǐng)域,實(shí)現(xiàn)了信息一體 化的時(shí)代。作為大學(xué)生的我們,更需要加強(qiáng)實(shí)踐能力的培養(yǎng)。課程設(shè)計(jì)在一定程度上反 映了我們對(duì)理論知識(shí)的理解程度,是理論與實(shí)踐的橋梁。它不僅能鍛煉我們的動(dòng)手能力, 而且能夠培養(yǎng)我們對(duì)問題的思考能力以及對(duì)知識(shí)的進(jìn)一步了解。當(dāng)你能把你所學(xué)到知識(shí) 化作為現(xiàn)實(shí)的東西時(shí),我們能力就提升到一個(gè)新臺(tái)階。 很多人都認(rèn)為學(xué)習(xí)是枯燥無(wú)味的,有時(shí)覺得與現(xiàn)實(shí)太遙遠(yuǎn)。在學(xué)習(xí)之余,我們?nèi)匀?可以找到一點(diǎn)有趣的事情,比如

4、說做一個(gè)聲控?zé)襞?、?shù)字鐘等等。生活中我們要找到自 己感興趣的東西。這次綜合課程設(shè)計(jì)中,我們制作了八路搶答器。 搶答器是為智力競(jìng)賽參賽者答題時(shí)進(jìn)行搶答而設(shè)計(jì)的一種優(yōu)先判決器電路,廣泛應(yīng) 用于各種知識(shí)競(jìng)賽、文娛活動(dòng)等場(chǎng)合。能夠?qū)崿F(xiàn)搶答器功能的方式有多種,可以采用前 期的模擬電路、數(shù)字電路或模擬與數(shù)字電路相結(jié)合的方式,但這種方式制作過程復(fù)雜, 而且準(zhǔn)確性與可靠性不高,成品面積大,安裝、維護(hù)困難。本節(jié)介紹一種利用 51 單片機(jī) 作為核心部件進(jìn)行邏輯控制及信號(hào)產(chǎn)生的八路搶答器。近年來(lái),隨著單片機(jī)檔次的不斷 提高,功能的不斷完善,其應(yīng)用日趨成熟、應(yīng)用領(lǐng)域日趨擴(kuò)大,特別是工業(yè)測(cè)控、尖端 武器和日用家電等領(lǐng)域

5、更是因?yàn)橛辛藛纹瑱C(jī)而生輝增色。單片機(jī)應(yīng)用技術(shù)已成為一項(xiàng)新 的工程應(yīng)用技術(shù)。本次課程設(shè)計(jì)我們做的是八路搶答器,我們采用 at89c51 單片機(jī)實(shí)現(xiàn) 搶答功能,性能更穩(wěn)定,更易操作調(diào)試。 1 1 功能數(shù)字電子鐘功能數(shù)字電子鐘 1.11.1 數(shù)字電子鐘簡(jiǎn)介數(shù)字電子鐘簡(jiǎn)介 1957 年,ventura 發(fā)明了世界上第一個(gè)電子表,從而奠定了電子時(shí)鐘的基礎(chǔ),電子時(shí)鐘 開始迅速發(fā)展起來(lái)?,F(xiàn)代的電子時(shí)鐘是基于單片機(jī)的一種計(jì)時(shí)工具,采用延時(shí)程序產(chǎn)生 一定的時(shí)間中斷,用于一秒的定義,通過計(jì)數(shù)方式進(jìn)行滿六十秒分鐘進(jìn)一,滿六十分小 時(shí)進(jìn)一,滿二十四小時(shí)小時(shí)清零。從而達(dá)到計(jì)時(shí)的功能,是人民日常生活補(bǔ)課缺少的工 具。 1

6、.21.2 數(shù)字電子鐘的原理數(shù)字電子鐘的原理 該電子時(shí)鐘由 at89c2051,button,六段數(shù)碼管等構(gòu)成,采用晶振電路作為驅(qū)動(dòng) 電路,由延時(shí)程序和循環(huán)程序產(chǎn)生的一秒定時(shí),達(dá)到時(shí)分秒的計(jì)時(shí),六十秒為一分鐘, 六十分鐘為一小時(shí),滿二十四小時(shí)為一天。而電路中唯一的一個(gè)控制鍵卻擁有多種不同 的功能,按下又松開,可以實(shí)現(xiàn)屏蔽數(shù)碼管顯示的功能,達(dá)到省電的目的;直接按下不 松開,則可以通過按鍵實(shí)現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放 松,則可實(shí)現(xiàn)小時(shí)的調(diào)節(jié),同樣每按一次小時(shí)加一。 2 2 程序框圖程序框圖 開始 定義堆棧區(qū) 數(shù)據(jù)緩沖區(qū)、標(biāo)志位初始化 調(diào)用鍵盤掃描程序 是否手動(dòng)按 是 地

7、址指針指向計(jì)時(shí)緩沖區(qū) 調(diào)用時(shí)間設(shè)置程序 主程序流程圖 滿 18 次? 是 秒單元加 1 60s 到? 是 秒單元清 0,分單元加 1 60 分到? 是 分單元清 0,時(shí)單元加 1 24 小時(shí)到? 是 時(shí)單元清 0 返回 子程序流程圖 是否運(yùn)行中斷程序 是 執(zhí)行手動(dòng)操作嗯鍵 分別調(diào)節(jié)秒分時(shí) 摁第一次,調(diào)節(jié)秒 摁第二次,調(diào)節(jié)分鐘 摁第四次,調(diào)節(jié)小時(shí) 恩四次,中斷停止 執(zhí)行主程序自動(dòng)計(jì)時(shí) 中斷程序流程圖 3 3 控制系統(tǒng)的軟件設(shè)計(jì)控制系統(tǒng)的軟件設(shè)計(jì) 3.13.1 主程序代碼主程序代碼 #include #define uchar unsigned char /無(wú)符號(hào)定義字符串 #define uin

8、t unsigned int / 定義無(wú)符號(hào)整數(shù) sbit rs=p35; / 位定義 sbit lcden=p34; sbit s1=p30; sbit s2=p31; sbit s3=p32; uchar count,s1num; char miao,shi,fen; uchar code table= now time is ; /定義數(shù)據(jù)組 uchar code table1= 00:00:00; void delay(uint z) /設(shè)置延時(shí)程序 uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); void write_com(uchar com)

9、 /: 寫程序 rs=0; lcden=0; p2=com; delay(5); /: 調(diào)用延時(shí)程序 lcden=1; delay(5); lcden=0; void write_date(uchar date) /: 寫數(shù)組 rs=1; lcden=0; p2=date; delay(5); lcden=1; delay(5); lcden=0; void init() /: 定義調(diào)時(shí)子程序 uchar num; lcden=0; write_com(0 x38); write_com(0 x0c); write_com(0 x06); write_com(0 x01); write_com

10、(0 x80); for(num=0;num15;num+) write_date(tablenum); delay(5); write_com(0 x80+0 x40); for(num=0;num12;num+) write_date(table1num); delay(5); tmod=0 x01; th0=(65536-50000)/256; /:初始化程序 tl0=(65536-50000)%256; ea=1; et0=1; tr0=1; void write_sfm(uchar add,uchar date) /:子寫程序 uchar shi,ge; shi=date/10; g

11、e=date%10; write_com(0 x80+0 x40+add); write_date(0 x30+shi); write_date(0 x30+ge); void keyscan() /: 子掃描程序 if(s1=0) delay(5); if(s1=0) s1num+; while(!s1); if(s1num=1) tr0=0; /: 中斷截止 write_com(0 x80+0 x40+10); /:自動(dòng)寫秒 write_com(0 x0f); if(s1num=2) write_com(0 x80+0 x40+7); /: 寫分鐘 if(s1num=3) write_co

12、m(0 x80+0 x40+4); /:寫小時(shí) if(s1num=4) s1num=0; /:sl 為零 write_com(0 x0c); tr0=1; /: 中斷起作用,手動(dòng)調(diào)時(shí) if(s1num!=0) if(s2=0) delay(5); if(s2=0) while(!s2); /:s2 不為 0 if(s1num=1) /:摁一下摁鍵 miao+; /:加計(jì)時(shí) if(miao=60) /: 秒為 60 時(shí) miao=0; /:秒復(fù)位 write_sfm(10,miao); /:寫入秒在 10 位 write_com(0 x80+0 x40+10); /;重新計(jì)秒 if(s1num=

13、2) fen+; if(fen=60) /: 分調(diào)時(shí) fen=0; write_sfm(7,fen); write_com(0 x80+0 x40+7); if(s1num=3) shi+; if(shi=24) /:小時(shí)調(diào)時(shí) shi=0; write_sfm(4,shi); write_com(0 x80+0 x40+4); if(s3=0) delay(5); if(s3=0) while(!s3); if(s1num=1) /: 嗯一下秒調(diào)時(shí) miao-; /: 秒減程序的執(zhí)行 if(miao=-1) miao=59; write_sfm(10,miao); /; 寫在第十位為秒 wri

14、te_com(0 x80+0 x40+10); if(s1num=2) /;分減調(diào)時(shí) fen-; if(fen=-1) fen=59; write_sfm(7,fen); write_com(0 x80+0 x40+7); if(s1num=3) shi-; /:小時(shí)減調(diào)時(shí) if(shi=-1) shi=23; write_sfm(4,shi); write_com(0 x80+0 x40+4); void main() /: 定義主程序 init(); /:調(diào)用子程序 int t() while(1) /:死循環(huán)程序 keyscan(); /: 掃描程序,是否嗯按鍵 void timer0(

15、) interrupt 1 /:中斷程序 th0=(65536-50000)/256; tl0=(65536-50000)%256; count+; if(count=18) /:數(shù)為 18 開始計(jì)數(shù) count=0; miao+; /:自動(dòng)秒計(jì)時(shí) if(miao=60) miao=0; fen+; /:分計(jì)時(shí) if(fen=60) fen=0; shi+; /: 小時(shí)計(jì)時(shí) if(shi=24) shi=0; write_sfm(4,shi); /: 寫入時(shí)的位地址 write_sfm(7,fen); write_sfm(10,miao); 3.23.2 程序運(yùn)行結(jié)果分析程序運(yùn)行結(jié)果分析 功能

16、太過單調(diào),只能實(shí)現(xiàn)時(shí)分秒的顯示,設(shè)計(jì)比較簡(jiǎn)單。電路圖的設(shè)計(jì)過于單調(diào), 用的器件太少,實(shí)現(xiàn)調(diào)節(jié)時(shí)間的按鈕太少,不能很好的實(shí)現(xiàn)時(shí)間的調(diào)節(jié)。在測(cè)試過程中, 六位數(shù)碼顯示管只顯示五位數(shù)字,有一位數(shù)字不亮,通過多次的修改程序并在 proteus 軟件環(huán)境中進(jìn)行仿真,最終解決了這個(gè)問題,同時(shí)也透露出本人在單片機(jī)電路設(shè)計(jì)和程 序設(shè)計(jì)方面的不足。不過最后的仿真效果非常好,實(shí)現(xiàn)了預(yù)期的效果,能過通過多功能 控制鍵調(diào)節(jié)時(shí)間和是否進(jìn)入省電模式,是一個(gè)比較令人滿意的設(shè)計(jì)。 4 4 設(shè)計(jì)總結(jié)和體會(huì)設(shè)計(jì)總結(jié)和體會(huì) 在這次單片機(jī)設(shè)計(jì)課程的學(xué)習(xí)中,主要是由我們學(xué)生自己來(lái)完成,老師在關(guān)鍵的時(shí)刻加 以指點(diǎn)。我在這次單片機(jī)設(shè)計(jì)課程學(xué)習(xí)中收獲蠻多的,首先做事情一定要沉下心來(lái),認(rèn) 真地對(duì)待。帶著迷惑,自己對(duì)以前的書本進(jìn)行復(fù)習(xí),經(jīng)過一番試驗(yàn),最終取得理想的效 果。在本次課程設(shè)計(jì)過程中,我學(xué)會(huì)了在網(wǎng)絡(luò)上查找有關(guān)本設(shè)計(jì)的各硬件的資源,其中 包括:8051 單片機(jī)及其引腳說明,為本次課程設(shè)計(jì)提供了一定的資料。由于平時(shí)很少進(jìn) 行課程設(shè)計(jì),所以對(duì)于課程設(shè)計(jì)報(bào)告的格式也是近期才接觸到

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論