单片机液晶显示器实验

  • 格式:pdf
  • 大小:325.74 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9、 具体编程 #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit lcden=P3^4; sbit lcdrs=P3^5; sbit dula=P2^6; sbit wela=P2^7; uchar code table[]="WWW.HFMCU.CN"; uint num; void delay(uint z) //延时子函数 { uint x,y; for(x=z;x>0;x--)
5、字符地址
每一个地址对应一个字符,在那个地址写数据,就会在那个地址显示数据,只能显示英文字 符或数字或是英文符号。 00---0F 为可见区域,10—27 为不可见区域 40---4F 为可见区域,50---67 为不可见区域 6、指令说明
http://www.hfmcu.cn 红峰电子学习室
MSC-51 单片机 C 语言简单入门教程
http://www.hfmcu.cn 红峰电子学习室
MSC-51 单片机 C 语言简单入门教程
技术支持群:11313486
for(y=110;y>0;y--); } void write_com(uchar com) //写命令函数上面已介绍 { lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; }
MSC-51 单片机 C 语言简单入门教程
技术支持群:11313486
MCS-51 与液晶显示器的接口
LCD 是液晶显示器的缩写,液晶显示器是一种被动式的显示器,即液晶本身并不发光, 而是利用液晶经过处理后能改变光线通过方向的特点, 而达到白底黑字或黑底白字显示的目 的。液晶显示器具有功耗低,抗干扰能力强等优点,因此被广泛地应用在仪器仪表和控制系 统中。笔记本电脑,手机和计算器上所采用的都是液晶显示屏幕。 1、LCD 显示器的分类 1) 笔段型是以长条状显示像素组成一位显示。 该类型主要用于数字显示, 也可用于字母显 示西文字母或某些字符。这种段型显示通常有六段,七段,八段,九段,十四段和十六 段等,在形状上总是围绕数字“8”的结构变化,其中以七段显示最为常用,广泛用于 电子表、数字仪、计算器等中。 2) 点阵字符型显示模块专门用来显示字母、数字、符号等的点阵型液晶显示模块。它是由 若干个 5X7 或 5X10 点阵组成, 每一个点阵显示一个字符。 这类模块广泛应用在各类单 片机应用系统中。 3) 点阵图形型液晶是在一平板上排列多行或多列, 形成矩阵形式的晶格点, 点的大小可根 据显示的清晰度来设计。 这类液晶显示器可广泛用于图形显示如游戏机, 笔记本电脑和 彩色电视等设备中。 2、点阵式液晶显示模块介绍 要使用点阵型 LCD 显示器,必须有相应的 LCD 控制器、驱动器来对 LCD 显示器进行 扫描驱动, 以及一定空间的ROM和RAM来存储写入的命令和显示字符的点阵。 现在人们 已将 LCD 控制器、驱动器、RAM、ROM和LCD显示器用PCB连接到一起,称为液 晶显示模块 LCM。使用者只要向LCM送入相应的命令和数据就可实现所需要的显示,这 种模块与单片机接口简单, 产品分为字符型和图形型两种。 下面仅介绍广泛应用在单片机系 统中的国内制作的字符显示模块 1602 液晶的基本结构、指令功能和特点。 3、1602 液晶基本结构 在液晶板上排列着若干5X7或5X10点阵的字符显示位,每个显示位可显示1个字符, 1602 共显示 16X2 个字符。
http://www.hfmcu.cn 红峰电子学习室
MSC-51 单片机 C 语言简单入门教程
技术支持群:11313486
4、引脚结构图
主要引脚说明: 写指令: RS=L;RW=L;D0—D7 指令码;E=高脉冲 写数据: RS=H;RW=L;D0—D7 数据码;E=高脉冲 RS 决定写数据还是写命令,E 高脉冲使能。
while(1);
}
http://www.hfmcu.cn 红峰电子学习室
void write_data (uchar dat) //写数据子函数 { lcdrs=1; P0=dat; delay(5); lcden=1; delay(5); lcden=0; } void init() //初始化函数 {dula=0; wela=0; lcden=0; write_com(0x38); write_com(0x01); write_com(0x0f); write_com(0x06); write_com(0x80);//设置地址指针为 80 } void main()
http://www.hfmcu.cn 红峰电子学习室
MSC-51 单片机 C 语言简单入门教程
技术支持群:11313486
{ init(); //write_data('1');//'1' 为字符,也可以写十六进制 //write_data(0x31);//写十六进制,0x31 为 1 的 ASCII for(num=0;num<12;num++) { } write_data(table[num]); //查表
8、 操作时序图
http://www.hfmcu.cn 红峰电子学习室
RS=0 写命令 RS=1 写数据 MSC-51 单片机 C 语言简单入门教程
技术支持群:11313486
由高延时变 低取走数据。
时序时间间隙表
void write_data (uchar dat) 写数据子函数 { lcdrs=1; //写数据 P0=dat; //把数据送给 P0 delay(5);//延时 lcden=1;//变高 delay(5);//延时 lcden=0;//拉低取走数据 } void write_com(uchar com) 写命令子函数 { lcdrs=0; //写命令 P0=com; //把数据送给 P0
http://www.hfmcu.cn 红峰电子学习室
MSC-51 单片机 C 语言简单入门教程
技术支持群:11313486
delay(5); //延时 lcden=1; //变高 delay(5);//延时 lcden=0; //拉低取走数据
}
void init() //初始化子函数 { dula=0; //关闭数码管 wela=0; //关闭数码管 lcden=0; //让 en 变低电平 write_com(0x38); //初始化液晶显示模式 write_com(0x0f); //开显示,显示光标,光标闪烁 write_com(0x06);//地址加一 }
技术支来自百度文库群:11313486
1)初始化设置
1602 液晶初始化指令码为 0011,1000 十六进制为 0x38 2)显示开关及光标控制指令
例如:开显示,显示光标,光标闪烁(D=1,C=1;B=1)指令码为 00001111 十六进制 0X0F; 3)数字数据控制指令
采用加减的方式控制地址指针, 如果要在那个字符地址显示就加那个。 如要在第八个字符地 址显示那么地址指针就为:80H+07H(从 00 开始) 。如果要显示在那里,就要先写地址指令 码,在写数据码。 4)其他指令
http://www.hfmcu.cn 红峰电子学习室
MSC-51 单片机 C 语言简单入门教程
技术支持群:11313486
7、本试验板原理图
第五引脚接地只写数据,不读数据。因为 R/W=1/0;等于 1 时读数据,为 0 时写数据。 1602 液晶 对 比 度 调 节,调到看到黑块为 止,调的时候,让流 水灯和数码管都不 要工作。 为 0 时,写数 据,电路中已 把它接地不 用考虑了