版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目4電子時鐘控制系統(tǒng)任務(wù)4.3按鍵可調(diào)電子時鐘明確任務(wù)
在工業(yè)控制中,很多儀表顯示都采用的是LCD液晶模塊。LCD具有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點(diǎn),在單片機(jī)應(yīng)用設(shè)計(jì)中常用來作為顯示器件。工作任務(wù):采用LCD1602顯示來制作四個按鍵可調(diào)電子時鐘,顯示時分秒功能。知識鏈接
液晶顯示器簡稱LCD(LiquidCrystalDiodes)是一種低壓微功耗的平板型顯示器件,屬于被動顯示器件,本身不發(fā)光,是靠調(diào)制外界光來實(shí)現(xiàn)顯示的。液晶顯示器具有壽命長、重量輕、功耗低、抗干擾能力強(qiáng)、顯示內(nèi)容豐富等特點(diǎn),因而在單片機(jī)系統(tǒng)中得到了廣泛的應(yīng)用。一.LCD顯示技術(shù)簡介筆段式LCD顯示器通常有六段、七段、八段、九段、十四段和十六段等,其中以七段最為常用,它類似于LED數(shù)碼管顯示器,每個顯示器包括段電極a、b、c、d、e、f、g七個筆畫段和一個背電極BP,可以顯示數(shù)字和簡單的字符,廣泛用于電子表、數(shù)字儀表等。
LCD液晶顯示器分類點(diǎn)陣式LCD顯示器可分為字符型和圖像型,段電極與背電極構(gòu)成n行n列矩陣,液晶位于行列相交的帶狀電極之間,其大小可以根據(jù)由顯示清晰度來決定。通過控制每個點(diǎn)的亮、滅來實(shí)現(xiàn)字符和圖像的顯示,點(diǎn)陣式LED的控制一般采用掃描方式。LCM是把LCD顯示器、背光光源、驅(qū)動器、控制器等部件通過印刷電路板構(gòu)造成一個整體,作為一個獨(dú)立部件使用。LCD顯示模塊LCM
特點(diǎn)是功能強(qiáng)、易于控制、接口簡單,在單片機(jī)系統(tǒng)中應(yīng)用較多。二、LCD1602液晶模塊簡介LCD1602是一種專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶模塊??梢燥@示兩行,每行16個字符,有8位數(shù)據(jù)總線D0~D7和RS、R/W、EN三個控制端口。工作電壓為5V,可顯示192種字符,5×7或5×10點(diǎn)陣字形,可自編8(5×7)或4(5×10)種字符,對比度可調(diào)。編號符號引腳說明編號符號引腳說明1VSS電源地9DB2DataI/O2VDD電源正極(5V)10DB3DataI/O3V0液晶顯示偏壓信號11DB4DataI/O4RS數(shù)據(jù)/命令選擇端(H/L)12DB5DataI/O5R/W讀/寫選擇端(H/L)13DB6DataI/O6E使能信號14DB7DataI/O7DB0DataI/O15BLA背光源正極8DB1DataI/O16BLK背光源負(fù)極讀操作時序
寫操作時序
1602液晶模塊內(nèi)部的控制器共有11條控制指令。讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的??刂浦噶钪噶?:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置。設(shè)定每次寫入數(shù)據(jù)后光標(biāo)的移位方向,并設(shè)定每次寫入字符后是否移動。
I/D:光標(biāo)移動方向,高電平右移,低電平左移;
S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示;
C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo);B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位S/C:高電平時移動顯示的文字,低電平時移動光標(biāo);R/L:高電平右移1格,AC值加1,低電平左移1格,AC值減1。指令6:功能設(shè)置命令DL:高電平時為4位總線,低電平時為8位總線N:低電平時為單行顯示,高電平時雙行顯示F:
低電平時顯示5x7的點(diǎn)陣字符,高電平時顯示5x10的點(diǎn)陣字符指令7:字符發(fā)生器RAM地址設(shè)置指令8:DDRAM地址設(shè)置指令9:讀忙信號和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)指令11:讀數(shù)據(jù)LCD1602液晶模塊內(nèi)部的HD44780內(nèi)置了DDRAM、CGROM和CGRAM。CGROM是1602內(nèi)部的字符發(fā)生存儲器,已經(jīng)存儲了192個不同的點(diǎn)陣字符圖形,包括阿拉伯?dāng)?shù)字、英文字母大小寫、常用符號和日文假名等,每個字符都有固定的代碼。CGRAM用于存儲自定義的字符點(diǎn)陣,共64B,能存儲8組自定義字符的點(diǎn)陣數(shù)組。
DDRAM用來寄存待顯示的字符代碼,共80個字節(jié),其地址和屏幕顯示位置的對應(yīng)關(guān)系。對LCD1602寄存器操作主要有4種,讀狀態(tài)、寫指令、讀數(shù)據(jù)、寫數(shù)據(jù)。操作輸入輸出讀狀態(tài)RS=L,R/W=H,E=HD0-D7=狀態(tài)字寫指令RS=L,R/W=L,D0-D7=指令碼,E=高脈沖無讀數(shù)據(jù)RS=H,R/W=H,E=HD0-D7=數(shù)據(jù)寫數(shù)據(jù)RS=H,R/W=L,D0-D7=數(shù)據(jù),E=高脈沖無三編程應(yīng)用/***********LCD寫指令******************/voidLCD_write_com(unsignedcharcom) { LCD_RS=0;//RS、RW為低電平LCD_EN由低電平跳變?yōu)楦唠娖綍r,液晶寫指令
LCD_RW=0; LCD_EN=0; LCD_DAT=com; LCD_EN=1; delay(10);//延時,等待數(shù)據(jù)傳輸完成
LCD_EN=0;}/**********LCD寫數(shù)據(jù)*******/voidLCD_write_data(unsignedchardat) { LCD_RS=1;//RS為高電平,RW為低電平,LCD_EN由低電平跳變?yōu)楦唠娖綍r時,液晶寫數(shù)據(jù)
LCD_RW=0; LCD_EN=0; LCD_DAT=dat; LCD_EN=1; delay(5);//通過延時,等待數(shù)據(jù)傳輸完成
LCD_EN=0;}/*********液晶初始化******************/voidinit_1602() { LCD_EN=0;//初始化,RS、RW、LCD_EN為低電平
LCD_RW=0; LCD_RS=0; LCD_write_com(0x38);//顯示模式設(shè)置
LCD_write_com(0x08);//顯示關(guān)閉
LCD_write_com(0x01);//顯示清屏
LCD_write_com(0x06);//顯示光標(biāo)移動設(shè)置
LCD_write_com(0x0c);//顯示開及光標(biāo)設(shè)置}四、硬件電路圖五、軟件設(shè)計(jì)與編程
(1)利用LCD1602顯示字符。需要指定顯示位置與字符voiddisplay_char(unsignedcharaddr,unsignedchardat){ LCD_write_com(0x80+add);//指定顯示位置
LCD_write_data(dat);//顯示字符}如果需要顯示一串字符時,定義函數(shù)如下。注意行的切換。voiddisp_string(unsignedcharaddr,char*string) { unsignedcharlen,i,k; len=strlen(string); if(addr<0x10)//地址小于0x10時,在液晶第一行顯示
{ LCD_write_com(0x80+addr); for(i=0;i<len;i++) { k=addr+i; if(k==0x10) LCD_write_com(0x80+0x40); LCD_write_data(*(string+i)); } k=0; } else//否,則在第二行顯示
{ LCD_write_com(addr-0x10+0xC0); for(i=0;i<len;i++) LCD_write_data(*(string+i)); }}voidtime_chuli(void)//時間函數(shù){ if(flag_1S==1)//每到一秒,執(zhí)行一次
{flag_1S=0; sec++;}//秒數(shù)據(jù)+1 if(sec>59) //當(dāng)秒數(shù)值大于59時,秒清零,分鐘加1 {sec=0; min++; } if(min>59) //當(dāng)分鐘數(shù)值大于59時,分鐘清零,小時加1 {min=0; hour++; } if(hour>23) //當(dāng)小時數(shù)值大于23時,小時清零
hour=0; }(2)利用LCD1602制作24小時制時鐘。第一行顯示即可定時1s參照任務(wù)2秒表計(jì),時間的處理,需要考慮實(shí)際情況。(3)添加按鍵,實(shí)現(xiàn)時鐘調(diào)整功能按鍵功能分別為功能鍵,用來切換調(diào)整位置,即調(diào)整時、分、秒的選擇;加鍵和減鍵對應(yīng)調(diào)整對象數(shù)據(jù)加或減;確認(rèn)鍵,按下確認(rèn),不論當(dāng)前處于調(diào)整什么狀態(tài)都保存數(shù)據(jù)并退出開始正常工作。
采用軟件編程實(shí)現(xiàn)。采集并保存按鍵連續(xù)不同時刻的電平,通過電平來進(jìn)行是否下降沿到來的判別,為了能更好的把按鍵去抖動也融合在里面,一般采集保存4次以上的按鍵狀態(tài)。例如,定義三個臨時緩存用來存放鍵盤的前3個時刻狀態(tài),當(dāng)最早兩個的狀態(tài)temp1、temp2為1時,上一個狀態(tài)temp3和當(dāng)前狀態(tài)為0時,才認(rèn)為按鍵真正有效。
if(temp1&temp2&(~temp3)&(~key)) { ---//按鍵有效后,執(zhí)行的程序
}
每采集一次按鍵信息,都需要更新已有狀態(tài),把最新的信息保存起來,最早一
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省巴中市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版期中考試(上學(xué)期)試卷及答案
- 個人原因離職報(bào)告范文9篇
- 非典型擔(dān)保與典型擔(dān)保的體系融合
- 四川省內(nèi)江市(2024年-2025年小學(xué)六年級語文)部編版隨堂測試(上學(xué)期)試卷及答案
- 防雷基本知識簡介
- 高考班級口號(匯編15篇)
- 廣東省深圳市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版隨堂測試(上學(xué)期)試卷及答案
- -銷售年終總結(jié)怎么寫
- 員工調(diào)崗申請書模板集錦九篇
- 基于信息化的物流設(shè)備管理精益改善研究
- (高清版)TDT 1055-2019 第三次全國國土調(diào)查技術(shù)規(guī)程
- 地下室坡道施工方案樣本
- 《跨境電商應(yīng)用英語1》課程標(biāo)準(zhǔn)
- 2024年國家糧食和物資儲備局直屬事業(yè)單位招聘筆試沖刺題
- pvc電纜保護(hù)管工藝
- 醫(yī)保繳費(fèi)問題排查整改報(bào)告
- 《登高作業(yè)安全培訓(xùn)》課件
- 2023-2024學(xué)年二年級數(shù)學(xué)上冊期末樂考非紙筆測試題(一)蘇教版
- 語法-ed-分詞-課件
- Android移動應(yīng)用開發(fā)基礎(chǔ)教程-教案
- 人工智能技術(shù)在中小學(xué)教育中的應(yīng)用案例分享
評論
0/150
提交評論