版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 目錄TOC o 1-5 h z HYPERLINK l bookmark0 摘要2Abstract3 HYPERLINK l bookmark4 設(shè)計(jì)目的4 HYPERLINK l bookmark6 設(shè)計(jì)任務(wù)4 HYPERLINK l bookmark8 任務(wù)1:開機(jī)界面的設(shè)置4 HYPERLINK l bookmark10 任務(wù)2:LCD-1602顯示日期時(shí)間4 HYPERLINK l bookmark12 任務(wù)3:時(shí)間與日期的調(diào)整4 HYPERLINK l bookmark14 硬件設(shè)計(jì)4 HYPERLINK l bookmark16 3.1.STC89C51(51單片機(jī))4 HYPE
2、RLINK l bookmark18 LCD-1602液晶顯示屏5 HYPERLINK l bookmark20 軟件設(shè)計(jì)7 HYPERLINK l bookmark22 應(yīng)用軟件7 HYPERLINK l bookmark24 程序框圖7 HYPERLINK l bookmark26 使用說明7 HYPERLINK l bookmark28 注意事項(xiàng)8 HYPERLINK l bookmark30 調(diào)試結(jié)果8 HYPERLINK l bookmark32 收獲9 HYPERLINK l bookmark38 附錄:10 HYPERLINK l bookmark36 附錄A.硬件圖10 HYP
3、ERLINK l bookmark40 附錄B.主要程序11 摘要電子時(shí)鐘是單片機(jī)系統(tǒng)的一個(gè)應(yīng)用,由硬件和軟件相配合使用。本文通過對(duì)單片機(jī)的控制實(shí)現(xiàn)日歷功能電子時(shí)鐘的設(shè)計(jì),以達(dá)到學(xué)習(xí)、了解單片機(jī)相關(guān)指令在各方面的應(yīng)用。硬件由主控器、顯示電路、鍵盤接口等三個(gè)模塊組成。該時(shí)鐘設(shè)計(jì)以STC-89C51作為主控器,控制顯示時(shí)鐘信息;顯示模塊用LCD-1602液晶屏;鍵盤接口電路由普通按鍵完成。軟件利用C語言編程實(shí)現(xiàn)單片機(jī)的控制功能。關(guān)鍵詞:電子時(shí)鐘、單片機(jī)、LCD-1602液晶顯示 AbstractElectronicclockisasinglechipmicrocomputersystemappli
4、cation,bytheuseofhardwareandsoftware.Inthispaper,throughthecontrolofsingle-chipmicrocomputertoachievethedesignoftheelectronicclock,inordertoachievelearning,tounderstandthemicrocontrollerrelatedinstructionsinvariousaspectsoftheapplication.Thehardwareiscomposedofthreemodules,suchasthemaincontroller,th
5、edisplaycircuit,thekeyboardinterfaceandsoon.TheclockisdesignedwithSTC-89C51asthemaincontroller,controllingthedisplayclockinformation;thedisplaymoduleusestheLCD-1602LCDscreen;thekeyboardinterfacecircuitiscompletedbytheordinarybutton.SoftwareusesClanguageprogrammingmicrocontrollercontrolfunctions.Keyw
6、ords:electronicclock,singlechipmicrocomputer,LCD-1602liquidcrystaldisplay設(shè)計(jì)目的該電子時(shí)鐘由C語言編寫而成,利用單片機(jī)定時(shí)器控制時(shí)鐘運(yùn)行,實(shí)現(xiàn)按鍵調(diào)整時(shí)間和日期的功能。設(shè)計(jì)任務(wù)任務(wù)1:開機(jī)界面的設(shè)置上電顯示開機(jī)界面,“King.G”閃爍兩次,之后進(jìn)入主界面。任務(wù)2:LCD-1602顯示日期時(shí)間采用雙行顯示,第一行顯示“2015-11-11”第二行顯示“08-00-00”并且開始跑表。任務(wù)3:時(shí)間與日期的調(diào)整采用三個(gè)獨(dú)立按鍵,按下功能鍵,定時(shí)器暫停,光標(biāo)開啟并在秒數(shù)位置閃爍,其他兩個(gè)按鍵可對(duì)秒數(shù)進(jìn)行加減操作。每按一次功能鍵
7、,光標(biāo)依次從秒數(shù)移至年歷數(shù),當(dāng)光標(biāo)顯示在何位置時(shí),其他兩個(gè)按鍵可對(duì)該位置的數(shù)值進(jìn)行調(diào)整,調(diào)整結(jié)束,定時(shí)器開啟。硬件設(shè)計(jì)STC89C51(51單片機(jī))STC89C51RC是采用8051核的ISP(InSystemProgramming)在系統(tǒng)可編程芯片,最高工作時(shí)鐘頻率為80MHz,片內(nèi)含8KBytes的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,具有在系統(tǒng)可編程(ISP)特性,配合PC端的控制程序即可將用戶的程序代碼下載進(jìn)單片機(jī)內(nèi)部,省去了購(gòu)買通用編程器,而且速度更快。STC89
8、C51RC系列單片機(jī)是單時(shí)鐘/機(jī)器周期(1T)的兼容8051內(nèi)核單片機(jī),是高速/低功耗的新一代8051單片機(jī),全新的流水線/精簡(jiǎn)指令集結(jié)構(gòu),內(nèi)部集成MAX810專用復(fù)位電路。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口。另外STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被
9、保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。P2XCAS)CiNT卩XTAFJP2,2(AIi)XTAT.2P2.4CA12)P3點(diǎn)瞥町Pj.5(T1JP2.6A14)PJ.4H0)F3.3UN門PSbMP3.2UN10)ALli(PROjLA(VPP)KSTPU.6(AL16)Pl.7Pl.6PO.-1(ALM)P.?P】XP().2(AD2)Pl.3PO.ltADl)Pl.2P().(AD0)Pl.lXXX:P1.04I圖3.1.189C51控制模塊172077151413-21LCD-1602液晶顯示屏LCD1602液晶
10、顯示器。是目前廣泛使用的一種字符型液晶顯示模塊。它是由字符型液晶顯示屏(LCD)、控制驅(qū)動(dòng)主電路HD44780及其擴(kuò)展驅(qū)動(dòng)電路HD44100,以及少量電阻、電容元件和結(jié)構(gòu)件等裝配在PCB板上而組成。不同廠家生產(chǎn)的LCD1602芯片可能有所不同,但使用方法都是一樣的。為了降低成本,現(xiàn)在絕大多數(shù)制造商都直接將裸片做到本子上。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。GM圖3.2.1LCD1602顯示模塊1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表所示:序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)
11、返回000000001*3置輸入模式00000001I/Ds4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存儲(chǔ)器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容表3.2.21602控制指令軟件設(shè)計(jì)4.1.應(yīng)用軟件軟件運(yùn)行環(huán)境:KEILUV4PROTEUS7.5本設(shè)計(jì)軟件涉及KEILUV4、STC燒錄軟件,由KEILUV4編寫C語言程序以及進(jìn)行調(diào)試,由STC燒錄軟件將調(diào)試好
12、的程序下載入單片機(jī)中。程序框圖圖4.2.1程序框圖程序開始后,先進(jìn)入初始化,定時(shí)器打開,LCD液晶顯示模式設(shè)置,單片機(jī)循環(huán)進(jìn)行數(shù)據(jù)處理,此時(shí),LCD-1602顯示時(shí)間。若按鍵按下,判斷調(diào)整條件,經(jīng)單片機(jī)處理后,液晶顯示數(shù)據(jù)更換,以達(dá)到調(diào)整時(shí)間的目的。使用說明按下功能鍵,進(jìn)入時(shí)間、日期調(diào)整界面,依次按下可逐個(gè)調(diào)整秒、分、時(shí)、日、月、年。調(diào)整結(jié)束后,再次按下功能鍵可恢復(fù)時(shí)間界面。加數(shù)鍵,可以增加位數(shù)上的數(shù)值;減數(shù)鍵可減少位數(shù)上數(shù)值。增加和減少需要在時(shí)間調(diào)整下可以使用,在不調(diào)整時(shí)間的情況下,兩個(gè)按鍵均無法使用。時(shí)間日期調(diào)整范圍2000年1月1日00:00:00-2099年12月31日23:59:59
13、。注意事項(xiàng)該時(shí)鐘是采用單片機(jī)及C語言邏輯控制的。缺少閏年2月29天的補(bǔ)償功能。調(diào)試結(jié)果如圖451所示,當(dāng)不進(jìn)行操作時(shí),時(shí)間正常運(yùn)行;如圖452所示當(dāng)按下調(diào)整時(shí)間功能鍵時(shí),時(shí)間暫停且光標(biāo)開啟,此時(shí)可增加或減少光標(biāo)所在位的數(shù)值。圖4.5.1時(shí)間運(yùn)行界面_2015-11-1108:0b:S41)圖4.5.2調(diào)整時(shí)間界面收獲經(jīng)過本次的設(shè)計(jì),深入了解了單片機(jī)I/O口的使用,學(xué)會(huì)使用數(shù)據(jù)手冊(cè)來查閱LCD-1602的使用。對(duì)于按鍵掃描更加的了解。對(duì)單片機(jī)學(xué)習(xí)過程中的定時(shí)器,中斷系統(tǒng)一級(jí)單片機(jī)各引腳的功能有了更加深入的了解。參考文獻(xiàn):李葉紫,等.MCS-51單片機(jī)應(yīng)用教程M.北京:清華大學(xué)出版社,2004.張
14、培仁.MCS-51單片機(jī)原理與應(yīng)用M.北京:清華大學(xué)出版社,2003.朱華光.淺議LCD1602的編程技巧J.電腦知識(shí)與技術(shù),2010,6(18).附錄A.硬件圖附錄:S9C5IP2.0(A8)GNDP2.I(A9)XTAL1P2.2(A10)XTAL2P2.3(A11)P3.7(RO)P2.4(A12)P3.6(WR)P2.5(A13)P3.5(T1)P2.6(A14)P34(TO)P2.7(A15)P3.30NT1)PSENP3.2(INT0)ALE(PROG)P3.I(TXD)EA(VPP)P3.()(RXD)P().7(AD7)RSTP().6(AD6)Pl.7P0.5(AD5)Pl.
15、6P().4(AD4)PLSPO.3(AD3)Pl.4P0.2(AD2)P13PO.I(ADl)P1.2PO.O(ADO)P1JVCCPLO1918/1716151413121110s7654321flag=0; 附錄B.主要程序#include#includesbitRS=P22;/定義端口sbitRW=P23;sbitEN=P24;sbitKEY_function二P34;sbitKEY_ADD二P35;sbitKEY_DEC二P3飛;sbitkey4二P3“7;sbitDUAN=P2飛;/定義鎖存使能端口段鎖存sbitWEI二P27;/位鎖存#defineRS_CLRRS=0#defin
16、eRS_SETRS=1#defineRW_CLRRW=0#defineRW_SETRW=1#defineEN_CLREN=0#defineEN_SETEN=1#defineDataPortP0unsignedchart,s,f,m,b,n,y,r;unsignedcharflag=0;voidDelayUs2x();voidDelayMs();bitLCD_Check_Busy();voidLCD_Write_Com();voidLCD_Write_Data();voidLCD_Clear();voidLCD_Write_String();voidLCD_Write_Char();voidLC
17、D_Init();unsignedcharKeyScan(void)if(!KEY_function)DelayMs(10);if(!KEY_function)flag+;while(!KEY_function);if(flag=1)TR1=0;LCD_Write_Com(0 xC0+10);LCD_Write_Com(0 x0f);if(flag=2)LCD_Write_Com(0 xC0+7);if(flag=3)LCD_Write_Com(0 xC0+4);if(flag=4)LCD_Write_Com(0 x80+11);if(flag=5)LCD_Write_Com(0 x80+8)
18、;if(flag=6)LCD_Write_Com(0 x80+5);if(flag=7) LCD_Write_Com(0 x0c);TR1=1;if(flag!=0)if(!KEY_ADD)DelayMs(10);if(!KEY_ADD)while(!KEY_ADD);if(flag=1)m+;if(m=60)m=0;LCD_Write_Char(10,1,m/10+0 x30);LCD_Write_Char(11,1,m%10+0 x30);LCD_Write_Com(0 xC0+10);if(flag=2)f+;if(f=60)f=0;LCD_Write_Char(7,1,f/10+0 x
19、30);LCD_Write_Char(8,1,f%10+0 x30);LCD_Write_Com(0 xC0+7);if(flag=3)s+;if(s=24)s=0;LCD_Write_Char(4,1,s/10+0 x30);LCD_Write_Char(5,1,s%10+0 x30);LCD_Write_Com(0 xC0+4);if(flag=4)r+;if(r=32)r=1;LCD_Write_Char(11,0,r/10+0 x30);LCD_Write_Char(12,0,r%10+0 x30);LCD_Write_Com(0 x80+11);if(flag=5)y+;if(y=1
20、3)y=1;LCD_Write_Char(8,0,y/10+0 x30);LCD_Write_Char(9,0,y%10+0 x30);LCD_Write_Com(0 x80+8);if(flag=6)n+;if(n=100)n=0;LCD_Write_Char(5,0,n/10+0 x30);LCD_Write_Char(6,0,n%10+0 x30);LCD_Write_Com(0 x80+5);if(!KEY_DEC)DelayMs(10);if(!KEY_DEC)while(!KEY_DEC);if(flag=1)m-;if(m=-1)m=59;LCD_Write_Char(10,1,
21、m/10+0 x30);LCD_Write_Char(11,1,m%10+0 x30);LCD_Write_Com(0 xC0+10);if(flag=2)f-;if(f=-1)f=59;LCD_Write_Char(7,1,f/10+0 x30);LCD_Write_Char(8,1,f%10+0 x30);LCD_Write_Com(0 xC0+7);if(flag=3)s-;if(s=-1)s=23;LCD_Write_Char(4,1,s/10+0 x30);LCD_Write_Char(5,1,s%10+0 x30);LCD_Write_Com(0 xC0+4);if(flag=4)
22、r-;if(r=0)r=31;LCD_Write_Char(11,0,r/10+0 x30);LCD_Write_Char(12,0,r%10+0 x30);LCD_Write_Com(0 x80+11);if(flag=5)y-;if(y=0)y=12;LCD_Write_Char(8,0,y/10+0 x30);LCD_Write_Char(9,0,y%10+0 x30);LCD_Write_Com(0 x80+8);if(flag=6)n-;if(n=-1)n=99;LCD_Write_Char(5,0,n/10+0 x30);LCD_Write_Char(6,0,n%10+0 x30);LCD_Write_Com(0 x80+5);return0;/*主函數(shù)*/voidmain()LCD_Init();LCD_Clear();LCD_Write_String(5,0,King.G);DelayMs(500);LCD_Clear();DelayMs(500);LCD_Write_String(5,0,King.G);DelayMs(500);LCD_Clear();DelayMs(500);LCD_Write_String(3,0,2015-11-11);LCD_Write_String(4,1,08:0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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版?zhèn)€性化定制門窗安裝與綠色建材供應(yīng)合同2篇
- 二零二五版木地板工程進(jìn)度與成本管理合同4篇
- 二零二五年度游戲角色形象授權(quán)合同4篇
- 二零二五年度嬰幼兒奶粉安全風(fēng)險(xiǎn)評(píng)估與管理體系建設(shè)合同4篇
- 二零二五年度城市綠化景觀提升項(xiàng)目種植合同3篇
- 二零二五年度影視MV拍攝與藝人肖像權(quán)授權(quán)合同
- 二零二五年度木材貿(mào)易代理與倉(cāng)儲(chǔ)管理合同3篇
- 二零二五年度人防工程防雷接地檢測(cè)合同2篇
- 二零二四年度信用證項(xiàng)下跨境貿(mào)易融資合同模板3篇
- 二零二四年度液化氣供應(yīng)與綜合能源服務(wù)合同范本3篇
- 2024-2025學(xué)年山東省濰坊市高一上冊(cè)1月期末考試數(shù)學(xué)檢測(cè)試題(附解析)
- 江蘇省揚(yáng)州市蔣王小學(xué)2023~2024年五年級(jí)上學(xué)期英語期末試卷(含答案無聽力原文無音頻)
- 數(shù)學(xué)-湖南省新高考教學(xué)教研聯(lián)盟(長(zhǎng)郡二十校聯(lián)盟)2024-2025學(xué)年2025屆高三上學(xué)期第一次預(yù)熱演練試題和答案
- 決勝中層:中層管理者的九項(xiàng)修煉-記錄
- 幼兒園人民幣啟蒙教育方案
- 臨床藥師進(jìn)修匯報(bào)課件
- 軍事理論(2024年版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 《無人機(jī)法律法規(guī)知識(shí)》課件-第1章 民用航空法概述
- 政治丨廣東省2025屆高中畢業(yè)班8月第一次調(diào)研考試廣東一調(diào)政治試卷及答案
- 網(wǎng)絡(luò)設(shè)備安裝與調(diào)試(華為eNSP模擬器)整套教學(xué)課件
- 銀行卡凍結(jié)怎么寫申請(qǐng)書
評(píng)論
0/150
提交評(píng)論