單片機應(yīng)用技術(shù)-基于STC15系列單片機 課件 6.2液晶顯示系統(tǒng)_第1頁
單片機應(yīng)用技術(shù)-基于STC15系列單片機 課件 6.2液晶顯示系統(tǒng)_第2頁
單片機應(yīng)用技術(shù)-基于STC15系列單片機 課件 6.2液晶顯示系統(tǒng)_第3頁
單片機應(yīng)用技術(shù)-基于STC15系列單片機 課件 6.2液晶顯示系統(tǒng)_第4頁
單片機應(yīng)用技術(shù)-基于STC15系列單片機 課件 6.2液晶顯示系統(tǒng)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

液晶顯示系統(tǒng)任務(wù)分析液晶顯示系統(tǒng)任務(wù)演示液晶固定字符串顯示驅(qū)動程序包括液晶的初始化函數(shù)、固定字符串的初始化以及液晶循環(huán)顯示字符串函數(shù)等LCD1602的引腳功能LCD1602是將液晶顯示器、控制與驅(qū)動等外圍電路、背光源做成了PCB板,提供了標準的用戶接口并用結(jié)構(gòu)件將其裝配在一起的一個模組可以顯示2行*每行16個字符1602即16*2LCD1602的引腳功能編號符號引腳說明1GND地2Vcc電源正極3Vo對比度調(diào)節(jié)4RS數(shù)據(jù)/命令選擇5R/W讀/寫選擇6E模塊使能端7~14D0~D7雙向數(shù)據(jù)口線15BLA背光源正極16BLK背光源地LCD1602的讀寫時序?qū)懼噶頡S=0,RW=0,E下降沿(用于初始化、清屏等)讀指令RS=0,RW=1,E下降沿(用于讀LCD是否忙等)寫數(shù)據(jù)RS=1,RW=0,E下降沿(用于寫入顯示內(nèi)容)讀數(shù)據(jù)RS=1,RW=1,E下降沿(反讀DDRAM中的數(shù)據(jù)等)LCD1602的指令名稱編碼說明D7D6D5D4D3D2D1D0清屏00000001顯示空白,并清DDRAM,AC清0,光標移至左上角歸位0000001╳顯示回車,AC請0,光標移至左上角,原屏幕顯示內(nèi)容不變輸入模式000001I/DSI/D=1,讀/寫一個字符后,AC加1,光標加1I/D=0,讀/寫一個字符后,AC減1,光標減1S=1,讀寫一個字符后整屏顯示移動(移動方向由I/D確定)S=0,讀寫一個字符時,整屏顯示不動LCD1602的指令名稱編碼說明D7D6D5D4D3D2D1D0顯示開關(guān)控制00001DCB顯示開關(guān):D=1,開;D=0,關(guān)。DDRAM中內(nèi)容不變光標開關(guān):C=1,開;C=0,關(guān)。光標閃爍開關(guān):B=1,光標閃爍;B=0,光標不閃爍顯示移位0001S/CR/L╳╳S/C=1,移動顯示字符;S/C=0,移動光標;R/L=1,右移一個字符位;R/L=0,左移一個字符位;LCD1602的指令名稱編碼說明D7D6D5D4D3D2D1D0顯示模式001DLNF╳╳DL=1,8位數(shù)據(jù)接口;DL=0,4位數(shù)據(jù)接口;N=1,雙行顯示;N=0,單行顯示;F=1,采用5╳7點陣字符;F=0,采用5╳10點陣字符。地址設(shè)置01A5A4A3A2A1A0設(shè)置CGRAM地址1A6A5A4A3A2A1A0設(shè)置DDRAM地址LCD1602寫指令程序引腳寫入值RS0RW0E下降沿D0-D7命令字RS=0;RW=0;E=1命令送P0口E=0LCD1602寫指令程序RS=0;RW=0;E=1命令送P0口E=0voidlcd_cmd(ucharcmd){LCD=cmd;RS=0; RW=0; E=1;delay1us(1);E=0; delay1us(1);while(1){LCD=0xff;//總線變高RS=0; RW=1; E=1; delay1us(1);E=0;delay1us(1);E=1; delay1us(1);if(BF==0)break;//就緒才返回}}sfrLCD=0x80;//P0口作為總線端口sbitBF=P0^7;//BF忙標志在P0.7LCD1602寫數(shù)據(jù)程序引腳寫入值RS1RW0E下降沿D0-D7顯示數(shù)據(jù)RS=1;RW=0;E=1數(shù)據(jù)送P0口E=0LCD1602寫數(shù)據(jù)程序RS=1;RW=0;E=1數(shù)據(jù)送P0口E=0voidlcd_dat(uchardat){LCD=dat;RS=1;RW=0;E=1;delay1us(1);E=0;delay1us(1);//while(1){LCD=0xff;RS=0;RW=1;E=0;delay1us(1);E=1;delay1us(1);if(BF==0)break;//如果就緒,返回dat=LCD;}}LCD1602初始化函數(shù)寫指令0X01寫指令0X3c寫指令0X0c清屏幕設(shè)置顯示模式:雙行、5*10點陣設(shè)置顯示開關(guān):開顯示,關(guān)閉光標LCD1602初始化函數(shù)寫指令0X01寫指令0X3c寫指令0X0cvoid lcd_init(){Lcd_cmd(0x01);//清屏幕lcd_cmd(0x3c);//設(shè)置雙行顯示,5X10點陣lcd_cmd(0x0C);//開顯示,關(guān)閉光標}LCD初始化定義顯示字符串發(fā)送第一個字符位置的DDRAM命令取出字符數(shù)據(jù)并等待LCD就緒發(fā)送數(shù)據(jù)到LCD數(shù)據(jù)=0?返回是否1、初始化成功后,將需要顯示的字符串定義到一個字符數(shù)組中。2、確定第一個字符要顯示在LCD屏的位置,自動增量方式下DDRAM地址會自動加1。3、循環(huán)將要顯示字符數(shù)組中的數(shù)據(jù)寫到數(shù)據(jù)接口直到數(shù)據(jù)為“0”結(jié)束顯示。LCD1602液晶顯示驅(qū)動程序設(shè)計LCD1602液晶顯示驅(qū)動程序設(shè)計voidmain(){uchar*p;ucharstr1[16]="STC15W4K32S4";ucharstr2[16]="temperature";P0M0=0X00;P0M1=0X00;P1M0=0X00;P1M1=0X00;lcd_init();lcd_cmd(0x80);//第一個字符顯示在第一行p=str1;while(*p)lcd_dat(*p++);//顯示"STC15W4K32S4"lcd_cmd(0xc0);//顯示在第二行p=str2;while(*p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論