版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目2基于字符液晶的秒計(jì)數(shù)器設(shè)計(jì)2.1項(xiàng)目描述2.2項(xiàng)目分析2.3液晶顯示接口知識2.4項(xiàng)目實(shí)施返回2.1項(xiàng)目描述利用51系列單片機(jī)設(shè)計(jì)一個液晶顯示的60秒倒計(jì)時(shí)器,倒計(jì)時(shí)到零時(shí)停止計(jì)時(shí),進(jìn)行聲光報(bào)警。返回2.2項(xiàng)目分析要實(shí)現(xiàn)任務(wù)要求,首先要考慮利用液晶顯示時(shí)間,因此需在單片機(jī)最小系統(tǒng)基礎(chǔ)上外接液晶顯示接口電路。其次是時(shí)間的計(jì)時(shí),這個可以通過單片機(jī)內(nèi)部的定時(shí)器來完成。再其次是計(jì)時(shí)為“0”時(shí)的聲光報(bào)警,這可以利用發(fā)光二極管閃爍和蜂鳴器鳴響來實(shí)現(xiàn)。返回2.3液晶顯示接口知識2.3.1液晶顯示的原理和分類液晶(LiquidCrystal)是一種介于液體和固體之間的熱力學(xué)的中間穩(wěn)定相,其特點(diǎn)是在一定的溫度范圍內(nèi)既有液體的流動性和連續(xù)性,又有晶體的各向異性。LCD液晶顯示器是一種功耗極低的顯示器件,在便攜式儀器儀表中應(yīng)用越來越廣泛。液晶顯示模塊是一種將液晶顯示器件、連接件、集成電路、PCB線路板、背光源、結(jié)構(gòu)件裝配在一起的組件,英文名稱“LCDModule”,簡稱“LCM”,中文一般稱為“液晶顯示模塊”。當(dāng)前市場上出售的LCD液晶顯示器分字符型和點(diǎn)陣型兩大類。字符型可用來顯示字符和數(shù)字,點(diǎn)陣型則可用來顯示漢字以及圖形。下一頁返回2.3液晶顯示接口知識液晶顯示器具有低壓微功耗、平板型結(jié)構(gòu)、被動顯示、顯示信息量大、易于彩色化、沒有電磁輻射、壽命長等優(yōu)點(diǎn),它適合人的視覺習(xí)慣且不會使人眼睛疲勞,對環(huán)境無污染。液晶顯示的驅(qū)動方式與LED有很大的不同。LED在其兩端加上恒定的導(dǎo)通或截止電壓即可控制其明暗,而LCD如果用直流電壓驅(qū)動會使液晶體產(chǎn)生電解和電極老化,從而大大降低LCD的使用壽命。LCD的驅(qū)動方式通常是在LCD的公共極(一般為背極)加上恒定的交變方波信號,通過控制前極的電壓變化,使得LCD兩極間產(chǎn)生交變方波電壓或零電壓,從而實(shí)現(xiàn)LCD的亮、滅控制?,F(xiàn)用的驅(qū)動方式多屬交流電壓驅(qū)動,有靜態(tài)驅(qū)動法、動態(tài)驅(qū)動法和雙頻驅(qū)動法等方法。上一頁下一頁返回2.3液晶顯示接口知識2.3.2字符液晶顯示模塊及接口設(shè)計(jì)字符型液晶顯示模塊是專門用于顯示字母、數(shù)字、符號等的點(diǎn)陣式LCD,目前常用的有16×1、16×2、20×2和40×2行等。下面以1602字符型液晶顯示器為例,介紹其用法,其外形結(jié)構(gòu)如圖2-1所示。(1)1602LCD的引腳功能。1602LCD采用標(biāo)準(zhǔn)14腳(無背光)或16腳(帶背光)接口,各引腳功能如表2-1所示。VO為液晶顯示器對比度調(diào)整端,按正電源時(shí)對比度最弱,接地時(shí)對比度最高。若對比度過高會產(chǎn)生“鬼影”,使用時(shí)可以通過一只10kΩ電阻來調(diào)整對比度。上一頁下一頁返回2.3液晶顯示接口知識RS為數(shù)據(jù)/命令選擇端,RS為高電平時(shí)選擇數(shù)據(jù)寄存器,為低電平時(shí)選擇指令寄存器。R/W為讀寫信號線,為高電平時(shí)進(jìn)行讀操作,為低電平時(shí)為寫操作。當(dāng)RS和R/W同為低電平時(shí)可以寫入指令或者顯示地址;當(dāng)RS為低電平、R/W為高電平時(shí)可以讀忙信號;當(dāng)RS為高電平、R/W為低電平時(shí)可以寫入數(shù)據(jù)。E為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。D0~D7為8位雙向數(shù)據(jù)線。1602與單片機(jī)的連接有兩種方式,總線方式如圖2-2(a)所示,模擬口線方式如圖2-2(b)所示。上一頁下一頁返回2.3液晶顯示接口知識(2)1602LCD的指令說明及時(shí)序。1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表2-2所示。1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置。I/D:光標(biāo)移動方向,高電平右移,低電平左移;S:屏幕上所有文字是否左移或者右移,高電平表示有效,低電平則無效。上一頁下一頁返回2.3液晶顯示接口知識指令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:高電平時(shí)移動顯示的文字,低電平時(shí)移動光標(biāo)。指令6:功能設(shè)置命令。DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線;N:低電平時(shí)為單行顯示,高電平時(shí)為雙行顯示;F:低電平時(shí)顯示5×7的點(diǎn)陣字符,高電平時(shí)顯示5×10的點(diǎn)陣字符。上一頁下一頁返回2.3液晶顯示接口知識指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標(biāo)地址。BF:忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接受命令或者數(shù)據(jù);低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。與I-ID44780兼容的芯片時(shí)序如表2-3所示。上一頁下一頁返回2.3液晶顯示接口知識(3)1602LCD的RAM地址映射及標(biāo)準(zhǔn)字符表。液晶顯示模塊是慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平(即不忙),否則該指令失效。顯示字符時(shí),要先輸入顯示字符地址,即告訴模塊在哪里顯示字符,圖2-3是1602的內(nèi)部顯示地址。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)中已經(jīng)存儲了160個點(diǎn)陣字符圖形,如表2-4所示,每一個字符都有一個固定的代碼。比如,大寫英文字符A的代碼是01000001B(41H),顯示時(shí),模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母A。上一頁下一頁返回2.3液晶顯示接口知識(4)1602LCD顯示程序流程1602LCD顯示流程分為初始化、清屏、顯示定位、顯示等過程,如圖2-4所示。其中初始化分為顯示模式設(shè)置、關(guān)顯示、清屏、顯示光標(biāo)移動、開顯示及設(shè)置光標(biāo)的過程,如圖2-5所示。上一頁返回2.4項(xiàng)目實(shí)施2.4.1硬件電路設(shè)計(jì)根據(jù)任務(wù)要求,完整的電路圖設(shè)計(jì)如圖2-6所示。圖2-6中LCD1602的數(shù)據(jù)口線D0~D7直接與單片機(jī)的P0口相連,而控制線RS、R/W、E分別與單片機(jī)的P1.0、P1.1、P1.2相連。2.4.2軟件設(shè)計(jì)系統(tǒng)上電后自動開始倒計(jì)時(shí),液晶從59開始顯示,以后每經(jīng)過1s依次減1,直到減到0為止。當(dāng)60s倒計(jì)時(shí)完成時(shí),發(fā)光二極管閃爍并伴隨蜂鳴器發(fā)出報(bào)警聲,程序可參考如圖2-7所示流程圖編寫,最終電路圖如圖2-8所示。下一頁返回2.4項(xiàng)目實(shí)施參考程序:#include<AT89X51.h>//包含單片機(jī)寄存器的頭文件#include<stdlib.h>//包含隨機(jī)函數(shù)rand()的定義文件#include<intrins.h>//包含_nop_()函數(shù)定義的頭文件#defineucharunsignedchar#defineuintunsingedintsbitRSPIN=P1^0;//寄存器選擇位,將RS位定義為P1.0引腳上一頁下一頁返回2.4項(xiàng)目實(shí)施sbitRWPIN=P1^1;//讀寫選擇位,將RW位定義為P1.1引腳sbitEPIN=P1^2;//使能信號位,將E位定義為P1.2引腳sbitBF=P0^7;//忙碌標(biāo)志位,將BF位定義為P0.7引腳ucharcodedigital[]={"0123456789"};//定義字符數(shù)組顯示數(shù)字ucharcodestring[]={"STOP"};//定義字符數(shù)組顯示提示信息ucharcount,temp;//定義變量統(tǒng)計(jì)中斷累計(jì)次數(shù)intsccond;//定義變量儲存秒上一頁下一頁返回2.4項(xiàng)目實(shí)施bitflag=0;bitflag_time=0;voidlcdwd(uchard);//送數(shù)據(jù)到液晶顯示控制器子函數(shù)voidlcdwc(ucharc);//送控制字到液晶顯示控制器子函數(shù)voidlcdwaitidle(void);//HD44780液晶顯示控制器忙檢測子函數(shù)voidlcdreset(void);//LCD初始化子函數(shù)/?????????????????????????????????????????????????????函數(shù)功能:延時(shí)lms上一頁下一頁返回2.4項(xiàng)目實(shí)施(3j+2)?i=(3×33+2)×10=1010(微秒),可以認(rèn)為是l毫秒?????????????????????????????????????????????????????/voiddelay1ms(){uchari,j;for(i=0;i<10;i++)for(j=0;j<33;j++);}/?????????????????????????????????????????????????????函數(shù)功能:延時(shí)若干毫秒上一頁下一頁返回2.4項(xiàng)目實(shí)施入口參數(shù):n?????????????????????????????????????????????????????/voiddelay(ucharn){uchari;for(i=0;i<n;i++)delay1ms();}/?????????????????????????????????????????????????????函數(shù)功能:延時(shí)4微秒?????????????????????????????????????????????????????/上一頁下一頁返回2.4項(xiàng)目實(shí)施voiddelay4us(){_nop_();_nop_();_nop_();_nop_();}voidlcdwd(uchard)//送數(shù)據(jù)到液晶子函數(shù){Lcdwaitidle();//忙檢測RSPN=1;//RS=1RW=0E=高電平上一頁下一頁返回2.4項(xiàng)目實(shí)施RWPIN=0;EPIN=0;P0=d;_nop_();EPIN=1;delay4us();EPIN=0;}voidlcdwc(ucharc)//送進(jìn)控制字到液晶子函數(shù){上一頁下一頁返回2.4項(xiàng)目實(shí)施Lcdwaitidle()//HD44780液晶顯示控制器忙檢測RSPIN=0;//RS=0RWPIN=0;//RW=0P0=c;EPIN=1;//E=高電平delay4us();EPIN=0;}voidlcdwaitidie(void)//HD44780液晶顯示控制器忙檢測子函數(shù){
上一頁下一頁返回2.4項(xiàng)目實(shí)施uchari;P0=0xff;RSPIN=0;//RS=0RW=1E=高電平RWPIN=1;EPIN=1;for(i=0;i<20;i++)if((P0&0x80)==0)break;//D7=0表示LCD控制器空閑,則退出檢測EPIN=0;}voidsetpos(ucharpos)上一頁下一頁返回2.4項(xiàng)目實(shí)施{lcdwc(pos+0x80);}/?????????????????????????????????????????????????????函數(shù)功能:對LCD的顯示模式進(jìn)行初始化設(shè)置?????????????????????????????????????????????????????/voidlcdreset(void){delay(15);//延時(shí)15ms,首次寫指令時(shí)應(yīng)給LCD一段較長的反應(yīng)時(shí)間lcdwc(0x38);//顯示模式設(shè)置:16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口上一頁下一頁返回2.4項(xiàng)目實(shí)施delay(5);//延時(shí)5ms,給硬件一點(diǎn)反應(yīng)時(shí)間lcdwc(0x38);delay(5);lcdwc(0x38);//連續(xù)三次,確保初始化成功delay(5);lcdwc(0x0c);//顯示模式設(shè)置:顯示開,無光標(biāo),光標(biāo)不閃爍delay(5);lcdwc(0x06);//顯示模式設(shè)置:光標(biāo)右移,字符不移delay(5);上一頁下一頁返回2.4項(xiàng)目實(shí)施lcdwc(0x01);//清屏幕指令,將以前的顯示內(nèi)容清除delay(5);}/?????????????????????????????????????????????????????函數(shù)功能:顯示秒?????????????????????????????????????????????????????/voidDisplaytime(){stpos(0x07);//寫顯示地址,將十位數(shù)字顯示在第2行第7列上一頁下一頁返回2.4項(xiàng)目實(shí)施lcdwd(digital[second/10]);//將秒十位數(shù)字的字符常量寫入LCDlcdwd(digital[second%10]);//將秒個位數(shù)字的字符常量寫入LCD}/?????????????????????????????????????????????????????主函數(shù)?????????????????????????????????????????????????????/voidmain(void){uchari;上一頁下一頁返回2.4項(xiàng)目實(shí)施lcdreset();//調(diào)用LCD初始化函數(shù)TMOD=0x01;//使用定時(shí)器T0的模式1TH0=(65536-50000)/256;//定時(shí)器T0的高8位設(shè)置初值TL0=(65536-50000)%256;//定時(shí)器T0的低8位設(shè)置初值EA=1;//開總中斷ET0=1;//定時(shí)器T0中斷允許TR0=1;//啟動定時(shí)器T0count=0;second=59;//倒計(jì)時(shí)初始化flag=0;//初始flag為0,蜂鳴器不響上一頁下一頁返回2.4項(xiàng)目實(shí)施i=0;//從字符數(shù)組的第1個元素開始顯示displaytime();//顯示時(shí)間while(1)//無限循環(huán){if(flag_time){flag_time=0;if(flag==0){if(sccond--==0)上一頁下一頁返回2.4項(xiàng)目實(shí)施{flag=1;second=0;temp=count;}Displaytime();//顯示時(shí)間}else//倒計(jì)時(shí)為0{setpos(0x46);//寫地址,從第1行第7列開始顯示上一頁下一頁返回2.4項(xiàng)目實(shí)施while(string[i]?。健埽啊灰獩]有顯示到字符串的結(jié)束標(biāo)志’\0’,就繼續(xù){lcdwd(string[i]);//將第i個字符數(shù)組元素寫入LCDi++;//指向下一個數(shù)組元素}i=0;while(1){上一頁下一頁返回2.4項(xiàng)目實(shí)施if(count!=temp){temp=count;i++;P3^7=~P3^7;}if(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030消費(fèi)電子液態(tài)金屬散熱方案應(yīng)用拓展與供應(yīng)鏈培育
- 2025-2030消費(fèi)電子產(chǎn)業(yè)供應(yīng)鏈重構(gòu)與區(qū)域布局優(yōu)化報(bào)告
- 2025-2030消費(fèi)分級趨勢下免漆門產(chǎn)品矩陣優(yōu)化策略設(shè)計(jì)
- 2025-2030涂料制造行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 2025-2030沼氣池厭氧發(fā)酵原料配比精準(zhǔn)調(diào)控技術(shù)探討及農(nóng)業(yè)廢棄物資源化循環(huán)利用模式優(yōu)化實(shí)驗(yàn)報(bào)告
- 醫(yī)療機(jī)構(gòu)藥品采購合同管理方案
- 職業(yè)教育實(shí)訓(xùn)考核方案試題
- 小學(xué)科學(xué)考試卷設(shè)計(jì)方案
- 慢性盆腔炎中醫(yī)護(hù)理方案范文
- 中小學(xué)課后服務(wù)活動指導(dǎo)方案
- 2025-2026學(xué)年北師大版七年級生物上冊知識點(diǎn)清單
- 委托作品協(xié)議書
- 食品加工廠乳制品設(shè)備安裝方案
- 2025至2030中國芳綸纖維行業(yè)發(fā)展分析及市場發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 尾牙宴活動策劃方案(3篇)
- 魯教版(2024)五四制英語七年級上冊全冊綜合復(fù)習(xí)默寫 (含答案)
- 生蠔課件教學(xué)課件
- 組塔架線安全培訓(xùn)
- 化療神經(jīng)毒性反應(yīng)護(hù)理
- 2025年度運(yùn)營數(shù)據(jù)支及決策對工作總結(jié)
- 2025年《外科學(xué)基礎(chǔ)》知識考試題庫及答案解析
評論
0/150
提交評論