資源描述:
《c51數(shù)字可調(diào)時(shí)鐘設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、基于AT89C51+DS1602的數(shù)字可調(diào)時(shí)鐘設(shè)計(jì)項(xiàng)目報(bào)告課程:單片機(jī)系統(tǒng)開發(fā)題目:基于AT89C51+DS1602的數(shù)字可調(diào)時(shí)鐘專業(yè):嵌入式系統(tǒng)開發(fā)姓名:翟霓學(xué)號:2009821104數(shù)字可調(diào)時(shí)鐘設(shè)計(jì)1.1項(xiàng)目概述隨著現(xiàn)代科技日新月異的發(fā)展,單片機(jī)的應(yīng)用越來越廣。單片機(jī)儀器體積小、重量輕、功能強(qiáng)大、功耗低等特點(diǎn)而備受青睞。在這個(gè)效率第一的時(shí)代,把握好時(shí)間是關(guān)鍵,數(shù)字時(shí)鐘體積小,安裝使用方便,不僅可以作為家用電子鐘,而且可以廣泛用于車站,體育場館等公共場所。1.2項(xiàng)目要求設(shè)計(jì)基于AT89C51單片機(jī)的數(shù)字可
2、調(diào)時(shí)鐘,晶振采用12HZ,要求如下:(1)設(shè)計(jì)采用DS1602液晶顯示兩行字。(2)可以顯示星期及時(shí)、分、秒,24小時(shí)制。(3)具有校時(shí)功能:可以對小時(shí)和分單獨(dú)校時(shí),對分校時(shí)的時(shí)候,停止分向小時(shí)的進(jìn)位。(4)具有整點(diǎn)提醒功能。1.3系統(tǒng)設(shè)計(jì)數(shù)字時(shí)鐘以AT89C51為核心,通過按鍵調(diào)試時(shí)間。由復(fù)位電路模塊,按鍵模塊,顯示模塊組成。1.3.1框圖設(shè)計(jì)復(fù)位電路AT89C51顯示電路按鍵電路信號燈1.3.2知識點(diǎn)本項(xiàng)目通過學(xué)習(xí)和查閱資料,了解和掌握以下知識:l電源原理及設(shè)計(jì)。l單片機(jī)復(fù)位電路工作原理及設(shè)計(jì)。lDS1
3、602液晶顯示器的特性及使用。l按鍵的應(yīng)用。lAT89C51單片機(jī)引腳。l單片機(jī)C語言及程序設(shè)計(jì)。l信號燈的原理及使用。1.4硬件設(shè)計(jì)基于AT89C51單片機(jī)數(shù)字可調(diào)時(shí)鐘的元件清單如表1-1所示:表1-2數(shù)字可調(diào)時(shí)鐘電路圖表1-1基于AT89C51單片機(jī)數(shù)字可調(diào)時(shí)鐘元件清單元件名稱型號數(shù)量用途單片機(jī)AT89C511個(gè)控制核心電解電容10uF1個(gè)復(fù)位電路電阻10kΩ9個(gè)上拉電阻液晶顯示DS16021個(gè)顯示模塊按鍵4個(gè)按鍵電路電源+5V/0.5A1個(gè)提供+5V電源LED信號燈LED-RED1個(gè)整點(diǎn)提醒1.5軟件
4、設(shè)計(jì)1.5.1程序流程圖1、主程序如圖1所示,初始化時(shí)LCD第一行顯示年、月、日,第二行顯示時(shí)、分、秒(2011-03-23week312:59:32)。2、定時(shí)器T0中斷如圖2所示。3、1602詳情如圖3所示。按鍵中斷入口時(shí)間及日期運(yùn)行處理送1602顯示中斷返回重新賦初值N功能運(yùn)行YDS1602初始化系統(tǒng)初始化有鍵按下?1602顯示功能查詢開始整點(diǎn)到?信號燈亮N(圖2)(圖1)Y(圖3)延時(shí)8位數(shù)據(jù),16*2顯示,5*7點(diǎn)陣延時(shí)開顯示,無光標(biāo),不閃爍延時(shí)地址自動(dòng)+1延時(shí)清屏延時(shí)結(jié)束忙判斷寫指令寫數(shù)據(jù)1.5
5、.2程序清單#include//包含單片機(jī)寄存器的頭文件#include//包含隨機(jī)函數(shù)rand()的定義文件#include//包含_nop_()函數(shù)定義的頭文件sbitRS=P2^0;//寄存器選擇位,將RS位定義為P2.0引腳sbitRW=P2^1;//讀寫選擇位,將RW位定義為P2.1引腳sbitE=P2^2;//使能信號位,將E位定義為P2.2引腳sbitBF=P0^7;//忙碌標(biāo)志位,,將BF位定義為P0.7引腳unsignedchar
6、codetable[]="2011-03-23week3";//初始化液晶顯示16unsignedcharcodetable1[]="12:59:32";//12unsignedcharcount,s1num;charsecond,minute,hour,day,month,year,week;sbits1=P1^0;//功能鍵sbits2=P1^1;//加鍵sbits3=P1^2;//減鍵sbits4=P1^3;//保存并退出sbitP3_4=P3^4;//信號燈/********************
7、*********************************函數(shù)功能:延時(shí)1ms(3j+2)*i=(3×33+2)×10=1010(微秒),可以認(rèn)為是1毫秒***************************************************/voiddelay1ms(){unsignedchari,j;for(i=0;i<10;i++)for(j=0;j<33;j++);}/*****************************************************函數(shù)
8、功能:延時(shí)若干毫秒入口參數(shù):n***************************************************/voiddelay(unsignedcharn){unsignedchari;for(i=0;i