單片機數(shù)字時鐘實訓(xùn)報告
天津職業(yè)大學(xué)電子信息工程學(xué)院
二○一一~二○一二學(xué)年第一學(xué)期
單片機實訓(xùn)課程設(shè)計報告書
課程名稱:單片機數(shù)字時鐘實訓(xùn)班級:09級通信3班學(xué)號:0904043050904043姓名:實訓(xùn)教師:
201*年10月13日
一設(shè)計要求
用51單片機實現(xiàn)數(shù)字時鐘的功能。能夠顯示時間時分秒,可以進行時間的調(diào)整,
二電路圖
三程序設(shè)計
/*p0接六個數(shù)碼管的段選端口,p1接六個數(shù)碼管的位選端,p1^0接秒的個位*/#include#defineucharunsignedchar#defineuintunsignedint
ucharnum0,num,xiao,fen,miao,ge,shi,num1,i,j,k;sbitkey1=P2^1;//設(shè)定時間選擇鍵sbitkey2=P2^2;//時間調(diào)整
ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0};//不帶小數(shù)點ucharcodetable0[]={0xbf,0xb0,0xdb,0xf9,0xf4,0xed,0xef,0xbf,0xff,0xfc,0};//小數(shù)點在左上方ucharcodetable1[]={0x3e,0x3d,0x3b,0x37,0x2f,0x1f};//位選端
ucharcodetable2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0};//小數(shù)點在右下方voiddelay(uintz);
voiddisplay(uchar,uchar,uchar);voidkeyscan();
voidclock();
voidinit(){
num1=0;xiao=23;fen=59;miao=59;num0=0;
TMOD=0x01;
TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;TR0=1;EA=1;
P1=0xc0;
P0=table[0];}
voidmain(){
init();
while(1){
display(xiao,fen,miao);keyscan();
}}voiddelay(uintz)//延時一毫秒{uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);}
voiddisplay(ucharxshu,ucharfshu,ucharmshu)//顯示函數(shù){shi=mshu/10;ge=mshu%10;P1=table1[0];P0=table[ge];delay(2);P1=table1[1];
P0=table0[shi];
delay(2);shi=fshu/10;ge=fshu%10;P1=table1[2];P0=table2[ge];delay(2);P1=table1[3];P0=table0[shi];delay(2);shi=xshu/10;ge=xshu%10;P1=table1[4];P0=table2[ge];delay(2);P1=table1[5];P0=table[shi];
delay(2);
}voidkeyscan()//時間調(diào)整{if(key1==0){
delay(5);if(key1==0){while(!key1);num0=num0+1;TR0=0;if(num0==4){num0=0;TR0=1;
display(xiao,fen,miao);
}}}if(num0!=0){if(key2==0)
{delay(5);if(key2==0){while(!key2);if(num0==1){miao++;if(miao==60)
miao=0;
display(xiao,fen,miao);}
if(num0==2){fen++;if(fen==60)
fen=0;
display(xiao,fen,miao);}
if(num0==3){xiao++;
if(xiao==24)xiao=0;
display(xiao,fen,miao);}}
}}}voidtimer0()interrupt1//定時器零{TH0=(65536-50000)/256;TL0=(65536-50000)%256;num++;if(num==19){num=0;miao++;if(miao==60){miao=0;
fen++;
5if(fen==60){fen=0;xiao++;
if(xiao==24){xiao=0;
}display(xiao,fen,miao);}
display(xiao,fen,miao);
}display(xiao,fen,miao);
}}課程設(shè)計成績:指導(dǎo)教師簽字:
日期:年月日
6擴展閱讀:單片機2實訓(xùn)報告數(shù)字鐘
桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院
單片機實訓(xùn)Ⅱ報告
數(shù)字鐘
學(xué)院(系):電子信息工程系專業(yè):電子信息工程技術(shù)學(xué)號:091222106學(xué)生姓名:覃榮星指導(dǎo)教師:葉俊明桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
目錄
摘要...................................................................11緒論...................................................................32課題背景...............................................................32.1設(shè)計任務(wù)與要求.......................................................32.2設(shè)計目的...............................................................3
2.2.1設(shè)計題目的概述.......................................................3
3總體設(shè)計方案..........................................................33.1設(shè)計思想...............................................................43.2方案選擇與論證..........................................................44硬件設(shè)計...............................................................44.1總體硬件結(jié)構(gòu)及原理......................................................44.2硬件原理框圖......................................................44.3硬件的各個部分...........................................................5
4.3.1單片機...............................................................54.3.2按鍵電路...............................................................54.3.3顯示電路...............................................................64.3.4報警電路...............................................................6
5程序設(shè)計...............................................................76結(jié)論.................................................................11致謝.........................................................13附件
桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
摘要
單片微型機俗稱單片機,是一種運用十分廣泛的微處理器。在各種稱為計算機控制的儀器和設(shè)備中的計算機控制都是用單片機來實現(xiàn)的。本任務(wù)是采用單片機控制技術(shù)來實現(xiàn)對LCD時鐘的控制,基于單片機的定時和控制裝置的應(yīng)用,是數(shù)字鐘最為基本的應(yīng)用。在基本的單片機系統(tǒng)和外圍電路外,還要有外部的控制和顯示裝置。
數(shù)字鐘是實現(xiàn)對年、月、日、時、分、秒數(shù)字顯示的計時裝置,廣泛用于個人家庭、車站、碼頭、辦公室、銀行大廳等場所,成為人們?nèi)粘I畹谋匦杵贰@脝纹瑱C實現(xiàn)數(shù)字鐘的方法具有編程靈活,便于數(shù)字鐘功能的擴充,而此次設(shè)計也是采用單片機實現(xiàn)數(shù)字鐘的方法,這其中還有不同的顯示方法,數(shù)碼管和LCD1602液晶顯示,在這里我們采用液晶顯示。
關(guān)鍵詞:數(shù)字鐘;單片機;LCD;
第1頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
Abstract
ThesinglechipMicyoco,commomsayingSCM.Itisasortmicroprocessorbeusedsowidely.Inthekindofmachineandapparatusbycomputercontrol,thiscomputerissinglechip.Thisarticleisabouthowtorealizethecontrolonrestingtimebythesinglechipcontroltechnology,thebasicapplicationofadigitalclockistheapplicationoftimingandcontroldeivce.Basedonthissinglechipsystem.Onitstillneedsoutercontrolanddisplaydevice.
Adigitalclockistorealizetodateandtime,minutesandsecondsdigitaldisplaytimerdevice,widelyusedinpersonalfamily,station,wharf,office,banklobby,becomepeopletoplacessuchasdailynecessitiesoflife.UsingSCMrealizingadigitalclockmethodsareprogrammingflexible,facilitatetheexpansionofthedigitalclockfunction,andthedesignisalsoadoptssinglechipmicrocomputermethodofdigitalclock,therearedifferentdisplaymethod,digitaltubeandLCD1602LCDdisplay,hereweadoptLCDdisplay.
Keywords:Digitalclock;singlechipMicyoco;LCDdisplay;
第2頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
1緒論
數(shù)字鐘是實現(xiàn)對年、月、日、時、分、秒數(shù)字顯示的計時裝置,廣泛用于個人家庭、車站、碼頭、辦公室、銀行大廳等場所,成為人們?nèi)粘I畹谋匦杵。而?shù)字鐘的的設(shè)計方法有很多,例如,可用中小規(guī)模集成電路組成數(shù)字鐘,也可以利用專用的數(shù)字鐘芯片配以顯示電路及其所需要的外圍電路組成數(shù)字鐘,還可以利用單片機來實現(xiàn)數(shù)字鐘等等,這些方法都有各自的特點,其中,利用單片機實現(xiàn)數(shù)字鐘的方法具有編程靈活,便于數(shù)字鐘功能的擴充,而此次設(shè)計也是采用單片機實現(xiàn)數(shù)字鐘的方法,這其中還有不同的顯示方法,數(shù)碼管和LCD1602液晶顯示,在這里我們采用液晶顯示。液晶顯示比數(shù)碼管更加的方便,顯示功能也比數(shù)碼管多,能夠顯示年、月、日、時、分、秒,讓人一目了然,非常方便。
2課題背景
單片機自1976年由Intel公司推出MCS-48開始,迄今已有二十多年了。由于單片機集成度高、功能強、可靠性高、體積小、功耗低、使用方便、價格低廉等一系列優(yōu)點,目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無處不在,無處不為”。單片機的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產(chǎn)品、辦公自動化、汽車電子、PC機外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。。
本次設(shè)計的單片機多功能數(shù)字鐘的核心是目前應(yīng)用極為廣泛的單片機,配置了外圍設(shè)備,構(gòu)成了一個可編程的定時系統(tǒng),具有體積小、可靠性高、功能強等特點。不僅能滿足所需要求而且還有很多功能可供開發(fā),有著廣泛的應(yīng)用領(lǐng)域。
2.1設(shè)計任務(wù)與要求
本次設(shè)計的數(shù)字鐘主要能夠完成三項要求:(1)使用LCD1602液晶做顯示器;(2)使用單片機定時計數(shù)器設(shè)計時鐘;(3)可調(diào)時功能,有到點報時功能;
2.2設(shè)計目的
通過該畢業(yè)設(shè)計對單片機系統(tǒng)要有一個全面的了解、掌握常規(guī)芯片的使用方法、掌握簡單單片機應(yīng)用系統(tǒng)軟硬件的設(shè)計方法,進一步鍛煉在單片機應(yīng)用方面的實際動手能力。了解數(shù)字鐘的應(yīng)用和發(fā)展,更好的設(shè)計更加方便多功能的數(shù)字鐘。
2.2.1設(shè)計題目的概述
數(shù)字鐘是基于單片機的時鐘電路,液晶顯示電路,報警電路和獨立按鍵電路組合而成。利用89S51單片機外接LCD1602液晶和報警電路,由用戶通過按鍵選擇改變液晶輸出的年、月、日、時、分、秒的哪一個,通過按鍵一光標移位鍵,選中自己想要改變的內(nèi)容,由按鍵二和按鍵三改變。而蜂鳴器到時間時就會報警。
3總體設(shè)計方案
第3頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
3.1設(shè)計思想
數(shù)字鐘硬件通過使用單片機I/O口連接外圍電路,結(jié)合軟件編程實現(xiàn)定時功能。通過獨立按鍵改變年、月、日、時、分、秒的顯示內(nèi)容,在編寫程序時定義好自己需要提醒的一個或幾個時間段,到點時,單片機會給蜂鳴器一個信號,然后蜂鳴器報警。
3.2方案選擇與論證
數(shù)字鐘鐘采用單片機技術(shù),通過編程控制定時,但是通常有以下兩種顯示電路實現(xiàn):
方案一:使用LED8段數(shù)碼管。采用單片機動態(tài)掃描將時鐘數(shù)據(jù)通過數(shù)碼管進行實時顯示。但數(shù)碼管的顯示功能具有局限性,不能達到預(yù)期效果,此外,數(shù)碼管驅(qū)動電路繁瑣,不易控制。
方案二:使用LCD1602顯示器。1602顯示器顯示格式2*16,能夠顯示數(shù)字及常用英文字符。單片機通過8根數(shù)據(jù)線,3根數(shù)據(jù)控制線對1602顯示器進行控制,使其實時顯示時鐘。
方案選擇:經(jīng)理論分析與實際電路測試,考慮到題目要求和方便簡潔性,選擇方案二,采用LCD1602顯示器。
4硬件設(shè)計
4.1數(shù)字鐘總體硬件結(jié)構(gòu)及原理
數(shù)字鐘的硬件結(jié)構(gòu)主要由單片機芯片、復(fù)位電路、時鐘電路、顯示電路LCD1602液晶顯示、按鍵電路以及報警電路六部分構(gòu)成。通過編寫程序燒入單片機,驅(qū)動LCD1602液晶,由按鍵控制顯示部分的年、月、日、時、分、秒的變化,定時到自己需要的時間時,蜂鳴器報警。
4.2硬件原理框圖
圖4.2.1硬件原理框圖
第4頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
4.3硬件的各個部分
4.3.1單片機
(1)復(fù)位電路
單片機的復(fù)位電路是由外部的復(fù)位電路來實現(xiàn)的。復(fù)位引腳RST通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,在每個機器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。
復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種,本設(shè)計采用按鈕復(fù)位。(2)時鐘電路
時鐘電路是單片機的心臟,單片機各功能部件的運行都是以時鐘頻率為基準,有條不紊的一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。
圖4.3.1內(nèi)部時鐘電路
4.3.2按鍵電路
按鍵的開關(guān)狀態(tài)通過一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過程在相應(yīng)的I/O端口形成一個負脈沖。閉合和釋放過程都要經(jīng)過一定的過程才能達到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動。抖動持續(xù)時間的長短與開關(guān)的機械特性有關(guān),而本設(shè)計采用的是獨立按鍵,直接用I/O口線連接構(gòu)成單個按鍵電路,每個按鍵占用一個I/O口,每個按鍵的工作狀態(tài)不會產(chǎn)生互相影響。
圖4.3.2按鍵電路
P1.0口表示數(shù)字“+”,按一下則對應(yīng)的數(shù)字加1,是對時鐘“秒”進行調(diào)整。
第5頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
P1.2口表示數(shù)字“+”,按一下則對應(yīng)的數(shù)字加1,是對時鐘“分”進行調(diào)整。P1.4口表示數(shù)字“+”,按一下則對應(yīng)的數(shù)字加1,是對時鐘“時”進行調(diào)整
4.3.3顯示電路
圖4.3.3.1顯示電路
LCD1602是內(nèi)帶字庫的液晶,可以寫32個字母或符號。驅(qū)動LCD1602有兩種方法,一種是并行,需要11個I/O口。一種是串行,需要7個I/O口。
其中:
RS:寄存器選擇,高電平選擇數(shù)據(jù)寄存器,低電平選擇指令寄存器。R/W:讀寫信號線,高電平讀操作,低電平寫操作。
E:全能端,當E為高電平跳變到低電平時,液晶模塊執(zhí)行命令。
圖4.3.3.2顯示效果
4.3.4報警電路
圖4.3.4報警電路利用單片機P1.6I/O口接報警
第6頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
電路,通過軟件到點時給P1.6口信號,LED亮。
5程序設(shè)計
#include"reg51.h"#include"LCD1602.H"#defineucharunsignedchar#defineuintunsignedintsbitk0=P1^0;sbitk1=P1^2;sbitk2=P1^4;sbitled=P1^6;
uintsecond=59,minute=59,hour=23;ucharcounter;voiddelay(uintms){}
voidinitTimer(void){
TMOD=0x1;TH0=0x3c;TL0=0xb0;}
voidtimer0(void)interrupt1{
TH0=0x3c;TL0=0xb0;
第7頁
uinti,j;for(i=0;i桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
counter++;if(counter>=20){
second++;counter=0;
}if(second>59){
minute++;second=0;}
if(minute>59){
hour++;minute=0;}
if(hour>23){
hour=0;}}
voidmain(void){
initTimer();TR0=1;ET0=1;EA=1;lcd_init();
第8頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
write_lcd_string(0,0,"myCLOCK");write_lcd_string(0,1,"::");while(1){{
delay(15);if(k0==0){
second+=1;
if(second>59)second=0;
write_lcd_char(7,1,coder[second%10]);write_lcd_char(6,1,coder[second/10]);write_lcd_char(4,1,coder[minute%10]);write_lcd_char(3,1,coder[minute/10]);write_lcd_char(1,1,coder[hour%10]);write_lcd_char(0,1,coder[hour/10]);if(k0==0)
}}while(k0==0);if(k1==0){
delay(15);if(k1==0){
minute+=1;
if(minute>59)minute=0;
}}while(k1==0);if(k2==0)
第9頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
{delay(15);if(k2==0){
hour+=1;
if(hour>23)hour=0;
}}while(k2==0);
if(hour==0&&minute==0&&second==10){}
elseled=0;}}
led=1;
第10頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
6結(jié)論
此電路基本可以完成任務(wù)要求的各個功能,具有按鍵調(diào)時功能,定時報警的功能。能顯示時、分、秒。該設(shè)計很好的滿足當前課題的要求,是一個理想的智能化的設(shè)計。它具有一個走時精確的實時鐘,可以任意設(shè)置時間,可以通過按鍵操作和數(shù)字顯示。該設(shè)計規(guī)模小,但是功能多,操作簡單,造價低,應(yīng)用非常廣泛。
第11頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
參考文獻
[1]張專成,趙懷勛.單片機測控系統(tǒng)中的監(jiān)視定時器.武警技術(shù)學(xué)院.Mar1977.[2]何希慶,高偉.MCS-51單片機原理、實驗、實例〔M〕,山東;山東大學(xué)出版
社.1989.
[3]張友德.單片機微型機原理、應(yīng)用與實踐.上海;復(fù)旦大學(xué)出版社.1992.[4]江思敏,姚鵬翼.PADS電路原理圖和PCB設(shè)計;北京;機械工程出版社.201*.[5]張秀國.單片機C語言程序設(shè)計教程與實訓(xùn).北京;北京大學(xué)出版社.201*.
第12頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
致謝
我在這一次數(shù)字鐘的設(shè)計過程中,很是受益匪淺。通過對自己所學(xué)的知識的回顧,充分發(fā)揮對所學(xué)知識的理解,完成了此次的設(shè)計,雖然在做實訓(xùn)時還是遇到了很多問題,不過還是很好的完成了作品。在這里我要感謝葉老師的辛苦教導(dǎo),細心的為我解答,還不斷指出我的錯誤,我非常感謝葉老師,想對老師說聲謝謝和辛苦了,還有感謝和我一起一組的搭檔,當遇到問題時一起細心尋找問題根源并解決,是我門的相互默契成就了我們的作品成功。同時我還要感謝我身邊的同學(xué),謝謝他們能在我遇到問題時,和我一起討論,鼓勵我不要氣餒。非常謝謝他們。
201*年06月02日
第13頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
附件
PCB圖
原理圖
第14頁桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院實訓(xùn)報告
仿真圖
第15頁
友情提示:本文中關(guān)于《單片機數(shù)字時鐘實訓(xùn)報告》給出的范例僅供您參考拓展思維使用,單片機數(shù)字時鐘實訓(xùn)報告:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。