![單片機(jī)原理課程基于AT89C52的電子時(shí)鐘_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/17/ba395838-d8c6-4e4f-9cce-5c6e8b34281c/ba395838-d8c6-4e4f-9cce-5c6e8b34281c1.gif)
![單片機(jī)原理課程基于AT89C52的電子時(shí)鐘_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/17/ba395838-d8c6-4e4f-9cce-5c6e8b34281c/ba395838-d8c6-4e4f-9cce-5c6e8b34281c2.gif)
![單片機(jī)原理課程基于AT89C52的電子時(shí)鐘_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/17/ba395838-d8c6-4e4f-9cce-5c6e8b34281c/ba395838-d8c6-4e4f-9cce-5c6e8b34281c3.gif)
![單片機(jī)原理課程基于AT89C52的電子時(shí)鐘_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/17/ba395838-d8c6-4e4f-9cce-5c6e8b34281c/ba395838-d8c6-4e4f-9cce-5c6e8b34281c4.gif)
![單片機(jī)原理課程基于AT89C52的電子時(shí)鐘_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/17/ba395838-d8c6-4e4f-9cce-5c6e8b34281c/ba395838-d8c6-4e4f-9cce-5c6e8b34281c5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.單片機(jī)原理課程設(shè)計(jì)題 目: 基于AT89C52的電子時(shí)鐘設(shè)計(jì) 姓 名: 學(xué) 院: 專 業(yè): 班 級(jí): 學(xué) 號(hào): 指導(dǎo)教師: 年月日南京農(nóng)業(yè)大學(xué)教務(wù)處制aortiu目 錄摘要 2關(guān)鍵詞 2引言 21設(shè)計(jì)要求與方案論證 2 1.1設(shè)計(jì)要求 2 1.2系統(tǒng)方案選擇方案和論證 2 1.2.1單片機(jī)芯片的選擇方案和論證2 1.2.2 顯示模塊選擇方案和論證 3 1.2.3 時(shí)鐘芯片的選擇方案和論證 32.系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)3 2.1電路設(shè)計(jì)框圖 3 2.2系統(tǒng)硬件概述 3 2.3 主要單元電路的設(shè)計(jì) 4 2.3.1 單片機(jī)主控制模塊的設(shè)計(jì) 4 2.3.2時(shí)鐘電路模塊的設(shè)計(jì) 4 2.3.3 鍵盤模塊設(shè)
2、計(jì) 5 2.3.4蜂鳴器模塊的設(shè)計(jì) 5 2.3.5顯示模塊的設(shè)計(jì) 53. 系統(tǒng)的軟件設(shè)計(jì) 6 3.1程序流程框圖 6 3.2程序的設(shè)計(jì) 74.系統(tǒng)調(diào)試 7 4.1軟件調(diào)試 7 4.2硬件調(diào)試 84.3 實(shí)驗(yàn)箱調(diào)試結(jié)果 85.總結(jié)心得體會(huì) 9附錄一:系統(tǒng)程序 9基于AT89C52的電子時(shí)鐘設(shè)計(jì) 指導(dǎo)教師:呂成緒 胡飛 摘要:?jiǎn)纹瑱C(jī)在電子產(chǎn)品中的應(yīng)用越來(lái)越廣泛,特別是51系列的單片機(jī),由于其使用方便、價(jià)格低廉等優(yōu)勢(shì),在市場(chǎng)上占有很大的份額。AT89C52就是51系列中的一個(gè)比較成熟的型號(hào)。本設(shè)計(jì)是一個(gè)多功能的實(shí)時(shí)時(shí)鐘,帶秒表、整點(diǎn)報(bào)時(shí)、鬧鈴、調(diào)整時(shí)間等功能??砂存I直接設(shè)置鬧鈴時(shí)間。由AT89C51
3、單片機(jī)、DS1302、LCD1602等模塊組成?,F(xiàn)代社會(huì),時(shí)間就是金錢,時(shí)鐘是每個(gè)人的必備品。本設(shè)計(jì)實(shí)現(xiàn)了所需功能,給大家?guī)?lái)方便,整體性好、人性化強(qiáng)、可靠性高,實(shí)現(xiàn)了時(shí)鐘的多功能應(yīng)用。關(guān)鍵詞:電子時(shí)鐘;DS1302;LCD1602;引言:隨著科技的快速發(fā)展,時(shí)間的流逝,從觀太陽(yáng)、擺鐘到現(xiàn)在電子鐘,人類不斷研究,不斷創(chuàng)新紀(jì)錄。美國(guó)DALLAS公司推出的具有涓細(xì)電流充電能的低功耗實(shí)時(shí)時(shí)鐘電路DS1302。它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,而且DS1302的使用壽命長(zhǎng),誤差小。對(duì)于數(shù)字電子時(shí)鐘采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒和溫度等信
4、息,還具有時(shí)間校準(zhǔn)等功能。該設(shè)計(jì)以AT89C51單片機(jī)作為核心,功耗小,能在3V的低壓工作,電壓可選用35V電壓供電。綜上所述,此電子時(shí)鐘具有讀取方便、顯示直觀、功能多樣、電路簡(jiǎn)潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。1.設(shè)計(jì)要求與方案 1.1設(shè)計(jì)要求:(1)啟動(dòng)時(shí)顯示制作的年、月、日、制作者的學(xué)號(hào)等信息。(2)24小時(shí)計(jì)時(shí)功能(精確到秒)(3)整點(diǎn)報(bào)時(shí)功能。(4)秒表功能(5)省電功能模式(未設(shè)計(jì)) 1.2 系統(tǒng)基本方案選擇 1.2.1單片機(jī)芯片的選擇方案和論證方案一: 采用89C51芯片作為硬件核心,采用Flash ROM,內(nèi)部具有4KB ROM 存儲(chǔ)空間,
5、能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備ISP在線編程技術(shù), 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。方案二: 采用AT89S52,片內(nèi)ROM全都采用Flash ROM;能以3V的超底壓工作;同時(shí)也與MCS-51系列單片機(jī)完全該芯片內(nèi)部存儲(chǔ)器為8KB ROM 存儲(chǔ)空間,同樣具有89C51的功能,且具有在線編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片多次拔插,所以不會(huì)對(duì)芯片造成損壞。 相比之下,我們?cè)趯?shí)驗(yàn)箱實(shí)際仿真
6、時(shí)選擇采用AT89S52作為主控制系統(tǒng),由于proteus庫(kù)中沒(méi)有AT89S52,在原理圖仿真時(shí)采用了AT89C51. 1.2.2 顯示模塊選擇方案和論證方案一:采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以也不用此種作為顯示.方案二:采用LCD液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,顯示多樣,清晰可見. 本設(shè)計(jì)采用LCD1602. 1.2.3時(shí)鐘芯片的選擇方案和論證方案一:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間
7、誤差較大。所以不采用此方案。方案二: 采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V5.5V范圍內(nèi),2.5V時(shí)耗電小于300nA.綜上各方案所述,對(duì)此次作品的方案選定: 采用AT89C52作為主控制系統(tǒng), DS1302提供時(shí)鐘計(jì)時(shí),LCD1602屏幕顯示.2.系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)2.1 電路設(shè)計(jì)框圖AT89C51單片機(jī)模 塊 LCD1602 顯示模塊 DS1302 時(shí)鐘模塊 鍵盤模塊 2.2 系統(tǒng)硬件概述本電路是由AT89C51單片機(jī)為控制核心,具有在線
8、編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;顯示部份由LCD1602構(gòu)成. 2.3 主要單元電路的設(shè)計(jì) 2.3.1單片機(jī)主控制模塊的設(shè)計(jì) 圖-1 主控制系統(tǒng) AT89C51單片機(jī)為40引腳
9、雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3。單片機(jī)的最小系統(tǒng)如上圖所示,18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出.第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路.如圖-1 所示.2.3.2時(shí)鐘電路模塊的設(shè)計(jì)圖-2 DS1302的引腳圖圖-2示出DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),V
10、cc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768KHz晶振。RST是復(fù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RSTS置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電動(dòng)行時(shí),在Vcc大于等于2.5V之前,RST必須保持低電平。中有在SCLK 為低電平時(shí),才能將RST置為高電平,
11、I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。 2.3.3 鍵盤模塊設(shè)計(jì) 圖-3 鍵盤模塊如圖-3,K1、K2、K3、K4均為多功能鍵。K1為秒表設(shè)置鍵,按K4鍵時(shí)為時(shí)鐘確定鍵;K2在K4按下時(shí)為時(shí)鐘下調(diào)鍵,在K3按下時(shí)為鬧鐘確定鍵,在K1按下時(shí)為秒表開始鍵;K3為鬧鐘設(shè)置鍵,在K4按下時(shí)為時(shí)鐘上調(diào)鍵,在K1按下時(shí)為秒表暫停鍵;K4為時(shí)鐘設(shè)置鍵,在K3按下時(shí)為鬧鐘移位鍵,在K1按下時(shí)為秒表退出鍵。2.3.4蜂鳴器模塊的設(shè)計(jì)圖-4 聲音輸出模塊 鬧鈴時(shí)間到和整點(diǎn)時(shí),P3_7給低電平,蜂鳴器響。 2.3.5顯示模塊的設(shè)計(jì)圖-5 LCD顯示輸出模塊 如圖5,1腳VSS和3腳VEE為電源接地,
12、第2管腳VDD接電源,第4管腳RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器;RW為讀寫信號(hào)線,高電平1時(shí)進(jìn)行讀操作,低電平0時(shí)進(jìn)行寫操作;E(或EN)端為使能(enable)端; 第714腳D0D7為8位雙向數(shù)據(jù)端??刂坪蛿?shù)據(jù)端都接了上拉電阻用來(lái)驅(qū)動(dòng)。 3.系統(tǒng)的軟件設(shè)計(jì) 3.1程序流程框圖 圖-A 主程序流程圖 圖-B 時(shí)間調(diào)整程序流程圖 3.2 程序的設(shè)計(jì) 見附錄4.系統(tǒng)調(diào)試 4.1軟件調(diào)試結(jié)果 時(shí)鐘主界面 用戶 設(shè)置鬧鈴界面 秒表界面 時(shí)鐘仿真圖 4.2 硬件調(diào)試結(jié)果 起初蜂鳴器有點(diǎn)問(wèn)題不響,后來(lái)發(fā)現(xiàn)是定義錯(cuò)端口引起的。其他功能正常。 4.3 實(shí)驗(yàn)箱調(diào)試結(jié)果實(shí)現(xiàn)功
13、能的具體方法:時(shí)鐘主界面時(shí)按下K1鍵進(jìn)入秒表功能,按K2秒表開始,再按K3秒表停,按鍵K4返回時(shí)間顯示;按K4開始調(diào)試(移位“年秒”),接著按K2、K3調(diào)節(jié)時(shí)間增減;按K2開啟鬧鐘,K3調(diào)節(jié)時(shí)間,K4(移位“時(shí)分”);按“年秒”的順序移位,按鍵K2進(jìn)行減運(yùn)算,按鍵K3進(jìn)行加運(yùn)算,按鍵K1返回到主界面并顯示設(shè)置值。按下K3鍵,實(shí)現(xiàn)鬧鐘定時(shí)調(diào)整,按鍵K4進(jìn)行“分-秒”移位,按鍵K3進(jìn)行上調(diào),按鍵K2返回到主界面。主界面K2實(shí)現(xiàn)開啟/關(guān)閉鬧鐘的功能。按下K1鍵進(jìn)入秒表,按鍵K2開始計(jì)時(shí),K3暫停計(jì)時(shí),K4返回到主界面。5.總結(jié)心得體會(huì):這次實(shí)習(xí)我們組選擇的是電子時(shí)鐘設(shè)計(jì)。實(shí)習(xí)任務(wù)包括理論設(shè)計(jì)、調(diào)試與
14、仿真、撰寫設(shè)計(jì)報(bào)告等。其中理論設(shè)計(jì)又包括選擇總體方案,硬件系統(tǒng)設(shè)計(jì)、軟件系統(tǒng)設(shè)計(jì);硬件設(shè)計(jì)包括單元電路,選擇元器件及計(jì)算參數(shù)等;軟件設(shè)計(jì)包括模塊化層次結(jié)構(gòu)圖,程序流程圖。程序設(shè)計(jì)是課程設(shè)計(jì)的關(guān)鍵環(huán)節(jié),開始以為時(shí)鐘會(huì)很簡(jiǎn)單,就算遇到問(wèn)題應(yīng)該也很好解決,但當(dāng)自己真正去做的時(shí)候,發(fā)現(xiàn)了好多困難。于是查資料,問(wèn)同學(xué)。經(jīng)過(guò)和同學(xué)的探討,通過(guò)調(diào)試進(jìn)一步完善程序設(shè)計(jì),最后雖然省電模式?jīng)]實(shí)現(xiàn)但其他基本達(dá)到課題所要求的指標(biāo)。完成了實(shí)習(xí)任務(wù)。這次實(shí)習(xí)我更加了解了單片機(jī)的應(yīng)用,更加牢牢的掌握了書本知識(shí)與現(xiàn)實(shí)的結(jié)合,總之這是實(shí)習(xí)收獲很大,以后還需多動(dòng)手實(shí)踐,多練習(xí)編程,才能熟練掌握單片機(jī)。窗體頂端附錄一:程序:#in
15、clude#include#include#include#define uchar unsigned char #define uint unsigned int#define TIME (0X10000-50000)#define FLAG 0xf4/鬧鐘標(biāo)志sbit rst=P12; /DSsbit clk=P10;sbit dat=P11;sbit rs=P20;/LCDsbit rw=P21;sbit e=P22;sbit beep=P13;sbit mbkey=P14;uchar k;uchar flag;uchar i=20,j,time116;uchar alarm2,time
16、215,time3;time53;uchar code Day=31,28,31,30,31,30,31,31,30,31,30,31; /12個(gè)月的最大日期(非閏年)uchar key2num,ms=0,mbmiao=0,mbfen=0,mbkeynum,num; /ms秒表進(jìn)數(shù), mbmiao.mbfen秒表的秒.分,key2num是key5的計(jì)數(shù)uchar code table= 32210324 GYY;uchar code table1= 32210326 GLQ;uchar code table4= 00:00:00 MB ; void delay(uint z) uint x,y
17、; for(x=z;x0;x-) for(y=110;y0;y-);delay1ms(uchar time)/延時(shí)1ms uchar i,j;for(i=0;itime;i+) for(j=0;j250;j+);/LCD驅(qū)動(dòng)部分enable() rs=0;rw=0;e=0;delay1ms(3);e=1;write2(uchar i) P0=i;rs=1;rw=0;e=0;delay1ms(2);e=1;write1(uchar data *address,m) uchar i,j;for(i=0;im;i+,address+) j=*address;write2(j);/LCD顯示lcdsh
18、ow() P0=0XC;/顯示器開、光標(biāo)關(guān)enable();P0=0x80;/第一行015enable();write1(time1,16);P0=0xc1;/第二行114enable();write1(time2,15);/DS1302讀寫子程序write(uchar address) uchar i;clk=0;_nop_();rst=1;_nop_();for(i=0;i=1;clk=0;uchar read() uchar i,j=0;for(i=0;i=1;_nop_();clk=0;_nop_();if(dat)j|=0x80;_nop_();clk=1;return(j);/部分
19、顯示數(shù)據(jù)初始化timestart() time16=time19=-;time12=2,time13=0; time22=time25=:; write(0xc1); alarm0=read(); rst=0; write(0xc3);alarm1=read(); rst=0; write(0xc5);time10=read();rst=0;/讀取時(shí)間readtime() uchar i,m,n;write(0x8d);/讀取年份m=read();rst=0;time14=m/16+0x30;time15=m%16+0x30;time115=m+0x30;for(i=7,n=0x89;i11;
20、i+=3,n-=2)/讀取月份和日期 write(n);m=read();rst=0;time1i=m/16+0x30;time1i+1=m%16+0x30;for(m=0,i=0,n=0x85;i7;i+=3,n-=2,m+)/讀取時(shí),分,秒 write(n);timem=read(); /將實(shí)時(shí)的時(shí)分秒給timerst=0;time2i=timem/16+0x30;time2i+1=timem%16+0x30;baoshi() /整點(diǎn)報(bào)時(shí) beep=1; if(time1=0)if(time2=0)beep=0;delay(10);beep=1; /鬧鐘部分showalarm() ucha
21、r i; for(i=1;i0xc5)i=0x85;else if(P1=0xb0) /K2,上調(diào)year=(time14&0xf)*10+(time15&0xf);month=(time17&0xf)*10+(time18&0xf);day=(time110&0xf)*10+(time111&0xf);if(i=0x85)year+;if(year99)year=0;if(year%4)!=0)if(month=2&day=29)day=28;else if(i=0x88)month+;if(month12)month=1;if(dayDaymonth-1)day=Daymonth-1;if
22、(month=2&(year%4)=0)day=29;else if(i=0x8b)day+;if(dayDaymonth-1)if(month=2&(year%4)=0)if(day29)day=1;if(month!=2)day=1;else if(i=0xc2)n=(time20&0xf)*10+(time21&0xf);n+;if(n23)n=0;time20=n/10+0x30;time21=n%10+0x30;elsen=(time23&0xf)*10+(time24&0xf);n+;if(n59)n=0;time23=n/10+0x30;time24=n%10+0x30;time
23、14=year/10+0x30;time15=year%10+0x30;time17=month/10+0x30;time18=month%10+0x30;time110=day/10+0x30;time111=day%10+0x30;lcdshow();else if(P1=0xd0) /K3,下調(diào) year=(time14&0xf)*10+(time15&0xf);month=(time17&0xf)*10+(time18&0xf);day=(time110&0xf)*10+(time111&0xf);if(i=0x85)year-;if(year1)year=99;if(year%4)!
24、=0)if(month=2&day=29)day=28;else if(i=0x88)month-;if(monthDaymonth-1)day=Daymonth-1;if(month=2&(year%4)=0)day=29;else if(i=0x8b)day-;if(day1)if(month=2&(year%4)=0)day=29;if(month!=2)day=Daymonth-1;else if(i=0xc2)n=(time20&0xf)*10+(time21&0xf);n-;if(n0)n=23;time20=n/10+0x30;time21=n%10+0x30;elsen=(ti
25、me23&0xf)*10+(time24&0xf);n-;if(n0)n=59;time23=n/10+0x30;time24=n%10+0x30;time14=year/10+0x30;time15=year%10+0x30;time17=month/10+0x30;time18=month%10+0x30;time110=day/10+0x30;time111=day%10+0x30;lcdshow();else if(P1=0xe0) /K4,確定設(shè)置 delay1ms(1000);write(0x8c);write(time14&0xf)*16+(time15&0xf);rst=0;w
26、rite(0x8a);rst=0;for(i=7,n=0x88;i11;i+=3,n-=2)write(n);write(time1i&0xf)*16+(time1i+1&0xf);rst=0;for(i=0;i7;i+=3,n-=2)write(n);write(time2i&0xf)*16+(time2i+1&0xf);rst=0;TR0=0;return;elseTR0=0;return;if(j=0)TR0=0;return;/設(shè)置鬧鐘setalarm()uchar i,n;for(i=1;i0xc5)i=0xc2;else if(P1=0xb0)/按K2,設(shè)鬧鐘if(i=0xc2)n
27、=(time20&0xf)*10+(time21&0xf);n+;if(n23)n=0;time20=n/10+0x30;time21=n%10+0x30;elsen=(time23&0xf)*10+(time24&0xf);n+;if(n59)n=0;time23=n/10+0x30;time24=n%10+0x30;lcdshow();else if(P1=0xd0) /確定鬧鐘設(shè)置 write(0xc0);write(time20&0x0f)*16+(time21&0x0f);rst=0;write(0xc2);write(time23&0xf)*16+(time24&0xf);rst=
28、0;time10=FLAG;write(0xc4);write(time10);rst=0;TR0=0;timestart();return;elseTR0=0;timestart();return;if(j=0)TR0=0;timestart();return;/lcdwrite() LCD寫指令void lcdwrite(uchar write)rs=0;P0=write;delay(1); e=1;delay(1); e=0; /lcdshuju() LCD寫數(shù)據(jù)void lcdshuju(uchar shuju)rs=1;P0=shuju;delay(1);e=1;delay(1);e
29、=0; /秒表部分void write_sfm(uchar add ,uchar date) /秒顯示函數(shù) uchar shi,ge;shi=date/10;ge=date%10;lcdwrite(0x80+0x40+add);lcdshuju(0x30+shi);lcdshuju(0x30+ge);void mbiao( ) /秒表函數(shù) lcdwrite(0x80+0x40); for(num=0;num16;num+) lcdshuju(table4num); start: while(1) if(P1!=0Xf0) delay1ms(100);/延時(shí)0.1s去抖動(dòng) if(P1!=0Xf0) if(P1=0xd0)/秒表開始計(jì)數(shù) TR1=1; ET1=1; else if(P1=0xb0) /秒表暫停計(jì)數(shù) TR1=0; else if(P1=0x70) /退出 return; goto start; void init()e=0;rw=0;lcdwrite(0x38);/顯示模式lcdwrite(0x0c);/開顯示,光標(biāo)不閃爍lcdwrite(0x80);for(i=0;i16;i+)lcdshuju(tablei); delay(200);
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度購(gòu)物中心水電維修服務(wù)合同(1000字)6篇
- 二零二五年度冷鏈物流食品供應(yīng)合同3篇
- 二零二五年度環(huán)保材料買賣合同樣本詳述3篇
- 二零二五年度綠色建筑文明施工與環(huán)境保護(hù)一體化協(xié)議書3篇
- 二零二五年度行政上訴狀編制要點(diǎn)與官方格式3篇
- 二零二五年度企業(yè)委托高校培養(yǎng)博士研究生技術(shù)合作協(xié)議3篇
- 二零二五年度互聯(lián)網(wǎng)醫(yī)療健康品牌授權(quán)協(xié)議3篇
- 二零二五年度企業(yè)股權(quán)激勵(lì)協(xié)議(限制性股權(quán))6篇
- 二零二五年度農(nóng)產(chǎn)品銷售承包協(xié)議
- 2025版科技研發(fā)園區(qū)物業(yè)管理權(quán)轉(zhuǎn)讓與技術(shù)創(chuàng)新服務(wù)合同3篇
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 《活著》讀書分享課件
- 新課標(biāo)人教版小學(xué)數(shù)學(xué)六年級(jí)下冊(cè)集體備課教學(xué)案全冊(cè)表格式
- 校園保潔培訓(xùn)課件
- 渠道管理就這樣做
- 大客戶銷售這樣說(shuō)這樣做
- 精裝修樣板房房屋使用說(shuō)明
- 喬遷新居結(jié)婚典禮主持詞
- 小學(xué)四年級(jí)數(shù)學(xué)競(jìng)賽試題(附答案)
- 魯科版高中化學(xué)必修2全冊(cè)教案
- 人口分布 高一地理下學(xué)期人教版 必修第二冊(cè)
評(píng)論
0/150
提交評(píng)論