




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編號(hào): XXX科技大學(xué)單片機(jī)原理及應(yīng)用設(shè)計(jì)實(shí)驗(yàn)報(bào)告課 題: 電子鐘 專(zhuān) 業(yè): 自動(dòng)化 學(xué)生姓名: XXX 學(xué) 號(hào): XXXXX 2016 年 5 月 16 日目 錄0前言11總體方案設(shè)計(jì)12 硬件電路設(shè)計(jì)23 軟件設(shè)計(jì)44 調(diào)試分析及說(shuō)明55 結(jié)論7參考文獻(xiàn)7課設(shè)體會(huì)8附錄1 電路原理9附錄2 程序清單10 摘要:傳統(tǒng)的數(shù)字電子時(shí)鐘采用了較多的分立元器件,不僅占用了很大的空間而且利用率也比很低,隨著系統(tǒng)設(shè)計(jì)復(fù)雜度的不斷提高,用傳統(tǒng)時(shí)鐘系統(tǒng)設(shè)計(jì)方法很難滿足設(shè)計(jì)需求。單片機(jī)是集CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多種接口于一體的微控制器。它體積小、成本低、功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動(dòng)化
2、上。而51系列的單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。,本次設(shè)計(jì)提出了系統(tǒng)總體設(shè)計(jì)方案,并設(shè)計(jì)了各部分硬件模塊和軟件流程,在用C語(yǔ)言設(shè)計(jì)了具體軟件程序后,將各個(gè)模塊完全編譯通過(guò)過(guò)后,結(jié)果證明了該設(shè)計(jì)系統(tǒng)的可行性。該設(shè)計(jì)給出了以AT89C2051為核心,利用單片機(jī)的運(yùn)算和控制功能,并采用系統(tǒng)化LED顯示模塊實(shí)時(shí)顯示數(shù)字的設(shè)計(jì)方案,適當(dāng)?shù)亟鉀Q了實(shí)際生產(chǎn)和日常生活中對(duì)計(jì)時(shí)高精確度的要求,因此該設(shè)計(jì)在現(xiàn)代社會(huì)中具有廣泛的應(yīng)用性。關(guān)鍵字:AT89C2051,C語(yǔ)言程序,電子鐘。0 前言利用51單片機(jī)開(kāi)發(fā)電子時(shí)鐘,實(shí)現(xiàn)時(shí)間顯示、調(diào)整功能。具體要求如下:(1) 根據(jù)給定題目設(shè)計(jì)的Proteus仿真原
3、理圖,并簡(jiǎn)單闡述設(shè)計(jì)原理;(2) 根據(jù)給定題目設(shè)計(jì)有關(guān)的51匯編語(yǔ)言(或C語(yǔ)言)源程序,及主要的流程框圖;(3) 在Proteus仿真界面下運(yùn)行程序?qū)崿F(xiàn)給定的功能;(4) 下載到ZKSYS單片機(jī)實(shí)驗(yàn)板上驗(yàn)證有關(guān)程序?qū)崿F(xiàn)給定的功能。1 總體方案設(shè)計(jì) 該電子時(shí)鐘由89C51,按鍵,1602 LCD液晶屏等構(gòu)成,采用晶振電路作為驅(qū)動(dòng)電路,利用單片機(jī)內(nèi)部定時(shí)計(jì)數(shù)器0通過(guò)軟件擴(kuò)展產(chǎn)生的一秒定時(shí),達(dá)到時(shí)分秒的計(jì)時(shí),六十秒為一分鐘,六十分鐘為一小時(shí),滿二十四小時(shí)為一天。時(shí)鐘的年月日時(shí)分秒的切換是由一個(gè)按鍵控制,而另外兩個(gè)個(gè)按鍵控制加減調(diào)節(jié)。 圖1 系統(tǒng)結(jié)構(gòu)框圖該電子時(shí)鐘由STC89C51,按鍵,1602 L
4、CD液晶屏等構(gòu)成,采用晶振電路作為驅(qū)動(dòng)電路,晶振電路的晶振頻率為12MHZ,使用的定時(shí)器/計(jì)數(shù)器工作方式1,通過(guò)軟件擴(kuò)展產(chǎn)生的一秒定時(shí),達(dá)到時(shí)分秒的計(jì)時(shí),60秒為一分鐘,60分鐘為一小時(shí),24小時(shí)為一天,又重00:00:00開(kāi)始計(jì)時(shí)2硬件電路設(shè)計(jì)(1) 時(shí)鐘電路設(shè)計(jì)單片機(jī)利用外部12MHZ晶振構(gòu)成振蕩電路作為時(shí)鐘源,時(shí)鐘電路的原理如下圖。圖2 時(shí)鐘電路圖(2) 獨(dú)立按鍵輸入電路 按鍵處理設(shè)置為:當(dāng)有沒(méi)鍵按下時(shí),時(shí)鐘正常運(yùn)行;當(dāng)按K1時(shí)分別切換到年月日時(shí)分秒;按K2為加。按K3為減。電路圖如下圖 圖3 獨(dú)立按鍵電路(3) 單片機(jī)系統(tǒng)AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPE
5、ROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。外形及引腳排列如下圖圖4 單片機(jī)系統(tǒng)圖(4) 液晶顯示LCD1602采用標(biāo)準(zhǔn)的16腳接口,第1腳:VSS為電源地;第2腳:VDD接5V電源正極;第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高;第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器;第5腳:RW為讀寫(xiě)信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫(xiě)操作;第6腳:E(或EN)端為使能(enable)端。第714腳:D0
6、D7為8位雙向數(shù)據(jù)端;第1516腳:空腳或背燈電源。電路如下圖圖5 LCD液晶顯示圖3軟件設(shè)計(jì)本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時(shí)計(jì)數(shù)中斷程序、時(shí)間調(diào)整程序、延時(shí)程序四大模塊。系統(tǒng)的流程圖如下圖開(kāi)始液晶初始化時(shí)間初始化按鍵是否按下?調(diào)整時(shí)間是 否讀取時(shí)間顯示時(shí)間結(jié)束設(shè)計(jì)思路:本系統(tǒng)主要可分為主程序、定時(shí)計(jì)數(shù)中斷程序、時(shí)間調(diào)整程序、延時(shí)程序和LCD液晶驅(qū)動(dòng)程序。定時(shí)中斷程序是利用單片機(jī)內(nèi)部定時(shí)器0實(shí)現(xiàn)1秒的定時(shí),然后利用軟件延時(shí)實(shí)現(xiàn)分小時(shí),時(shí)間調(diào)整程序是利用單片機(jī)的內(nèi)部存貯器,把調(diào)整好的時(shí)間寫(xiě)到顯示時(shí)間的存貯單元,然后啟動(dòng)定時(shí)器開(kāi)始計(jì)時(shí)并顯示,延時(shí)程序是利用軟件實(shí)現(xiàn)延時(shí)達(dá)到去抖的目的。液晶啟動(dòng)
7、程序是為了把單片機(jī)的數(shù)據(jù)送到顯示器的同時(shí)讓顯示器的第6腳使能斷的電平實(shí)現(xiàn)由1到0的跳變,使顯示器執(zhí)行顯示的命令。主程序就是利用這些子程序中斷程序?qū)崿F(xiàn)顯示、定時(shí)等功能。 4調(diào)試分析及說(shuō)明(1) 時(shí)鐘正常運(yùn)行調(diào)試仿真圖圖6 正常運(yùn)行仿真圖 (2) 時(shí)間調(diào)整仿真圖10 對(duì)時(shí)分秒的調(diào)整5 結(jié)論本次電子時(shí)鐘的設(shè)計(jì)基本完成:當(dāng)沒(méi)有鍵按下時(shí),時(shí)鐘正常運(yùn)行;時(shí)鐘的年月日時(shí)分秒的切換是由一個(gè)按鍵控制,而另外兩個(gè)個(gè)按鍵控制加減調(diào)節(jié)附錄1 電路原理附錄2 程序清單 #include<reg52.h>#define uchar unsigned char#define uint unsigned intu
8、char code table=" 2015-05-27 WED "uchar code table1=" 12:30:55"uchar code table2=" 1200810222 "uchar code table3="Made by HUANG"uchar code table4="MONTUEWEDTHUFRISATSUN"uchar count,s1num;char miao,fen,shi,ri,yue;uint nian;sbit lcd_rs = P20;sbit lcd_r
9、w = P21;sbit lcd_en = P22;sbit s1=P10;sbit s2=P11;sbit s3=P12;sbit Output_squ=P36;void delay(uint z)/延時(shí)子函數(shù)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void write_com(uchar com)/寫(xiě)命令函數(shù)lcd_rs = 0;P0= com;delay(5);lcd_en=1;delay(5);lcd_en=0;void write_date(uchar date)/寫(xiě)數(shù)據(jù)函數(shù)lcd_rs = 1;P0= date;delay(5
10、);lcd_en=1;delay(5);lcd_en=0;void init()/初始化函數(shù)int num;shi=12;fen=30;miao=55;ri=27;yue=5;nian=2015;lcd_en=0;lcd_rw=0;write_com(0x38);/顯示設(shè)置模式write_com(0x0c);/00001100開(kāi)顯示,不顯示光標(biāo),光標(biāo)不閃爍 write_com(0x06);/00000110地址指針加一,整屏不移動(dòng)write_com(0x01);/清屏write_com(0x80);for(num=0;num<16;num+)/顯示數(shù)字1200810222write_da
11、te(table2num);delay(300);write_com(0x80+0x40);for(num=0;num<16;num+)/顯示made by HUANGwrite_date(table3num);delay(300);delay(5000);write_com(0x01);write_com(0x80);for(num=0;num<16;num+)/顯示日期write_date(tablenum);delay(5);write_com(0x80+0x40);for(num=0;num<12;num+)/顯示時(shí)間write_date(table1num);del
12、ay(5);TMOD=0x51;/啟動(dòng)定時(shí)器中斷TH0=0X3C; /50msTL0=0XB0;TH1=0X00;TL1=0X00;EA=1;ET0=1;TR0=1;/打開(kāi)定時(shí)器0TR1=1; /打開(kāi)定時(shí)器0void write_sfm(uchar add,uchar date)/寫(xiě)時(shí)分秒函數(shù)uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);void write_nyr(uint add,uint date)/寫(xiě)年月日函數(shù),此處若用uchar
13、范圍只有0-255 /不夠,改用uint(0-65535)uint qian,bai,shi,ge;qian=date/1000;bai=date%1000/100;shi=date%100/10;ge=date%10;write_com(0x80+add);write_date(0x30+qian);write_date(0x30+bai);write_date(0x30+shi);write_date(0x30+ge);void write_yr(uchar add,uchar date)/寫(xiě)月日函數(shù)uchar shi,ge;shi=date/10;ge=date%10;write_com
14、(0x80+add);write_date(0x30+shi);write_date(0x30+ge);void keyscan()/按鍵掃描函數(shù)int m,n;if(s1=0)delay(5);if(s1=0)/按鍵1光標(biāo)移位掃描s1num+;if(s1num=1)while(!s1);/等待按鍵松手write_com(0x80+0x40+10);TR0=0;/關(guān)閉定時(shí)器write_com(0x0f); /開(kāi)顯示,顯示光標(biāo),光標(biāo)閃爍if(s1num=2)while(!s1);write_com(0x80+0x40+7);if(s1num=3)while(!s1);write_com(0x80
15、+0x40+4);if(s1num=4)while(!s1);write_com(0x80+3);if(s1num=5)while(!s1);write_com(0x80+6);if(s1num=6)while(!s1);write_com(0x80+9);if(s1num=7)while(!s1)write_com(0x80+13);if(s1num=8)while(!s1);s1num=0;write_com(0x0c);TR0=1;/開(kāi)定時(shí)器if(s1num!=0)if(s2=0)/按鍵2加功能delay(5);if(s2=0)while(!s2);if(s1num=1)/秒加miao+
16、;if(miao=60)miao=0;write_sfm(10,miao);write_com(0x80+0x40+10);if(s1num=2)/分加fen+;if(fen=60)fen=0;write_sfm(7,fen);write_com(0x80+0x40+7);if(s1num=3)/時(shí)加shi+;if(shi=24)shi=0;write_sfm(4,shi);write_com(0x80+0x40+4);if(s1num=4)/年加nian+;if(nian=10000)nian=2000;write_nyr(1,nian);write_com(0x80+3);if(s1num
17、=5)/月份加yue+;if(yue=13)yue=1;write_yr(6,yue);write_com(0x80+6);if(s1num=6)/日期加ri+;if(ri=29&&yue=2&&!(nian%4=0&&nian%100!=0)|nian%400=0)ri=1;/平年if(ri=30&&yue=2&&(nian%4=0&&nian%100!=0|nian%400=0)ri=1;/閏年if(ri=31&&(yue=4|yue=6|yue=9|yue=11)ri=1;if
18、(ri=32)ri=1;write_yr(9,ri);write_com(0x80+9);if(s1num=7)/星期加m=m+3;if(m=21)m=0;write_com(0x80+12);for(n=m;n<m+3;n+)write_date(table4n);delay(5);write_com(0x80+13);if(s3=0)/按鍵3減功能delay(5);if(s3=0)while(!s3);if(s1num=1)/秒減miao-;if(miao=-1)miao=59;write_sfm(10,miao);write_com(0x80+0x40+10);if(s1num=2
19、)/分減fen-;if(fen=-1)fen=59;write_sfm(7,fen);write_com(0x80+0x40+7);if(s1num=3)/時(shí)減shi-;if(shi=-1)shi=23;write_sfm(4,shi);write_com(0x80+0x40+4);if(s1num=4)/年減nian-;if(nian=1999)nian=2000;write_nyr(1,nian);write_com(0x80+3);if(s1num=5)/月份減yue-;if(yue=0)yue=12;write_yr(6,yue);write_com(0x80+6);if(s1num=
20、6)/日減ri-;if(ri=0)if(yue=2&&!(nian%4=0&&nian%100!=0)|nian%400=0)ri=28;/平年if(yue=2&&(nian%4=0&&nian%100!=0|nian%400=0)ri=29;/閏年if(yue=4|yue=6|yue=9|yue=11)ri=30;if(yue=1|yue=3|yue=5|yue=7|yue=9|yue=11)ri=31;write_yr(9,ri);write_com(0x80+9);if(s1num=7)/星期減m=m-3;if(m=0)m=21;write_com(0x80+12);for(n=m;n-3<m;n+)write_date(table4n-3);delay(5);write_com(0x80+13);void main()int
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年安全評(píng)價(jià)師(中級(jí))職業(yè)技能鑒定安全檢測(cè)案例分析試題
- 2025年文職人員招聘考試公共科目試卷四十三:軍事裝備維護(hù)
- 2025年征信數(shù)據(jù)分析挖掘考試題庫(kù):征信數(shù)據(jù)分析挖掘項(xiàng)目評(píng)估標(biāo)準(zhǔn)
- 2025年會(huì)計(jì)職稱考試《初級(jí)會(huì)計(jì)實(shí)務(wù)》章節(jié)重難點(diǎn)突破實(shí)戰(zhàn)案例與解析試題
- 2025年聚碳酸酯(PC)及合金項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告
- 2025年鍛造工(高級(jí))職業(yè)技能鑒定真題分析與備考
- 2025年德語(yǔ)TestDaF閱讀真題試卷:德語(yǔ)閱讀能力全面訓(xùn)練卷
- 2025年對(duì)外漢語(yǔ)教師資格證考試課程與教學(xué)論試題
- 寵物食品分銷(xiāo)協(xié)議
- 個(gè)人工資增長(zhǎng)證明書(shū)年收入增長(zhǎng)證明(5篇)
- 化工倉(cāng)儲(chǔ)管理系統(tǒng)方案
- 2021-2022學(xué)年貴州省黔東南州高一下學(xué)期期末文化水平測(cè)試數(shù)學(xué)試題【含答案】
- 醫(yī)療技術(shù)臨床應(yīng)用管理信息系統(tǒng)操作手冊(cè)
- 北師大版小學(xué)數(shù)學(xué)四年級(jí)下冊(cè)《優(yōu)化》同步練習(xí)附答案
- (精心整理)初三數(shù)學(xué)幾何的動(dòng)點(diǎn)問(wèn)題專(zhuān)題練習(xí)及答案
- 高血壓腦出血外科治療臨床路徑
- 核電工程施工隱患排查專(zhuān)項(xiàng)培訓(xùn)課件
- Q_SLB0402-2005 產(chǎn)品鋼印及標(biāo)記移植
- 勞動(dòng)者個(gè)人職業(yè)健康監(jiān)護(hù)檔案(樣板)
- 小學(xué)數(shù)學(xué)教師業(yè)務(wù)能力測(cè)試試題
- 空客A320-IPC手冊(cè)使用介紹
評(píng)論
0/150
提交評(píng)論