版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1602字符型液晶顯示篇《電子制作》20231月站長原創(chuàng),如需引用請注明出處在日常生活中,我們對液晶顯示器并不生疏?液晶顯示模塊已作為很多電子產品的通過器件,如在計算器?萬用表?電子表及很多家用電子產品中都可以看到,顯示的主要是數(shù)字?專用符號和圖形?在單片機的人機溝通界面中,一般的輸出方式有以下幾種:發(fā)光管?LED數(shù)碼管?液晶顯示器?發(fā)光管和LED數(shù)碼管比較常用,軟硬件都比較簡潔,在前面章節(jié)已經介紹過,在此不作介紹,本章重點介紹字符型液晶顯示器的應用?在單片機系統(tǒng)中應用晶液顯示器作為輸出器件有以下幾個優(yōu)點:顯示質量高由于液晶顯示器每一個點在收到信號后就始終保持那種顏色和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷亮點?因此,液晶顯示器畫質高且不會閃耀?數(shù)字式接口液晶顯示器都是數(shù)字式的,和單片機系統(tǒng)的接口更加簡潔牢靠,操作更加便利?體積小重量輕液晶顯示器通過顯示屏上的電極掌握液晶分子狀態(tài)來到達顯示的目的,在重量上比一樣顯示面積的傳統(tǒng)顯示器要輕得多?功耗低相對而言,液晶顯示器的功耗主要消耗在其內部的電極和驅動IC上,因而耗電量比其它顯示器要少得多?液晶顯示簡介①液晶顯示原理液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進展掌握,有電就有顯示,這樣即可以顯示出圖形?液晶顯示器具有厚度薄?適用于大規(guī)模集成電路直接驅動?易于實現(xiàn)全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦?數(shù)字攝像機?PDA移動通信工具等眾多領域?②液晶顯示器的分類液晶顯示的分類方法有很多種,通??砂雌滹@示方式分為段式?字符式?點陣式等?除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等?假設依據(jù)驅動方式來分,可以分為靜態(tài)驅動(Static)?單純SimpleMatrix)和主動矩陣驅動(ActiveMatrix)三種?③液晶顯示器各種圖形的顯示原理:線段的顯示M×NLCD6412881字81616×8=12864×16個顯示單元與顯示RAM1024字節(jié)相對應,每一字節(jié)的內容和顯示屏上相應位置的亮暗對應?例如屏的第一行的亮暗由RAM000H—00FH16字節(jié)的內容打算,當(000H)=FFH8個點;當(3FFH)=FFH時,則屏幕的右下角顯示一條短亮線;當(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H時,則在屏幕的頂部顯示一條由8段8條暗線組成的虛線?LCD顯示的根本原理?字符的顯示LCD顯示一個字符時比較簡單,由于一個字符由6×88×8點陣組成,既要找到和顯示屏幕上某RAM8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點亮,0”的不亮?這樣一來就組成某個字符?但由于內帶字符發(fā)生器的掌握器來說,顯示字符就比較簡潔了,可以讓掌握器工作在文本方式,依據(jù)在LCD上開頭顯示的行列號及每行的列數(shù)找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可?漢字的顯示漢字的顯示一般承受圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),32B16B1?3?52?4?6LCD上開頭顯示的行列號及每行的列數(shù)可找出顯示RAM對應的地址,設立光標,送上要顯示的漢字的第一字節(jié),光標位置加132BLCD上得到一個完整漢字?1602字符型LCD 簡介字符型液晶顯示模塊是一種特地用于顯示字母?數(shù)字?符號等點陣式LCD,目前常用16*1,16*2,20*240*2行等的模塊?下面以長沙太陽人電子的1602字符型液晶顯示器為例,介紹其用法一般16021:11602字符型液晶顯示器實物圖1602LCD 的根本參數(shù)及引腳功能1602LCD分為帶背光和不帶背光兩種,基掌握器大局部為HD44780,帶背光的比不帶背光的厚,是否帶2所示:21602LCD尺寸圖1602LCD主要技術參數(shù):顯示容量:16×2個字符芯片工作電壓:工作電流:模塊最正確工作電壓:字符尺寸:×(W×H)mm引腳功能說明1602LCD14161所示:編號符號引腳說明1VSS電源地2VDD電源正極3VL液晶顯示偏壓4RS數(shù)據(jù)/命令選擇5R/W讀/寫選擇6E使能信號7D0數(shù)據(jù)8D1數(shù)據(jù)9D2數(shù)據(jù)10D3數(shù)據(jù)11D4數(shù)據(jù)12D5數(shù)據(jù)13D6數(shù)據(jù)14D7數(shù)據(jù)15BLA背光源正極16BLK背光源負極1:引腳接口說明表1腳:2腳:3腳:4腳:5腳:
VSS為地電源?VDD5V正電源?VL為液晶顯示器比照度調整端,接正電源時比照度最弱,接地時比照度最高,比照度過10K的電位器調整比照度?RS為存放器選擇,高電尋常選擇數(shù)據(jù)存放器?低電尋常選擇指令存放器?R/W為讀寫信號線,高電尋常進展讀操作,低電尋常進展寫操作?RSR/W共同為RSR/W為高電尋常可以讀忙信號,RSR/W為低電尋??梢詫懭霐?shù)據(jù)?第6腳: E端為使能端,當E端由高電平跳變成低電尋常,液晶模塊執(zhí)行命令?7~14腳:15腳:16腳:
D0~D78位雙向數(shù)據(jù)線?背光源正極?背光源負極?1602LCD 的指令說明準時序序號指令引腳狀態(tài)字160211序號指令引腳狀態(tài)字RSR/WD7D6D5D4D3D2D1D01去除顯示00000000012光標返回000000001*3設置輸入模式00000001I/DS4顯示開/關掌握0000001DCB5光標或字符移位000001S/CR/L**6設置功能00001DLNF**7 設置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8 設置數(shù)據(jù)存貯器地址地址001顯示數(shù)據(jù)存貯器地址9 讀忙標志或地址01BF計數(shù)器地址10寫CGRAMDDRAM)10要寫的數(shù)據(jù)內容11CGRAMDDRAM讀數(shù)據(jù)11讀出的數(shù)據(jù)內容2:掌握命令表1602液晶模塊的讀寫操作?屏幕和光標的操作都是通過指令編程來實現(xiàn)的?(說明:1為高電平?0為低電平)1:2:3:I/D:S:4:D:C:B:5:
01H00H位置?00H?光標和顯示模式設置光標移動方向,高電平右移,低電平左移屏幕上全部文字是否左移或者右移?高電平表示有效,低電平則無效?顯示開關掌握?掌握整體顯示的開與關,高電平表示開顯示,低電平表示關顯示掌握光標的開與關,高電平表示有光標,低電平表示無光標掌握光標是否閃耀,高電平閃耀,低電平不閃耀?光標或顯示移位該指令設置光標和畫面的特性?S/C: 滾動對像的選擇,高電尋常移動顯示的文字,低電尋常移動光標?S/C=1畫面滾動S/C=0光標滾動R/L:滾動方向的選擇R/L=1向右滾動R/L=0向左滾動6:DL:N:F:7:8:9:BF:
功能設置命令48位總線低電尋常為單行顯示,高電尋常雙行顯示5x75x11的點陣字符?RAM地址設置?DDRAM地址設置?讀忙信號和光標地址忙標志位,高電平表示忙,此時模塊不接收命令或者數(shù)據(jù),如為低,表示不忙?10:寫數(shù)據(jù)?11:讀數(shù)據(jù)?狀態(tài)字:1602LCD/7AC表:BitBit功能D7BFD6D5D4D3AC6~0D2D1D0BF/MCULCD0?AC6~07AC?工作方式設置指令:BitBitD7D6D5D4D3D2D1D0功能功能000DL NF00DL:設置掌握器與MCU1;DL=1:數(shù)據(jù)總線寬度為8位,即DB7~DB0DL=0:數(shù)據(jù)總線寬度為4位,即DB7~DB4N:設置顯示字符的行數(shù),1602LCD1;N=0:N=1:
為一行字符;為兩行字符;F:0;F=0:F=1:
5X75X11顯示狀態(tài)設置指令:BitD7D6D5D4D3D2D1D0功能00001DCB該指令掌握著畫面?光標和閃耀的開與關?D:畫面顯示狀態(tài)位;D=1D=0為顯示關;該指令僅影響顯示屏的開關,并不影響顯存中的數(shù)據(jù)?C:光標顯示狀態(tài)位;C=1C=0?B:閃耀顯示狀態(tài)位;B=1B=0時閃耀關閉;閃耀只對于當前地址指針指和的字符位有效?光標或畫面滾動設置指令:BitD7D6D5D4D3D2D1D0功能0001S/CR/L00該指令設置光標和畫面的特性?S/C:滾動對像的選擇S/C=1畫面滾動S/C=0光標滾動R/L:滾動方向的選擇R/L=1向右滾動R/L=0向左滾動輸入方式設置指令:BitD7D6D5D4D3D2D1D0功能000001I/DS該指令的功能在于設置顯示字符的輸入方式,即在操作數(shù)據(jù)寫入/讀出后,AC數(shù)據(jù)地址指針的修改方式?I/D: I/D=0 AC為自動減1的計數(shù)器,操作數(shù)據(jù)后AC自動減一;I/D=1 AC為自動加1計數(shù)器,操作數(shù)據(jù)后AC自動加1;S:設置寫入字符數(shù)據(jù)時是否允許畫面滾動/光標移動(ACS=0S=1清屏指令:BitD7D6D5D4D3D2D1D0功能00000001該指令將空格碼(0x20)寫入顯存中;到達清屏顯示的功能?歸位指令:BitD7D6D5D4D3D2D1D0功能00000010該指令完成AC?CGRAMBitD7D6D5D4D3D2D1D0功能01A5A4A3A2A1A06CGRAM地址寫入地址指針計數(shù)器AC內,隨后的對數(shù)據(jù)的操作是對CGRAM/讀操作?注:CGRAMLCD(DDRAM)?DDRAMBitD7D6D5D4D3D2D1D0功能1A6A5A4A3A2A1A07DDRAMACDDRAM(顯存)的讀/寫操作HD44780相兼容的芯片時序表如下:讀狀態(tài)輸入 RS=L,R/W=H,E=H輸出D0~D7=狀態(tài)字寫指令輸入 指令碼,E=高脈沖輸出無讀數(shù)據(jù)輸入 RS=H,R/W=H,E=H輸出D0~D7=數(shù)據(jù)寫數(shù)據(jù)輸入 數(shù)據(jù),E=高脈沖輸出無3:根本操作時序表34所示:3讀操作時序4寫操作時序1602LCDRAM地址映射及標準字庫表液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前肯定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效?要顯示字符時要先輸入顯示字符地址,也就是告知模塊在哪里顯示字符,圖51602的內部顯示地址?51602LCD內部顯示地址例如其次行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標定位在其次行第一個字符的位置呢這樣不行,由于寫入顯示地址時要求最高位D7恒定為高電平1所以實際寫入的數(shù)據(jù)應當是01000000B(40H)+B(80H)=B(C0H)?在對液晶模塊的初始化中要先設置其顯示模式,在液晶模塊顯示字符時間標是自動右移的,無需人工干預?每次輸入指令前都要推斷液晶模塊是否處于忙的狀態(tài)?1602液晶模塊內部的字符發(fā)生存儲器(CGROM1606所示,這些字符有:阿拉伯數(shù)字?英文字母的大小寫?常用的符號?和日文假名等,每一個字符都有一個固定的代碼,比方大寫的英文字母“A01000001B(41H41H中的點陣字符圖形顯示出來,我們就能看到字母“A”.6字符代碼與圖形對應圖1602LCD 的一般初始化(復位)過程15ms38H(不檢測忙信號)5ms38H(不檢測忙信號)5ms38H(不檢測忙信號)以后每次寫指令讀/寫數(shù)據(jù)操作均需要檢測忙信號38H:顯示模式設置08H:顯示關閉01H:顯示清屏寫指令38H〔不檢測忙信號BF〕延時5寫指令38H〔不檢測忙信號BF〕延時5ms寫指令38H〔不檢測忙信號BF〕延時5ms寫指令38H〔不檢測忙信號BF〕延時5ms寫指令38H〔不檢測忙信號BF〕寫指令38H:顯示模式設置寫指令08H:顯示關閉寫指令01H:顯示清屏寫指令06H:顯示光標移動設置寫指令0CH:顯示開及光標設置160LCD 的軟硬件設計實例在1602LCD第一行顯示網站名:在其次行顯示聯(lián)系:8?LCD工作狀態(tài)?硬件原理圖
71602LCD試驗演示圖1602AT89C518所示程序流程圖
8硬件原理圖開頭開頭延時設置第1行顯示位置顯示第1行內容設置第2行顯示位置顯示第2行內容軟件代碼
9軟件流程圖/***************************************************************************//*杭州電子&計算機工作室*//*演示程序*//*目標器件:AT89S51*//*晶振:*//*編譯環(huán)境:Keil7.50A*//***************************************************************************//*********************************包含頭文件********************************/#include<>#include<>/*********************************端口定義**********************************/sbitrs=P1^0;sbitrw=P1^1;sbitep=P1^2;/********************************顯示數(shù)據(jù)表*********************************/unsignedcharcodedis1[]={““};unsignedcharcodedis2[]={“099“};/*****************************************************************************函數(shù)功能:LCD延時子程序入口參數(shù):ms出口參數(shù):*****************************************************************************/voiddelay(unsignedcharms){unsignedchari;while(ms--){for(i=0;i<250;i++){_nop_;_nop_;_nop_;_nop_;}}}/*****************************************************************************函數(shù)功能:測試LCD勞碌狀態(tài)入口參數(shù):出口參數(shù):result*****************************************************************************/{bitresult;rs=0;rw=1;ep=1;_nop_;_nop_;_nop_;_nop_;result=(bit)(P0&0x80);ep=0;returnresult;}/*****************************************************************************函數(shù)功能:寫指令數(shù)據(jù)到LCD子程序入口參數(shù):cmd出口參數(shù):*****************************************************************************/charcmd){while(lcd_bz); //推斷LCDrs=0;rw=0;ep=0;_nop_;_nop_;P0=cmd;_nop_;_nop_;_nop_;_nop_;ep=1;_nop_;_nop_;_nop_;_nop_;ep=0;}/*****************************************************************************函數(shù)功能:設定顯示位置子程序入口參數(shù):pos出口參數(shù):*****************************************************************************/charpos){lcd_wcmd(pos|0x80);}/*****************************************************************************函數(shù)功能:寫入顯示數(shù)據(jù)到LCD子程序入口參數(shù):dat出口參數(shù):*****************************************************************************/chardat){rs=1;rw=0;ep=0;P0=dat;_nop_;_nop_;_nop_;_nop_;ep=1;_nop_;_nop_;
//推斷LCD_nop_;_nop_;ep=0;}/*****************************************************************************函數(shù)功能:LCD初始化子程序入口參數(shù):出口參數(shù):*****************************************************************************/{delay(1);delay(1);delay(1);delay(1);}/*****************************************************************************函數(shù)功能:主程序入口參數(shù):出口參數(shù):*****************************************************************************/{unsignedchari;lcd_init;//初始化LCDdelay(10);lcd_pos(0x01);i=0;//設置顯示位置while(dis1[i]!=”\0”){lcd_wdat(dis1[i]);i++;//顯示字符}lcd_pos(0x40);//設置顯示位置i=0;while(dis2[i]!=”\0”){lcd_wdat(dis2[i]);//顯示字符i++;}while(1){;};}/***************************************************************************標題:LCD1602效果:本程序在液晶LCD1602上顯示兩行字符工作于:51開發(fā)板作者:孟慶全網站:****************************************************************************/#include““/********IO引腳定義***********************************************************//********宏定義**************************************************************/
//定義引腳#defineBusy 0x80/********數(shù)據(jù)定義*************************************************************/unsignedcharcodenet[]={““};/********函數(shù)聲明*************************************************************/
//LCD狀態(tài)字
//寫數(shù)據(jù)//寫命令//讀數(shù)據(jù)//讀狀態(tài)//初始化
//相應坐標顯示字節(jié)內
//相應坐標開頭顯示一
//延時//延時/***********主函數(shù)開頭********************************************************/{LCDInit;Delay5ms;DisplayListCha00uctec);DisplayListCha15ne);ReadDataLCD;while(1);
//LCD講//初始化//延時片刻(可不要)//測試用句無意義}/***********寫數(shù)據(jù)***********************************************************/{ReadStatusLCD;LCD_RS=1;LCD_RW=0;
//檢測忙LCD_E=0;
//假設晶振速度太高可以LCD_E=0;LCD_E=1;
//延時}/***********寫指令**********************************************************/{
//Buys為0LCD_RS=0;
//依據(jù)需要檢測忙LCD_RW=0;LCD_E=0;LCD_E=0;LCD_E=1;}/***********讀數(shù)據(jù)*************************************************************/{LCD_RS=1;LCD_RW=1;LCD_E=0;LCD_E=0;LCD_E=1;return(LCD_Data);}/***********讀狀態(tài)*********************************************************
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育法規(guī)強化訓練試卷B卷附答案
- 2024年通風消聲器項目資金籌措計劃書代可行性研究報告
- 成考英語成人高考(高起專)試卷及解答參考
- 2024年解除勞動關系協(xié)議模板
- 2024年灑水車租賃協(xié)議模板
- 城市中心2024停車場地租賃協(xié)議
- 2024年工程承包協(xié)議格式
- 2024年度新鮮豬肉購銷協(xié)議模板
- 2024專業(yè)修路工程協(xié)作協(xié)議
- 2024小食品買賣協(xié)議書
- 給甲方工程聯(lián)系函范文(十八篇)
- 爭做科學小能手主題班會
- DL-T 5148-2021水工建筑物水泥灌漿施工技術條件-PDF解密
- 陜煤集團筆試題庫及答案
- 高中數(shù)學《函數(shù)的概念及其表示》大單元專題教學設計
- 精神病服藥自我管理
- 數(shù)據(jù)安全與合規(guī)性審查報告
- 2023年國網西藏電力有限公司高校畢業(yè)生招聘考試真題及答案
- 人防通風施工方案及人防通風安裝施工方案
- 杭錦旗南平房區(qū)規(guī)劃方案
- 2023年高考俄語試題
評論
0/150
提交評論