


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、電子科技大學(xué)中山學(xué)院學(xué)生實驗報告院別:電子信息學(xué)院課程名稱:微處理器實驗班級:12電信A姓名:學(xué)號:實驗名稱:簡易電子鐘設(shè)計實驗時間:2014年12月8日成績教師簽名:批改時間:一、實驗原理與目的1、熟悉電子鐘的基本工作原理。2、掌握簡易電子鐘的硬件結(jié)構(gòu)及程序設(shè)計方法。電子鐘是人們?nèi)粘I钪胁豢苫蛉钡挠嫊r工具。與數(shù)字集成電路純硬件實現(xiàn)相比,采用單片機實現(xiàn)的電子鐘,在功能、體積、功耗、成本等方面更有優(yōu)勢。單片機實現(xiàn)電子鐘主要有兩種方案。一種是利用單片機內(nèi)部的定時/計數(shù)器產(chǎn)生標準秒信號,并根據(jù)時間系統(tǒng)的進位原則進行加1調(diào)整。另一種方法是為單片機配置一片可獨立走時的實時鐘(RTC)芯片,單片機通過申
2、行信號線與該芯片進行通信,讀取或設(shè)置其當前時間。第一種方案結(jié)構(gòu)簡單、成本低,精度可滿足多數(shù)場合的需要,因此,本設(shè)計圖3.11.1簡易電子鐘電路ZSC-1實驗箱配置了簡易電子鐘所需的LCD1602液晶顯示器、蜂鳴器、按鍵等外設(shè),具體電路如圖3.11.1所示。LCD1602用丁電子鐘的時間顯示,其8位數(shù)據(jù)線連接單片機的P0口,使能端E和數(shù)據(jù)/命令寄存器選擇端R齡別連接到單片機的P4.5、P4.6,讀/寫選擇端RW固定接地,背光由單片機的P1.5控制,對比度通過VEE所連10KQ電位器進行調(diào)節(jié)。按鍵KX0KX3分別連接到單片機的P3.2、P3.4、P3.5、P3.7,可用丁選擇電子鐘的模式、設(shè)置當前
3、時間及鬧鈴等。蜂鳴器由單片機的P1.0控制,可在鬧鈴、整點或按鍵操作時發(fā)出提示聲0關(guān)丁LCD1602液晶顯示器的結(jié)構(gòu)及控制方法,可參閱理論課教材第7.4節(jié)。二、實驗設(shè)備1、PCM一臺(已安裝KeiluVision、STC_IS眸軟件);2、ZSC-1單片機實驗箱一臺。三、實驗內(nèi)容與分析1、設(shè)計程序,實現(xiàn)電子鐘的走時功能,初始時間為12:00:00。在Keil中編寫源程序。C語言參考程序如下(請將下劃線部分補充完整):*#include#include*sfrP4SW=0xBB;sfrP4=0xC0;*特殊功能寄存器聲明*數(shù)據(jù)類型定義*typedefunsignedcharuint8;typed
4、efunsignedintuint16;typedefstructcharHour;charMinute;charSecond;tsRTClock;*口線聲明*#defineLCD1602_DATAP0sbitLCD1602_RS=P4A6;sbitLCD1602_EN=P4A5;sbitLCD1602_BL=P1A5;*全局變量聲明*tsRTClockRTClock;uint8Timer50ms=0;*函數(shù)原型聲明*voidSystemInit();voidLCD1602BLCtrl(uint8OnOff);voidLCD1602CmdWrite(uint8cmdByte);voidLCD1
5、602DataWrite(uint8DataByte);voidLCD1602Init();voidLCD1602ClrScr();voidLCD1602DispChar(uint8Row,uint8Col,charChar);voidLCD1602DispStr(uint8Row,uint8Col,char*Str);voidRTClockInit();voidRTClockAdj();voidRTClockDisp();voidDelay(uint16ms);/*中斷服務(wù)函數(shù)*voidT0ISR(void)interrupt1T0定時中斷對應(yīng)優(yōu)先級1TH0=(65536-45*1024)8
6、;設(shè)置50ms定時初值(M應(yīng)晶振11.0592MHz)TL0=(65536-45*1024)&0xFF;if(+Timer50ms8;/第二行顯示提示信息顯示當前時間系統(tǒng)初始化函數(shù)*/將P44-P46設(shè)為I/O口/T0用作定時器(方式1)設(shè)置50ms定時初值(M應(yīng)晶振11.0592MHz)TL0=(65536-45*1024)&0xFF;TR0=1;/啟動T0ET0=1;允許T0中斷EA=1;LCD1602BLCtrl(0);/背光點亮LCD1602Init();/LCD1602初始化/*Lcdi602背光控制函數(shù)*voidLCD1602BLCtrl(uint8OnOff)/0:背光點亮,1:
7、背光熄滅(LCD1602_BL=OnOff;此處若填0,背光燈就會常亮,不妥*LCD1602寫命令函數(shù)*voidLCD1602CmdWrite(uint8cmdByte)(uint16i;for(i=100;i;i-);/適當延時(取代忙狀態(tài)檢測)LCD1602_RS=0;LCD1602_EN=1;LCD1602_DATA=cmdByte;/發(fā)送命令字節(jié)LCD1602_EN=0;voidLCD1602DataWrite(uint8DataByte)(/*LCD1602寫數(shù)據(jù)函數(shù)uint16i;/適當延時(取代忙狀態(tài)檢測)LCD1602_RS=1;LCD1602_EN=1;LCD1602_DAT
8、A=DataByte;/發(fā)送數(shù)據(jù)字節(jié)LCD1602_EN=0;*Lcd1602初始化函數(shù)*voidLCD1602Init()LCD1602_EN=0;LCD1602CmdWrite(0x38);/8位總線方式,兩行顯示,5*7點陣LCD1602CmdWrite(0x0C);/LCD顯小開,無光標LCD1602CmdWrite(0x06);/寫入一個數(shù)據(jù)字節(jié)后地址計數(shù)器自動加1*Lcd1602清屏函數(shù)*voidLCD1602ClrScr()LCD1602CmdWrite(0x01);/發(fā)送活屏命令Delay(8);*Lcdi602字符顯示函數(shù)*voidLCD1602DispChar(uint8R
9、ow,uint8Col,charChar)if(Row)此處Row表示,若Row=1(第二行)執(zhí)行下面程序,Col|=0x40;/顯示第二行時DDRAM地址從40H開始Col|=0x80;/拼為DDRAM地址設(shè)置命令LCD1602CmdWrite(Col);/發(fā)送DDRAM地址LCD1602DataWrite(Char);/發(fā)送ASCII碼*Lcdi602字符串顯示函數(shù)*voidLCD1602DispStr(uint8Row,uint8Col,char*Str)if(Row)Col|=0x40;/顯示第二行時DDRAM地址從40H開始Col|=0x80;/拼為DDRAM地址設(shè)置命令LCD160
10、2CmdWrite(Col);/發(fā)送DDRAM地址while(*Str)直到找到結(jié)束符。否則繼續(xù)發(fā)送ASCII碼LCD1602DataWrite(*Str+);連續(xù)發(fā)送每個字符的ASCII碼*voidRTClockInit()(RTClock.Hour=12;RTClock.Minute=0;RTClock.Second=0;*voidRTClockAdj()(if(+RTClock.SecondRTClock.Second=0;if(+RTClock.MinuteRTClock.Minute=0;if(+RTClock.Hour=10)LCD1602DispChar(1,6,0x30+RTC
11、lock.Hour/10);/else顯示Hour的十位LCD1602DispChar(1,6,);/Hour的十位為0則隱去hour10,即只保留各位,例9時,而不是09,人性化LCD1602DispChar(1,7,0x30+RTClock.Hour%10);顯示Hour的個位LCD1602DispChar(1,8,:);/r顯示數(shù)字的ASCII碼,上下同LCD1602DispChar(1,9,0x30+RTClock.Minute/10);顯示Minute的十位LCD1602DispChar(1,10,0x30+RTClock.Minute%10);顯示Minute的個位LCD1602DispChar(1,11,:);表示顯示的位置位第2行第13位,上下同LCD1602DispChar(1,12,0x30+RTClock.Second/10);/顯示Second的十位LCD1602DispCh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ktv水果配送合同范本
- 人力轉(zhuǎn)讓合同范本
- 倉庫維修維護合同范本
- 出國合同范本ps
- 樂器進貨合同范本
- 冰箱購買合同范例
- 單位清單合同范本
- 勞務(wù)服務(wù)發(fā)票合同范本
- 公司運貨合同范本
- 協(xié)力商合同范本
- 2025年春季開學(xué)典禮校長講話稿-少年無畏凌云志扶搖直上入云蒼
- 2025年湖南食品藥品職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年常考版參考題庫含答案解析
- 碳酸鈣脫硫劑項目可行性研究報告立項申請報告模板
- 山東省泰安市新泰市2024-2025學(xué)年(五四學(xué)制)九年級上學(xué)期1月期末道德與法治試題(含答案)
- 1《北京的春節(jié)》課后練習(xí)(含答案)
- (完整版)陸河客家請神書
- 2025年行業(yè)協(xié)會年度工作計劃
- DB3502T 160-2024 工業(yè)產(chǎn)品質(zhì)量技術(shù)幫扶和質(zhì)量安全監(jiān)管聯(lián)動工作規(guī)范
- 2025年學(xué)校教師政治理論學(xué)習(xí)計劃
- 集團專利管理制度內(nèi)容
- 燃氣農(nóng)村協(xié)管員培訓(xùn)
評論
0/150
提交評論