![C51單片機(jī)實(shí)現(xiàn)電子鬧鐘_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/10/4e5fdf39-0474-4c75-9a3e-8e55744890f7/4e5fdf39-0474-4c75-9a3e-8e55744890f71.gif)
![C51單片機(jī)實(shí)現(xiàn)電子鬧鐘_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/10/4e5fdf39-0474-4c75-9a3e-8e55744890f7/4e5fdf39-0474-4c75-9a3e-8e55744890f72.gif)
![C51單片機(jī)實(shí)現(xiàn)電子鬧鐘_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/10/4e5fdf39-0474-4c75-9a3e-8e55744890f7/4e5fdf39-0474-4c75-9a3e-8e55744890f73.gif)
![C51單片機(jī)實(shí)現(xiàn)電子鬧鐘_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/10/4e5fdf39-0474-4c75-9a3e-8e55744890f7/4e5fdf39-0474-4c75-9a3e-8e55744890f74.gif)
![C51單片機(jī)實(shí)現(xiàn)電子鬧鐘_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/10/4e5fdf39-0474-4c75-9a3e-8e55744890f7/4e5fdf39-0474-4c75-9a3e-8e55744890f75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程名稱:單片機(jī)原理與接口技術(shù)實(shí)踐 設(shè)計(jì)課題: 基于MCS 51單片機(jī)實(shí)現(xiàn)電子鬧鐘功能的設(shè)計(jì)學(xué) 院:電子與信息工程學(xué)院專 業(yè):通信工程小組成員:電子鬧鐘在科學(xué)技術(shù)高度發(fā)展的今天,千家萬戶都少不了它,所以很多家庭個人都需要有一個電子鬧鐘,為人們提供報(bào)時方便,但普通電子鬧鐘不夠方便實(shí)用。本文給出了一種基于MCS51單片機(jī)實(shí)現(xiàn)電子鬧鐘功能的設(shè)計(jì)方法,從而給人們帶來更為方便的工作與生活。一.電子鬧鐘簡介我們設(shè)計(jì)的電子鬧鐘是以MCS 51單片機(jī)中的計(jì)時器作為時鐘,用8位數(shù)碼管顯示當(dāng)前時間,并且可以設(shè)置鬧鐘時間,并在設(shè)置的時間點(diǎn)發(fā)出鬧鈴。簡易鬧鐘具有以下功能:1.時鐘能準(zhǔn)確地走時,并可以通過數(shù)碼管進(jìn)行顯示
2、2.復(fù)位后可以進(jìn)行當(dāng)前時間的設(shè)置3.可以隨意設(shè)置鬧鐘時間,鬧鐘會在設(shè)置時間響鈴整個系統(tǒng)的任務(wù)要求:1)輸入數(shù)字按鍵的功能。保證數(shù)字的輸入。2)復(fù)位電路的功能。所有時間回到初始化狀態(tài),用于啟動設(shè)定時間參數(shù)(調(diào)時或設(shè)定鬧鐘時間);3)顯示電路的功能。當(dāng)輸入數(shù)字時顯示24小時時間功能。4) 鬧鈴功能設(shè)置鬧鈴的時間后.能按設(shè)置好的時間準(zhǔn)時鬧鈴。二.系統(tǒng)方案的設(shè)計(jì)要求 根據(jù)以上各模塊并結(jié)合顯示屏的功能及元器件材料的情況,決定采用AT89C51為內(nèi)核顯示設(shè)計(jì)方案。先進(jìn)行系統(tǒng)的整體規(guī)劃確定整個系統(tǒng)的功能,然后按照每個功能的具體要求,進(jìn)行各個模塊的實(shí)物設(shè)計(jì)并逐個調(diào)試,待全部通過后,進(jìn)行整個系統(tǒng)的聯(lián)調(diào),最終實(shí)現(xiàn)
3、一個完整的系統(tǒng)。整個系統(tǒng)的設(shè)計(jì)步驟如下:在單片機(jī)最小系統(tǒng)的基礎(chǔ)上,完成按鍵電路和復(fù)位電路的設(shè)計(jì)。完成顯示電路、數(shù)字按鍵、單片機(jī)時鐘電路。硬件設(shè)計(jì)系統(tǒng)硬件的設(shè)計(jì)可以根據(jù)系統(tǒng)的各個功能,把整個系統(tǒng)劃分成若干個模塊,分別對這些模塊來進(jìn)行設(shè)計(jì),然后在通過單片機(jī)程序來實(shí)現(xiàn)對各個硬件模塊功能的調(diào)度。本系統(tǒng)涉及到的硬件模塊有:按鍵電路、數(shù)碼管顯示電路、單片機(jī)時鐘電路、蜂鳴器電路。各部分實(shí)現(xiàn)功能如下:按鍵電路:提供按鍵信號。單片機(jī)時鐘電路、復(fù)位電路:提供內(nèi)部時鐘。數(shù)碼管驅(qū)動顯示電路:顯示當(dāng)前時間。蜂鳴器電路:鬧鐘報(bào)時。 軟件設(shè)計(jì)本系統(tǒng)的軟件部分主要完成功能:時分秒的進(jìn)位算法處理、數(shù)碼管的時間顯示、時間調(diào)整設(shè)置
4、、鬧鐘功能。根據(jù)軟件的功能劃分軟件設(shè)計(jì)模塊結(jié)構(gòu),如下所示其中各個模塊具體任務(wù)如下:按鍵驅(qū)動模塊:對各個按鍵的功能進(jìn)行相關(guān)的定義。LED驅(qū)動模塊:根據(jù)系統(tǒng)需要顯示相應(yīng)的數(shù)字時間;時間處理模塊:時、分、秒的進(jìn)位算法處理三.系統(tǒng)硬件電路的設(shè)計(jì)1根據(jù)確定的硬件方案設(shè)計(jì)硬件框圖,如下圖所示:單片機(jī)蜂鳴器電路晶振電路復(fù)位電路按鍵電路數(shù)碼管驅(qū)動及顯示2系統(tǒng)原理圖的設(shè)計(jì)系統(tǒng)總的硬件電路如下圖所示 實(shí)際要用到5個按鍵,受空間限制仿真電路中只畫出4個。單片機(jī)管腳資源分配:P0口為數(shù)碼管段選信號輸出口。P3口為數(shù)碼管位選信號輸出口。P1.0、P1.1、P1.2、P1.3、P1.4為鍵盤的輸入信號。P3.6為蜂鳴器信
5、號的輸出口。下面分別介紹各個電路。(1)數(shù)碼管驅(qū)動及顯示電路本設(shè)計(jì)采用8位7段共陽極數(shù)碼管用來顯示時間。為了將時間在LED數(shù)碼管上顯示可采用動態(tài)顯示法。通過對每位數(shù)碼管的依次掃描,使對應(yīng)數(shù)碼管亮;同時向該數(shù)碼管送對應(yīng)的字碼使其顯示數(shù)字。由于數(shù)碼管掃描周期很短,而且人眼有視覺暫留效應(yīng),所以數(shù)碼管看起來總是亮的從而實(shí)現(xiàn)了數(shù)字的同時顯示。 數(shù)碼管主要包括位選和段選信號線。位選是用來選通數(shù)碼管的,只有位選信號有效該數(shù)碼管才會亮并顯示要現(xiàn)實(shí)的數(shù)字;段選是選擇數(shù)碼管7段的那一筆亮,從而顯示不同的數(shù)字。本設(shè)計(jì)中單片機(jī)P0口輸出段選數(shù)據(jù),P3口輸出位選數(shù)據(jù)。數(shù)碼管與單片機(jī)相連的電路如下圖所示:電路中使用了芯片
6、74ls245,該芯片用來驅(qū)動LED。其片選引腳要接地,使其一致為低電平,芯片一直可以工作。(2)晶振電路晶體以及電容C1、C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中構(gòu)成內(nèi)部單片機(jī)內(nèi)部時鐘。晶體可在1.2MHz-12MHz之間任選,電容C1、C2的典型值為通常選擇為30pF左右,這時對應(yīng)的始終頻率為12MHz。單片機(jī)內(nèi)部晶振電路圖及連接電路如下:(3)按鍵電路本設(shè)計(jì)采用行列式按鍵電路,它由行線和列線組稱成,按鍵位于行列的交叉點(diǎn)。一個4*4的行列結(jié)構(gòu)可以構(gòu)成一個16個按鍵的鍵盤,如下圖所示。在按鍵數(shù)目較多的場合,行列式按鍵可以節(jié)省很多的I/O口線。 按鍵的識別是通過掃描來實(shí)現(xiàn)的。單片機(jī)會依次掃
7、描每一行和每一列,通過行線和列線的電平高低即可判斷哪個按鍵被按下。 本設(shè)計(jì)中用到四個按鍵,P1.0、P1.1、P1.2、P1.3 、P1.4,分別用于時間校準(zhǔn)設(shè)置、定鬧設(shè)置、秒分時切換、加1調(diào)整、減1調(diào)整。按鍵與單片機(jī)相連電路如下:由原理圖可以明顯看出,當(dāng)按鍵未被按下時,對應(yīng)引腳為高電平;按鍵被按下時為低電平。通過掃描即可辨別哪一個按鍵被按下。本題畫出的雖然是獨(dú)立按鍵,但是內(nèi)部驅(qū)動依然是行列式按鍵的驅(qū)動,這里只是為了畫圖方便。(4)復(fù)位電路當(dāng)按下復(fù)位鍵時單片機(jī)進(jìn)入復(fù)位狀態(tài),可以進(jìn)行時間的設(shè)置等。電路圖如下所示:四.系統(tǒng)軟件部分的設(shè)計(jì)本設(shè)計(jì)的軟件系統(tǒng)用來配合硬件電路實(shí)現(xiàn)特定的功能。程序主要包含鍵
8、盤掃描模塊、時間處理模塊、和數(shù)碼管顯示程序3大部分。程序大致流程如下:開始 否 是否按下設(shè)置鍵 是設(shè)置時間和鬧鐘的時間 時鐘開始正常走時 否當(dāng)前時間等于鬧鐘時間?是 鬧鈴響1.時間處理模塊單片機(jī)晶振頻率為12MHz,一個機(jī)器周期等于12個振蕩脈沖周期,因此機(jī)器時序頻率是振蕩頻率的1/12,即1MHz,所以一個機(jī)器周期為1s。本設(shè)計(jì)用的是計(jì)時器0的方式1,對于方式1,計(jì)數(shù)個數(shù)M與計(jì)數(shù)初值N的關(guān)系為 M=216 N,定時時間t與計(jì)數(shù)個數(shù)M和初值N的關(guān)系為 t = M*機(jī)器周期 =(216-N)*時鐘周期*12。計(jì)時過程中,秒sec等于60時清零,分min加一;分min等于60時清零,小時hour加
9、一;當(dāng)小時大于24時,置為0。時分秒的進(jìn)位算法代碼如下:void timecontrol() sec+; if(sec=60) /秒sec到60清零,分min加一 sec=0; min+; if(min=60)/分min到60清零,時hour加一 min=0; hour+; if(hour=24)/小時hour等于24時清零 hour=0; 定時器的先關(guān)設(shè)置:void main() TMOD=0x01; /定時器0工作在方式1 TH0=(65536-45872)/256; /裝初值,50ms TL0=(65536-45872)%256; EA=1; /總中斷允許 ET0=1; /T0中斷允許
10、TR0=1; /開定時器0 while(1) keyscan_settime(); keyscan_time(); buz(); 2.數(shù)碼管顯示模塊 本設(shè)計(jì)中以P0口作為數(shù)碼管的段選輸出,P3口為位選信號輸出。由于所用數(shù)碼管為共陽極連接,所以要點(diǎn)亮的數(shù)碼管位選端為高電平1.位選信號的I/O口聲明#include#define uchar unsigned char#define uint unsigned int sbit s1=P30; /數(shù)碼管位選控制端的定義sbit s2=P31;sbit s3=P32;sbit s4=P33;sbit s5=P34;sbit s6=P35;sbit s
11、7=P36;段碼表:uchar code mum=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /共陽數(shù)碼管0-9編碼數(shù)碼管顯示函數(shù)如下:void display(uchar zs,uchar zm, uchar zh) /數(shù)碼管顯示函數(shù) s1=1;/P3即S系列輸出位選信號P0=mumzh/10; /P0輸出段選信號 ,顯示小時的十位 delayms(5);s1=0; s2=1;P0=mumzh%10&0x7f; /顯示時的個位加上小數(shù)點(diǎn)delayms(5);s2=0; s3=1;P0=mumzm/10; /顯示分的十位delayms(
12、5);s3=0;s4=1;P0=mumzm%10&0x7f; /分的個位加上小數(shù)點(diǎn)delayms(5);s4=0; s5=1;P0=mumzs/10; /秒的十位delayms(5);s5=0; s6=1; P0=mumzs%10;/秒的個位delayms(5);s6=0;3.鍵盤掃描模塊 首先要聲明各個按鍵的功能以及對應(yīng)的I/O口,然后驅(qū)動程序?qū)Π存I進(jìn)行掃描以識別被按下的鍵。按鍵對應(yīng)I/O口聲明/*k1設(shè)置時間,k2定時,k3時分秒選擇,k4加數(shù)字,k5減數(shù)字。*/sbit k1=P10; sbit k2=P11;sbit k3=P12;sbit k4=P13;sbit k5=P14;鍵盤
13、掃描以進(jìn)行時間設(shè)置void keyscan_settime() /時間設(shè)置模塊 uchar st,mt,ht; if(k1=0) delayms(10); /延遲一段時間再次掃描以達(dá)到軟件消抖的目的 if(k1=0) st=sec,mt=min,ht=hour; TR0=0; /關(guān)閉定時器 while(k1=0) /等待用戶按鍵 display(st,mt,ht); if(k3=0) delayms(10); if(k3=0) while(!k3); ss+; if(ss=3) ss=0; /*通過ss選擇時分秒設(shè)置*/ if(k4=0) /加數(shù) delayms(10); if(k4=0) w
14、hile(!k4); switch(ss) case 0:st+;if(st=60)st=0;break; case 1:mt+;if(mt=60)mt=0;break; case 2:ht+;if(ht=24)ht=0;break; default :; if(k5=0) /減數(shù) delayms(10); if(k5=0) while(!k5); switch(ss) case 0:if(st0)st-; else st=0;break; case 1:if(mt0)mt-; else mt=0;break; case 2:if(ht0)ht-; else ht=0;break; defau
15、lt : ; TR0=1; /設(shè)置完畢,開啟定時器 sec=st,min=mt,hour=ht; display(sec,min,hour);用戶定鬧鐘時間模塊void keyscan_time() /用戶定時模塊 if(k2=0) delayms(10); if(k2=0) s=sec;m=min;h=hour; while(k2=0) /開始定時設(shè)置 display(s,m,h); if(k3=0) delayms(10); if(k3=0) while(!k3); ss+; if(ss=3) ss=0; /*通過ss選擇時分秒設(shè)置*/ if(k4=0) /加一 delayms(10);
16、if(k4=0) while(!k4); switch(ss) case 0:s+;if(s=60)s=0;break; case 1:m+;if(m=60)m=0;break; case 2:h+;if(h=24)h=0;break; default :; if(k5=0) /減一 delayms(10); if(k5=0) while(!k5); switch(ss) case 0:if(s0)s-; else s=0;break; case 1:if(m0)m-; else m=0;break; case 2:if(h0)h-; else h=0;break; default : ; 4
17、.其他程序 (1)delay延時函數(shù) void delayms(uint k) /延時函數(shù) uint i,j; for(i=k;i0;i-) for(j=110;j0;j-); 該函數(shù)是一個循環(huán),對于輸入的k值,本程序?qū)⒀h(huán)k*110次以達(dá)到延時的目的。 (2)鬧鈴函數(shù) void buz()if(hour=h)&(min=m)&(sec=s) s7=0; delayms(20); s7=1; 當(dāng)鬧鐘走時與用戶設(shè)置的鬧鐘時間相等時(時分秒都相等),s7對應(yīng)的I/O口輸出低電平,蜂鳴器響。一段時間后s7輸出變?yōu)楦唠娖?,停止響?(3)中斷入口程序 void T0_ms() interrupt 1 /中斷入口程序 TH0=(65536-45872)/256; /重新裝初值 TL0=(65536-45872)%256; count+; if(count=20) /判定1s時間是否已到 count=0; timecontro
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年川味復(fù)合調(diào)味料合作協(xié)議書
- 2025年五年級品德教學(xué)工作總結(jié)模版(三篇)
- 2025年代理售后服務(wù)合同模板(2篇)
- 2025年代理加工合同標(biāo)準(zhǔn)版本(2篇)
- 2025年九年級語文下冊教學(xué)工作總結(jié)范文(二篇)
- 2025年個人簡易倉庫租賃合同(4篇)
- 2025年二手車賣車協(xié)議樣本(4篇)
- 2025年代理合作協(xié)議范例(三篇)
- 2025年人教版小學(xué)二年級語文下冊教學(xué)工作總結(jié)范文(二篇)
- 2025年個人工程勞務(wù)合同樣本(三篇)
- 中國古代文學(xué)史 馬工程課件(上)01總緒論
- GB/T 22085.1-2008電子束及激光焊接接頭缺欠質(zhì)量分級指南第1部分:鋼
- 上海中心大廈-介紹 課件
- 《口腔修復(fù)學(xué)》種植義齒-課件
- 非酒精性脂肪性肝病防治指南解讀課件
- 地理微格教學(xué)課件
- 合成氨操作規(guī)程
- 清華大學(xué)抬頭信紙
- 牛津譯林版六年級下冊單詞詞匯表匯總(完整打印版)
- JJF 1975-2022 光譜輻射計(jì)校準(zhǔn)規(guī)范
- Q∕SY 05268-2017 油氣管道防雷防靜電與接地技術(shù)規(guī)范
評論
0/150
提交評論