显示及接口技术-LCD字符显示器设计_第1页
显示及接口技术-LCD字符显示器设计_第2页
显示及接口技术-LCD字符显示器设计_第3页
显示及接口技术-LCD字符显示器设计_第4页
显示及接口技术-LCD字符显示器设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务三LCD字符显示器设计二、任务实施(一)硬件原理设计LCD1602的双向数据引出端直接和8051的P0口相连接,进行数据的传递。其寄存器选择端RS、读写信号线R/W、使能端E分别接8051的P2.0、P2.1和P2.2。LCD1602的液晶显示偏压信号VL通过电位器RW对+5V电源进行分压而获得。具体硬件电路原理图如图4-22所示。图4-22单片机驱动LCD1602显示器硬件电路图任务三LCD字符显示器设计(二)软件设计根据硬件连接,完成程序首部:#include<reg51h>/*define8051registers*/#include<stdioh>/*defineI/Ofunctions*/#include<intrinsh>sbitRSPIN=P2^0;//RS对应单片机引脚sbitRWPIN=P2^1;//RW对应单片机引脚sbitEPIN=P2^2;//E对应单片机引脚对LCD1602的编程分两步完成:1.初始化,包括设置液晶控制模块的工作方式,如显示模式控制、光标位置控制等。2.显示控制,包括对LCD1602写入待显示的地址、对LCD1602写入待显示字符数据。任务三LCD字符显示器设计//************************************************************//子程序名称:voidlcdwc(unsignedcharc)

//功能:送控制字到液晶显示控制器

//入口参数:控制指令/显示地址//************************************************************

voidlcdwc(unsignedcharc)//送控制字到液晶显示控制器子程序

