版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于單片機(jī)控制的時(shí)鐘設(shè)計(jì)報(bào)告設(shè)計(jì)目的單片機(jī)即單片機(jī)微型計(jì)算機(jī),是集CPU、存儲(chǔ)器、定時(shí)和多種接口于一體的微控制器。它 體積小,成本低,功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動(dòng)化上。這次設(shè)計(jì)通過(guò)對(duì)它的學(xué)習(xí)、 應(yīng)用,從而達(dá)到學(xué)習(xí)設(shè)計(jì)、開(kāi)發(fā)軟硬件的目的。學(xué)習(xí)使用4X4矩陣鍵盤(pán)的設(shè)計(jì)方法,實(shí)踐 對(duì)比按鍵抖動(dòng)對(duì)掃描鍵盤(pán)輸出的影響。學(xué)習(xí)數(shù)碼管的動(dòng)態(tài)顯示功能以及對(duì)液晶、蜂鳴器和發(fā) 光二極管的操作。同時(shí),學(xué)會(huì)應(yīng)用keil軟件設(shè)計(jì)的具體要求 設(shè)計(jì)的電子時(shí)鐘可以同時(shí)通過(guò)數(shù)碼管和液晶顯示,并能通過(guò)按鍵實(shí)現(xiàn)調(diào)整時(shí)間和設(shè)置鬧鐘的 目的。采用方式一對(duì)12MHZ的系統(tǒng)時(shí)鐘進(jìn)行定時(shí)計(jì)數(shù),然后把秒、分、時(shí)計(jì)數(shù)器分成十位 和各位在液
2、晶上顯示(數(shù)碼管顯示秒和分),數(shù)碼管采用動(dòng)態(tài)顯示的方法,在處理過(guò)程中加 入按鍵判斷的程序,能對(duì)按鍵進(jìn)行處理,系統(tǒng)掃描到按鍵確實(shí)有作用后使發(fā)光二極管燈亮。 系統(tǒng)設(shè)計(jì)總體設(shè)計(jì) 經(jīng)過(guò)分析論證,確定流程圖如下:整套系統(tǒng)以AT89S52單片機(jī)為核心控制系統(tǒng),利用其定時(shí)器采用方式1進(jìn)行計(jì)時(shí),并通過(guò) 1602A液晶顯示模塊顯示出來(lái),同時(shí),也加入了數(shù)碼管動(dòng)態(tài)顯示功能,整個(gè)設(shè)計(jì)還可以實(shí)現(xiàn) 鬧鐘功能,一旦到達(dá)鬧鐘設(shè)定時(shí)間,將進(jìn)入中斷開(kāi)啟蜂鳴器。矩陣鍵盤(pán)右16個(gè)開(kāi)關(guān)組成用 來(lái)調(diào)時(shí)。單片機(jī)最小系統(tǒng)的設(shè)計(jì)+5V 夏橙畫(huà)犍刊口Pl 恥PL712 34 5 6Pl tlPl 1P3.2F331肥4芮5if排插 珀二+5V
3、夏橙畫(huà)犍刊口Pl 恥PL712 34 5 6Pl tlPl 1P3.2F331肥4芮5if排插 珀二I40芻貂57軸站343332.311301卻231271託陽(yáng)241姑22 121125S9EAT0 12 345 6 7s 91L fa- - ajVCC.,PQ.0.P0.1P0.3P0.4*Ml?:* 排阻畑PJ_7P2 6P20設(shè)計(jì)原理最小系統(tǒng)的設(shè)計(jì)晶振的作用非常大,它結(jié)合單片機(jī)內(nèi)部的電路,產(chǎn)生單片機(jī)所需要的時(shí)鐘頻 率,兩旁的負(fù)載電容是為了提供晶振工作需要的并聯(lián)諧振狀態(tài),最大限度的保證頻率值的誤 差。復(fù)位電路中,剛接通電源時(shí),電容充電,10K電阻上出現(xiàn)電壓,單片機(jī)復(fù)位。幾個(gè)毫秒后, 充電
4、停止,10K電阻電壓為0,單片機(jī)正常工作。工作期間,按下復(fù)位鍵電容放電,松手, 電容充電,單片機(jī)復(fù)位,幾毫秒后正常工作。P0 口上拉電阻的作用,P0作為開(kāi)漏輸出端口時(shí),只有外接上拉電阻才能輸出高電平。單片機(jī)中斷系統(tǒng)基本原理MCS-51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)本設(shè)計(jì)中,定時(shí)器/計(jì)數(shù)器 T0 用于時(shí)間計(jì)時(shí)。選擇方式 1,重復(fù)定時(shí),定時(shí)時(shí)間設(shè)為 50ms, 定時(shí)時(shí)間到則中斷,在中斷服務(wù)程序中用一個(gè)計(jì)數(shù)器對(duì)50ms計(jì)數(shù),計(jì)20次則對(duì)秒單元加1, 秒單元加到 60則對(duì)分單元加 1,同時(shí)秒單元清0;分單元加到60則對(duì)時(shí)單元加1,同時(shí)分 單元清0;時(shí)單元加到 24 則對(duì)時(shí)單元清0,標(biāo)志一天時(shí)間計(jì)滿。在對(duì)各單元計(jì)
5、數(shù)的同時(shí),把 它們的值放到存儲(chǔ)單元的指定位置。定時(shí)器工作方式 1TCONTMODM0 D0M1 ctFGATEM0M1C/TGATE D7產(chǎn)生單片機(jī)定時(shí)器溢出中斷與CPU響應(yīng)中斷的時(shí)間誤差有兩個(gè)原因。一是定時(shí)器溢出中斷 信號(hào)時(shí),CPU正在執(zhí)行某指令;二是定時(shí)器溢出中斷信號(hào)時(shí),CPU正在執(zhí)行某中斷服務(wù) 程序。理想情況下,TL0滿了后向TH0進(jìn)1, TL0變?yōu)? x00。當(dāng)TH0滿了后,溢出中斷,THO變?yōu)? x00。當(dāng)處于前兩種情況時(shí),CPU不能及時(shí)響應(yīng)定時(shí)器的溢出中斷請(qǐng)求,從而產(chǎn) 生了較大誤差,本設(shè)計(jì)采用了動(dòng)態(tài)補(bǔ)償?shù)姆椒▉?lái)解決這個(gè)問(wèn)題,詳見(jiàn)軟件設(shè)計(jì)。矩陣鍵盤(pán)的設(shè)計(jì)操作原理以操作第1行為例,設(shè)置
6、列信號(hào)為1111,設(shè)置行信號(hào)為1110,此時(shí)當(dāng)?shù)?行有一個(gè)鍵按下 時(shí),該鍵所在列信號(hào)變?yōu)?。比如第1行第1列的鍵按下,信號(hào)就變?yōu)?1101110與Oxff 取位與(&)就能掃描出確實(shí)有鍵按下了,這時(shí),讀出矩陣鍵盤(pán)所接單片機(jī)接口的電平,以 確定是哪個(gè)鍵按下。操作其他行原理類(lèi)似。因?yàn)橐话愕拈_(kāi)關(guān)在大約20ms內(nèi)信號(hào)不穩(wěn)定,存在所謂的“開(kāi)關(guān)抖動(dòng)”,會(huì)產(chǎn)生多個(gè)脈沖影響 電路正常工作。所以軟件設(shè)計(jì)時(shí)要注意做防抖處理。數(shù)碼管設(shè)計(jì)0 1J 申 b i 7三 TT20 1J 申 b i 7三 TT2L&HU7+HC 575設(shè)計(jì)原理數(shù)碼管的設(shè)計(jì)采用動(dòng)態(tài)顯示原理,動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,
7、由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪 流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人的 感覺(jué)好像各位數(shù)碼管同時(shí)都在顯示。設(shè)計(jì)中使用了兩個(gè)鎖存器,給WELALL 個(gè)高電平,給DULALL 個(gè)低電平時(shí),系統(tǒng)給 DOD7賦值,即決定了哪幾位數(shù)碼管有效。給DULALL 個(gè)高電平,給WELALL 一個(gè)低 電平時(shí),系統(tǒng)給DOD7賦值,即決定了有效位顯示什么數(shù)字。很好地達(dá)到了動(dòng)態(tài)顯示的目 的。蜂鳴器模塊三極管的作用通過(guò)對(duì)三極管基極的操作,起到對(duì)蜂鳴器開(kāi)關(guān)的作用。液晶顯示模塊的設(shè)計(jì)發(fā)光二極管的設(shè)計(jì)直接將發(fā)光二極管與10K電阻串聯(lián)接入電
8、路即可。Proteus仿真電路19 A P0._2P3 6 -I -In勺勺rkkU2doQ0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7LEP0.4P0.P0.P0.JP0.8U3doQ0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7LEE. . P0.FP0.J7UT卜XTAL2P0.1/AD1P0.2/AD2P0.3/AD3RSTP0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9PSENP2.2/A10P2.3/A11P2.4/A12ALEEAP1.0/T2P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP1
9、.1/T2EXP3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P1.5P3.4/T0P3.5/T1P1.6P3.6/WR,32 po.o 238 P0.1 337 P0.2 436 P0.3 535P0.4634 P0.5 7五 P0.6 832 P0.7 9R34.7k軟件程序#include#define uchar unsigned char#define uint unsigned intsbit dula=P3人6;sbit wela=P3人7;ucharcodetimer=0 x40,0 x79,0 x24,0 x30,0 x19,0 x12,0 x02
10、,0 x78,0 x00,0 x10,0 x08,0 x03,0 x46,0 x21,0 x06,0 x0e ,0 xff;uchar fixtime;uint a,b,c,d,c1,d1,num1,num2,num3,num4,num5,num6,flag,flag1;sbit red=P3A5;sbit alarm=P3A3;sbit RS=P3A0;sbit E=P3A2;uchar code table1=:;/延時(shí)函數(shù)void delay(uchar z)uchar x,y;for(x=z;x0;x-)for(y=110;y0;y-);/初始化并開(kāi)啟中斷void unin()a=0;
11、b=0;c=0;d=0; c1=0;d1=0;flag=0;flag1=0;TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;/矩陣鍵盤(pán)調(diào)時(shí)函數(shù)void change()uchar temp,key;key=0;P1=0 xfd;temp=P1;temp=temp&0 xf0; if(temp!=0 xf0)delay(5);temp=P1; temp=temp&0 xf0; if(temp!=0 xf0) red=1; temp=P1;switch(temp)case 0 xed:key=1;brea
12、k;case 0 xdd:key=2;break;case 0 xbd:key=3; break;case 0 x7d:key=4; break; while(temp!=0 xf0)temp=P1; temp=temp&0 xf0;red=0;if(key=1)flag1+;if(key=2)if(flag1%2=0) c+;if(flag1%2=1) c-;if(key=3)if(flag1%2=0) d+;if(flag1%2=1) d-;if(key=4)flag+;/ 時(shí)間自加函數(shù)void add()if(a=15)a=0;b+;if(b=60)b=0;c+;if(c=60)c=0;
13、 d+; if(d=24) d=0; /鬧鐘函數(shù) void beep() if(c=c1) if(d=d1) if(flag%2=0) alarm=0; delay(10); alarm=1; delay(10); alarm=0; delay(10);alarm=1; delay(10); /數(shù)碼管顯示函數(shù) void out() num1=d/10; num2=d%10; num3=c/10; num4=c%10; num5=b/10; num6=b%10;wela=1;P0=0 xf1; wela=0; dula=1; P0=timernum3; dula=0;delay(5);wela=
14、1;P0=0 xf2; wela=0; dula=1;P0=timernum4; dula=0;delay(5);wela=1;P0=0 xf4; wela=0; dula=1;P0=timernum5; dula=0;delay(5);wela=1;P0=0 xf8; wela=0; dula=1;P0=timernum6; dula=0;delay(5);/液晶顯示函數(shù) void write_com(uchar com) RS=0;P2=com;delay(5);E=1;delay(5);E=0;delay(5);void write_date(uchar date)RS=1;P2=dat
15、e;delay(5);E=1;delay(5);E=0;delay(5);void write(uchar date,uchar dot) write_com(0 x80+0 x40+dot);/ delay(5); write_date(0 x30+date);/ delay(5);void unin1()E=0;write_com(0 x38); write_com(0 x0c); write_com(0 x06); write_com(0 x01);write_com(0 x80+0 x40);void out1()num1=d/10; num2=d%10;num3=c/10; num4
16、=c%10;num5=b/10; num6=b%10;unin1(); write(num1,1); write(num2,2); write_com(0 x80+0 x40+3); write_date(table10); write(num3,4); write(num4,5); write_com(0 x80+0 x40+6); write_date(table10); write(num5,7); write(num6,8);/主函數(shù)void main()unin();while(1)change();add(); beep();out();out1();/定時(shí)器中斷服務(wù)程序void
17、time() interrupt 1EA=0;TR0=0; fixtime=TL0+0X0C;TH0=0 xFC+(char)CY;EA=1;TR0=1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;a+;設(shè)計(jì)制作流程1、在 PROTEUS 中設(shè)計(jì)硬件PROTEUS 使用過(guò)程如下:選擇元器件放置元器件連線添加程序運(yùn)行仿真 元器件清單如下:2、在KEIL中編寫(xiě)程序,編譯、連接形成HEX文件。3、在 PROTEUS 中把 HEX 文件加載到單片機(jī)芯片上。4、運(yùn)行仿真看結(jié)果。5、按照 proteus 仿真圖進(jìn)行焊接。6、下載程序,看實(shí)物的運(yùn)行結(jié)果。7、寫(xiě)設(shè)計(jì)報(bào)告。 參考文獻(xiàn) 郭天祥,十天學(xué)會(huì)單片機(jī)視頻教程 盧
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《營(yíng)業(yè)稅課件》課件
- 《統(tǒng)計(jì)調(diào)查技能模塊》課件
- 《認(rèn)識(shí)寶島臺(tái)灣》課件
- 《王老吉的市場(chǎng)營(yíng)銷(xiāo)》課件
- 《網(wǎng)頁(yè)設(shè)計(jì)與鑒賞》課件
- 2025年中考語(yǔ)文文言文總復(fù)習(xí)-教師版-專(zhuān)題01:文言文閱讀之理解實(shí)詞含義(講義)
- 鞋業(yè)生產(chǎn)線采購(gòu)招標(biāo)合同三篇
- 教育機(jī)構(gòu)話務(wù)員工作總結(jié)
- 藥品醫(yī)療器械銷(xiāo)售心得分享
- 兒童感染科護(hù)理工作總結(jié)
- 理解詞語(yǔ)句子的方法PPT
- 作文開(kāi)頭與結(jié)尾PPT課件ppt(共42張PPT)
- 重癥醫(yī)學(xué)科運(yùn)用PDCA循環(huán)提高消毒棉簽開(kāi)啟時(shí)間標(biāo)注的執(zhí)行率品管圈成果匯報(bào)
- 云南面向東南亞、南亞區(qū)域物流系統(tǒng)優(yōu)化研究的開(kāi)題報(bào)告
- 高效課堂教學(xué)流程和課堂常規(guī)公開(kāi)課一等獎(jiǎng)市賽課獲獎(jiǎng)?wù)n件
- 《新媒體營(yíng)銷(xiāo)與策劃》考試復(fù)習(xí)題庫(kù)(含答案)
- 浙江寧波廣播電視集團(tuán)發(fā)射中心招考聘用筆試參考題庫(kù)答案解析
- 2024年航天知識(shí)總結(jié)
- 公立醫(yī)院章程范本(中國(guó)醫(yī)院協(xié)會(huì)2019版)
- 江蘇小高考(物理化學(xué)生物)真題及答案
- 垃圾開(kāi)挖清運(yùn)方案
評(píng)論
0/150
提交評(píng)論