




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機課程設(shè)計報告計算機與信息學(xué)院題目:定時鬧鐘專業(yè):通信工程姓名:學(xué)號:0862310307指導(dǎo)老師:完成時間:2010-12-08學(xué)校名稱:河海大學(xué)(常州校區(qū))摘 要本課程設(shè)計是定時鬧鐘的設(shè)計,以at89c51單片機為核心,配備液晶顯示模塊、時鐘芯片等功能模塊。利用動態(tài)數(shù)碼管作為顯示器,k25-k27作為輸入按鍵,蜂鳴器作為聲音輸出。課設(shè)的核心主要是硬件設(shè)計和軟件編程兩大方面。硬件電路設(shè)計主要包括中央處理單元電路、時鐘電路、人機接口電路、信號處理電路、執(zhí)行電路等。軟件編程用c語言來實現(xiàn),主要包括主程序、顯示字函數(shù)、鍵盤掃描程序、鬧鈴字程序、串口發(fā)送等軟件模塊?;緦崿F(xiàn)以下功能:正確顯示時分
2、;可以利用按鈕調(diào)整時間和設(shè)定鬧鐘時間;當(dāng)時間到達(dá)設(shè)定的時間時,蜂鳴器發(fā)出滴、滴、滴的報警聲;通過串口在pc機上設(shè)定時間和鬧鐘。關(guān)鍵詞:單片機 定時 顯示目 錄1、概述.31.1 課程設(shè)計的目的和意義.31.2 課程設(shè)計的要求.32、系統(tǒng)設(shè)計.42.1硬件設(shè)計.42.2軟件設(shè)計.63、實驗結(jié)果與討論.74、結(jié)論.74.1課程設(shè)計的特點及貢獻(xiàn).74.2自我體會.85、參考文獻(xiàn).96、附錄.9.硬件電路說明.9.軟件程序清單及說明.11.實物照片.20 1、概述1.1 課程設(shè)計的目的和意義 課程設(shè)計是在學(xué)完單片機原理及接口技術(shù)課程之后綜合利用所學(xué)單片機知識完成一個單片機應(yīng)用系統(tǒng)設(shè)計并在實驗室實現(xiàn),從
3、而加深對單片機 軟硬知識的理解,獲得初步的應(yīng)用經(jīng)驗,為走出校門從事單片機應(yīng)用的相關(guān)工作打下基礎(chǔ)。1.2課程設(shè)計的要求 (1)、正確顯示時分;(2)、可以利用按鈕調(diào)整時間和設(shè)定鬧鐘時間;(3)、當(dāng)時間到達(dá)設(shè)定的時間時,蜂鳴器發(fā)出滴、滴、滴的報警聲;(4)、通過串口在pc機上設(shè)定時間和鬧鐘。2、系統(tǒng)設(shè)計2.1硬件設(shè)計該定時鬧鐘是以單片機at89c51為核心來完成的,在硬件電路中采用p2口作為led數(shù)碼管的驅(qū)動接口,這是由于p2口的驅(qū)動能力強,故只需外接上拉電阻便可以把led數(shù)碼管點亮。在led顯示時,為了簡化電路,降低成本,led數(shù)碼管的位選線分別由相應(yīng)的p2. 5p2. 7控制,而將其相應(yīng)的段選
4、線并聯(lián)在一起,由一個8位的i/o口控制,即p2口。在電路中還設(shè)有三個按鍵k1、k2和k3用來進(jìn)行定時、選時和調(diào)時的選擇,他們分別與單片機的p2.5、p2.6、p2.7口相連接。揚聲器rd,定時時間到時會發(fā)出滴、滴、滴的聲音。xtal1口和xtal2口與12mhz晶振相連,并設(shè)有上電+按鈕復(fù)位電路。 時鐘電路設(shè)計:mcs-51內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,此放大器的輸入和輸出分別是引腳xtal1、xtal2,在xtal1和xtal2上外接時鐘源即可構(gòu)成時鐘電路。單片機的生產(chǎn)工藝不同,時鐘的產(chǎn)生方式也不同,有內(nèi)部和外部兩種時鐘產(chǎn)生方式,本次設(shè)計采用內(nèi)部方式的外部時鐘源接法。(a)單片
5、機外部振蕩方式接法 (b)單片機外部振蕩方式接法復(fù)位的方式及電路設(shè)計:mcs-51單片機通常采用上電自動復(fù)位、按鈕電平復(fù)位、外部脈沖復(fù)位、上電+按鈕電平復(fù)位、程序運行監(jiān)視復(fù)位等方式。在實際的生產(chǎn)制造中多需復(fù)位,以保證在出現(xiàn)死機時可以恢復(fù)程序正常運行,此次設(shè)計采用上電+按鈕電平復(fù)位,此種復(fù)位方式的好處是可以隨時使電路復(fù)位。單片機加上適當(dāng)?shù)耐鈬骷蛻?yīng)用程序,構(gòu)成的應(yīng)用系統(tǒng)稱為最小系統(tǒng)。將c51單片機接上時鐘電路和復(fù)位電路以及擴(kuò)展的簡單i/o口即可構(gòu)成單片機的最小應(yīng)用系統(tǒng),它是單片機應(yīng)用系統(tǒng)的設(shè)計基礎(chǔ)。2.2軟件設(shè)計合理的軟件結(jié)構(gòu)是設(shè)計出一個性能優(yōu)良的單片機應(yīng)用系統(tǒng)的基礎(chǔ),根據(jù)系統(tǒng)的定義,可以把整
6、個工作分解為若干個相對獨立的操作,采用模塊化的設(shè)計方法,它具有便于設(shè)計和調(diào)試、容易完成、可供多個程序共享等優(yōu)點。該設(shè)計可以把整個源程序大致劃分為:主程序main()、延時函數(shù)delay()、初始化函數(shù)init()、顯示時間函數(shù)display()、顯示定時函數(shù)display_1()、鍵盤掃描程序key_scan()、加1子函數(shù)jia()、減1子函數(shù)jian()、鬧鈴子程序clock()、定時器0中斷服務(wù)程序time0()、串口發(fā)送sint()等。具體源程序詳見附錄。3、實驗結(jié)果與討論一開始我們把最初的程序燒寫入實驗箱后,通過按鍵調(diào)整時間,當(dāng)時間到達(dá)設(shè)定的時間時,蜂鳴器發(fā)出滴的報警聲,且持續(xù)0.5
7、分鐘,這與課設(shè)要求蜂鳴器發(fā)出滴、滴、滴的報警聲不符,故程序設(shè)計時采用了“響-停-響-停-響”每次持續(xù)30秒的思想,從而達(dá)到設(shè)計要求。調(diào)節(jié)按鍵k1,顯示99,表示可以調(diào)節(jié)時間時分的數(shù)值,顯示88,表示可以調(diào)節(jié)鬧鐘時分的數(shù)值。調(diào)節(jié)按鍵k2可使數(shù)值加1,按鍵k3可使數(shù)值減1。課設(shè)提高部分要求通過串口在pc機上設(shè)定時間和鬧鐘,這部分對我們來說有點難度,通過參考單片機實驗三和課本9.4串口程序設(shè)計,我們不斷地嘗試改進(jìn),最終實現(xiàn)了通過串口在pc機上設(shè)定時間和鬧鐘的提高功能,即在串口調(diào)試助手上發(fā)送16171618(十六進(jìn)制),則數(shù)碼管會顯示時間為22:23,定時時間為22:24。4、結(jié)論4.1課程設(shè)計的特點
8、及貢獻(xiàn)單片機是一門應(yīng)用性很強的學(xué)科,課程設(shè)計是培養(yǎng)我們綜合運用所學(xué)知識發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們實際工作能力的具體訓(xùn)練和考察過程。我們在理論學(xué)習(xí)的基礎(chǔ)之上,通過完成一小系統(tǒng)的設(shè)計,不但能夠把課堂上學(xué)習(xí)的理論知識與實踐應(yīng)用結(jié)合起來,而且能夠?qū)﹄娮与娐贰㈦娮釉确矫娴闹R進(jìn)一步加深認(rèn)識,同時在相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高,為今后能夠獨立進(jìn)行某些傳感器應(yīng)用系統(tǒng)的開發(fā)設(shè)計工作打下一定的基礎(chǔ)。4.2自我體會在做課程設(shè)計之前,我們已經(jīng)系統(tǒng)的學(xué)習(xí)過單片機這門課程,但是在剛拿到設(shè)計任務(wù)書時還是不知該從哪里下手,完成課設(shè)要求還是有一定難度。我們充分利
9、用兩周時間,經(jīng)過老師幫助、同學(xué)討論和網(wǎng)絡(luò)查詢,基本上實現(xiàn)了定時鬧鐘的功能。這兩周的大部分時間都在研究程序的理解與程序的調(diào)試運行,在這個過程中加深了我對單片機中定時的理解,而且也更加了解到軟硬件配套的重要性。在設(shè)計的過程中不僅鞏固了以前所學(xué)過的知識,加深了我對所學(xué)知識的理解,而且學(xué)到了很多在書本上所沒有的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合的重要性,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,才能提高自己的實際動手能力和獨立思考的能力。此外,通過這次課程設(shè)計不僅使我鞏固了本課程所學(xué)的基本知識,還使我具有了撰寫科研報告的初步訓(xùn)練能力,我相信這些能力在我以后的學(xué)習(xí)甚至
10、工作中都會起到不小的作用。5、參考文獻(xiàn)1 余發(fā)山.單片機原理及應(yīng)用技術(shù). 徐州:中國礦業(yè)大學(xué)出版社,20022康華光.數(shù)字電子技術(shù). 北京: 高等教育出版社,20033吳金戌.8051單片機實踐與應(yīng)用. 北京: 清華大學(xué)出版社,20034樓然苗.51系列單片機設(shè)計實例. 北京: 北京航空航天出版社,20045黃仁欣.單片機原理及應(yīng)用技術(shù). 北京: 清華大學(xué)出版社, 20056方華.mcs-51單片機原理及設(shè)計. 重慶: 重慶大學(xué)出版社, 20057田希暉、薛亮儒.c51單片機技術(shù)教程.北京:人民郵電出版社,2007 6、附錄.硬件電路說明1、單片機at89c51:一種低功耗、高性能的cmos型
11、8位單片機。片內(nèi)帶有4kb的flash存儲器,且允許在系統(tǒng)內(nèi)改寫或用編程器編程。另外, at89c51的指令系統(tǒng)和引腳與8051完全兼容,片內(nèi)有128b 的ram、32條i/o口線、2個16位定時計數(shù)器、5個中斷源、一個全雙工串行口等。2、led數(shù)碼管為共陰極:3、p2口內(nèi)部結(jié)構(gòu)圖:.軟件程序清單及說明1、源程序:#include /頭文件#include#define uchar unsigned char/宏定義#define uint unsigned int#define fmq rdsbit key1=p25; /位聲明sbit key2=p26;sbit key3=p27;ucha
12、r code table=0x3f,0x06,0x5b,/數(shù)碼管顯示的數(shù)值0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0xbf,0x86,0xdb,/帶小數(shù)點的數(shù)值0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;void jia(); /函數(shù)聲明void jian();uchar table_16; /定義數(shù)組,數(shù)組內(nèi)含有6個數(shù)值uchar table_26;uchar shi=23,fen=59,miao=50; /顯示初始值uchar shi1,fen1,miao1,shi2,fen2,miao2;/定義全局變量uchar flag
13、,flag1,flag2,cnt,count;/定義全局變量void delay(uchar i) /延時函數(shù),用于動態(tài)掃描數(shù)碼管 uchar x,y; for(x=i;x0;x-) for(y=110;y0;y-);void init() /初始化函數(shù) tmod=0x21; /工作方式1 th0=(65536-50000)/256; /定時時間為:50ms tl0=(65536-50000)%256; et0=1; /打開定時器 ea=1; /開總中斷 tr0=1; /啟動定時器 tl1=0xfd; th1=0xfd; scon=0x50; pcon=0x00; tr1=1; es=1;vo
14、id display() /顯示子函數(shù),用于顯示時間數(shù)值 uchar i,j; table_10=miao%10; /分離秒的各位與十位 table_11=miao/10; table_12=fen%10+11; /分離分的各位與十位 table_13=fen/10; table_14=shi%10+11; /分離時的各位與十位 table_15=shi/10; j=0x7f; /從秒到時的掃描 for(i=2;i6;i+) p2=j; p0=tabletable_1i;/顯示數(shù)值 delay(10); j=_cror_(j,1);/循環(huán)右移 void display_1() /顯示子函數(shù),用
15、于顯示定時時間 uchar i,j; table_20=miao2%10; /以下含義同上 table_21=miao2/10; table_22=fen2%10+11; table_23=fen2/10; table_24=shi2%10+11; table_25=shi2/10; j=0x7f; for(i=2;i=20) /判斷是否到一秒 flag=0; /到了,則標(biāo)志位清零 miao+; /秒加1 if(miao=60) /判斷秒是否到60s miao=0;/到了,則清零 fen+; /分加1 if(fen=59) /以下含義同上 fen=0; shi+; if(shi23) shi=
16、0; void key_scan() /鍵盤掃描子函數(shù) uchar i; /定義局部變量 if(key1=0)/判斷key2是否按下 while(!key1) /防止掉顯 if(cnt=0|cnt=1|cnt=2|cnt=3|cnt=6) display(); if(cnt=4|cnt=5) display_1(); cnt+; /記下按鍵key1按下的次數(shù) if(cnt=1) /第一次按下,停止計數(shù) tr0=0; if(cnt=2) / 第二次按下 fen1=fen; /保存分的數(shù)值 fen=99; /顯示99,表示可以調(diào)節(jié)分的數(shù)值了 (99只是一個標(biāo)志) for(i=0;i100;i+)
17、display(); /顯示99 fen=fen1; /恢復(fù)前一刻分的數(shù)值 if(cnt=3) shi1=shi; shi=99; for(i=0;i100;i+) display(); shi=shi1; if(cnt=4) fen1=fen2; fen2=88; for(i=0;i100;i+) display_1(); fen2=fen1; if(cnt=5) shi1=shi2; shi2=88; for(i=0;i59) /判斷分是否大于59,是,則秒清零 fen=0; if(cnt=3) shi+; if(shi23) shi=0; if(cnt=4) fen2+; if(fen2
18、59) fen2=0; if(cnt=5) shi2+; if(shi223) shi2=0; void jian() /減1子函數(shù) if(cnt=2) /判斷key1按下的次數(shù)是否為2,是則秒減1 fen-; if(fen=255) /判斷秒是否減到-1,是,則秒清零(255是-1的補碼) fen=59; if(cnt=3) shi-; if(shi=255) shi=23; if(cnt=4) fen2-; if(fen2=255) fen2=59; if(cnt=5) shi2-; if(shi2=255) shi2=23; void clock() /鬧鈴子函數(shù) if(miao2=mi
19、ao) /顯判斷秒的數(shù)值是否相等 if(fen2=fen) /是,在判斷分是否相等 if(shi2=shi) /是,再判斷時是否相等 flag1=0; /是,則標(biāo)志位,flag1清零 while(!(flag1=10) /判斷flag1是否到20 fmq=0; /沒有,則,繼續(xù)驅(qū)動蜂鳴器響,時間約為:1s shijian(); /調(diào)用時間子函數(shù) display(); /調(diào)用顯示子函數(shù) fmq=1;/關(guān)閉蜂鳴器flag1=0;while(!(flag1=10) /判斷flag1是否到20 fmq=1; /繼續(xù)驅(qū)動蜂鳴器停,時間約為:1s shijian(); /調(diào)用時間子函數(shù) display(); /調(diào)用顯示子函數(shù) fmq=1;flag1=0;while(!(flag1=10) fmq=0; shijian(); d
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人力資源管理顧問合同范本
- 度宣傳冊設(shè)計與加工合同
- 共有產(chǎn)權(quán)住房合同
- 房屋買賣合同范本:個人住宅版
- 農(nóng)村近郊租賃合同模板大全
- 10清新空氣是個寶 是什么污染了空氣(教學(xué)設(shè)計)-2023-2024學(xué)年道德與法治二年級下冊統(tǒng)編版
- 采購供應(yīng)鏈管理合同
- 設(shè)備租賃合同示范合同范文
- Module 4 Unit 10 Wind (教學(xué)設(shè)計)-2024-2025學(xué)年滬教牛津版(深圳用) 英語五年級上冊
- 軟件開發(fā)合作合同(二)
- 園林聘用勞動合同
- 300畝文冠果樹栽培基地建設(shè)項目可行性研究報告
- 2025年菏澤職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年度企業(yè)安全生產(chǎn)與環(huán)保管理服務(wù)協(xié)議范本3篇
- 2025-2030年中國巧克力產(chǎn)品市場需求狀況及發(fā)展趨勢分析報告
- 上海市發(fā)展改革研究院工作人員招考聘用12人高頻重點提升(共500題)附帶答案詳解
- 2024年02月北京2024年中信銀行北京分行社會招考(0226)筆試歷年參考題庫附帶答案詳解
- 《社會服務(wù)機構(gòu)》課件
- 2025年研究生考試考研法律碩士專業(yè)基礎(chǔ)(法學(xué)397)試題及解答參考
- 《消費者行為分析》全套課件
- 焊接與熱切割作業(yè)實操培訓(xùn)
評論
0/150
提交評論