{lcdwaitidle();//液晶显示控制器忙检测RSPIN=0;//RS=0RW=0E=高电平RWPIN=0;P0=c;EPIN=1;_nop_();EPIN=0;}任务三LCD字符显示器设计//************************************************************//子程序名称:voidlcdwd(unsignedchard)//功能:送数据到液晶显示控制器//入口参数:待显示字符(ASCII码)//************************************************************voidlcdwd(unsignedchard)//送控制字到液晶显示控制器子程序{lcdwaitidle();//HD44780液晶显示控制器忙检测RSPIN=1;//RS=1RW=0E=高电平RWPIN=0;P0=d;EPIN=1;_nop_();EPIN=0;}任务三LCD字符显示器设计/************************************************************

//子程序名称:voidlcdwaitidle(void)

//功能:忙检测//************************************************************

voidlcdwaitidle(void)//忙检测子程序

{unsignedchari;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;}任务三LCD字符显示器设计/************************************************************子程序名称:voidlcdreset(void)功能:液晶显示控制器初始化/************************************************************/voidlcdreset(void)//SMC1602系列液晶显示控制器初始化子程序{//1602的显示模式字为0x38lcdwc(0x38);//显示模式设置(写指令0x38)第一次delay3ms();//延时3MSlcdwc(0x38);//显示模式设置第二次delay3ms();//延时3MSlcdwc(0x38);//显示模式设置第三次delay3ms();//延时3MSlcdwc(0x38);//显示模式设置第四次delay3ms();//延时3MSlcdwc(0x08);//显示关闭lcdwc(0x01);//清屏delay3ms();//延时3MSlcdwc(0x06);//显示光标移动设置lcdwc(0x0c);//显示开无光标设置}任务三LCD字符显示器设计测试在LCD1602上显示一个字符“H”的功能:/************************************************************主程序:显示一个字符H************************************************************/voidmain(void){unsignedchari;lcdreset();//初始化while(1){lcdwc(0x00|0x80);//显示位置为:第一行第一位lcdwd(H);}}任务三LCD字符显示器设计第一行显示“HELLO!”第二行显示“WelcomeToZHCPT”,均居中显示。利用C语言中的字符串数组功能完成,因此,首先定义两个字符串数组:unsignedcharstr1[]="HELLO!";unsignedcharstr2[]="WelcomeToZHCPT";由于在初始化程序中写入了控制字0x06(光标自动右移,地址计数器自动+1方式),因此,在每行显示字符串时,只需对LCD1602写入显示的初始位置,后续循环写入待显示字符即可。主程序设计如下:/************************************************************主程序:显示字符串************************************************************/voidmain(void){unsignedchari;lcdreset();//初始化while(1){lcdwc(0x05|0x80);//设置第一行显示的初始位置for(i=0;i<6;i++)//显示字符串1{lcdwd(str1[i]);}lcdwc(0x40|0x80);//设置第二行显示的初始位置for(i=0;i<16;i++)//显示字符串2{lcdwd(str2[i]);}}}任务三LCD字符显示器设计仿真运行结果任务三LCD字符显示器设计一、LCD显示及接口液晶显示器简称LCD(LiquidCrystalDiodes),是一种利用液晶在电场作用下,其光学性质发生变化以显示图形的显示器。它具有质量高、体积小、重量轻、功耗小等优点。(一)LCD的结构和工作原理LCD显示器由于类型、用途不同,其性能、结构不可能完全相同,但其基本形态和结构却是一致的。所有液晶显示器件都可以认为是由两片透明导电的电极基板,夹持一个液晶层,封接成一个偏平盒构成的。它的显示原理是:在没有外加电场时,液晶分子按一定方向整齐排列,这时射入的光线大部分由反射电极反射回来,显示器呈白色。在电极上加电压后,液晶因电离而产生正离子,这些正离子在电场的作用下运动并碰撞液晶分子,打乱了液晶分子的排列规则,射入的光线大部分被散射,使液晶呈现混浊状态,显示器呈暗灰色。对于更加复杂的彩色显示器而言,还要具备专门处理彩色显示的色彩过滤层。任务三LCD字符显示器设计(二)笔段型LCD笔段型(也叫字段型)LCD,是以长条状显示像素组成的字符显示。这种段型显示结构通常有六段、七段、八段、九段、十四段和十六段等,在形状上总是围绕数字“8”的结构而变化。(三)字符型LCD字符型LCD是专门用来显示数字、字母和符号的液晶显示器,它是由若干个5×7或5×10点阵块组成的字符块集,每个点阵块显示一个字符。这类显示器一般都是将液晶器件、控制驱动器、线路板、背光源等装配在一起的显示模块,简称LCM(LCDModule),与单片机连接十分方便。1.LCD1602液晶显示器结构LCD1602是16字×2行的字符型液晶显示器,内部采用一片型号为HD44780的集成电路作为控制器,它具有驱动和控制两个主要功能。LCD1602采用标准的16脚接口,LCD1602各引脚功能介绍如下。第1脚:VSS为电源地。第2脚:VDD接5V正电源。第3脚:VL液晶显示偏压信号,用于驱动LCD上的像素点改变颜色所用的电压,此电压可能接近GND也可能接近VCC,视芯片不同而有所不同。第4脚:RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:空脚(1602a是背光源正极BLA)。第16脚:空脚(1602a是背光源负极BLK)。LCD1602液晶显示器内部有一个字符发生存储器CGROM(CharacterGeneratorROM),它已经存储了192个不同的点阵字符图形。另外还有几个允许用户自定义的字符产生存储器,称为CGRAM(CharacterGeneratorRAM)。任务三LCD字符显示器设计2.LCD1602指令系统LCD1602的指令实质上就是其控制芯片HD44780的指令,其内部控制器有以下4种工作状态。(1)当RS=0、R/W=1、E=1时,从控制器中读出当前的工作状态。(2)当RS=0、R/W=0、E为下降沿时,向控制器写入控制命令。(3)当RS=1、R/W=1、E=1时,从控制器读取数据。(4)当RS=1、R/W=0、E为下降沿时,向控制器写入数据。LCD1602液晶模块内部的控制器HD44780共有11条控制指令,如下。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。序号指令 RSR/WD7D6D5D4D3D2D1D01清显示 0000000001

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论