ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:74.96KB ,
资源ID:6543220      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6543220.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验八 矩阵键盘输入实验.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验八 矩阵键盘输入实验.docx

1、实验八 矩阵键盘输入实验实验八 矩阵键盘输入实验一、实验目的及内容1、通过液晶显示器接口电路的设计与编程,掌握液晶显示器的原理2、学会使用液晶显示器,并把它嵌入到电子信息产品中。二、实验仪器与设备1、单片机实训与开发系统主机模块1台、PC一台2、键盘扫描/LCD显示实验模块1台3、相关控制软件三、实验基本原理与内容 一、点阵式液晶屏显示模块介绍1、基本结构字符型液晶板上排列着若干个57或510点阵的字符显示位,每个显示位可显示一个字符,从规格上分为每行8,16,24,40,80位,有一行二行和四行三类。内存中192种字符包括英文大小写字母,数字和书写符号等。用户还可以自定义4个510或8个57

2、点阵的字符。PCB上有14个引线端,其中有8条数据线,三条控制线,三条电源线,见表5-20。可与8051相接,通过送入数据和指令可对显示方式和显示内容作出选择。见表13-1引线号符号名称功能123456714VSSVDDVLCDRSR/EDB0DB7地电源液晶驱动电压寄存器选择读/写使能8位数据线OV5V5%H数据寄存器L指令寄存器H读,L写下降沿触发数据传输2、指令功能格式:RS R/DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 其中RS和R/共同决定选择哪一个寄存器,如表5-21所示,而DB7DB0则决定指令功能,指令共11种,它们是:清除,返回,输入方式放置,显示开关控

3、制,移位控制,功能设置,CGRAM地址设置,DDRAM地址设置,读忙标志和地址,写数据倒CG/DDRAM,读数据由 CG/DDRAM 。RSR/操作00指令寄存器写入01忙标志和地址计数器读出10数据寄存器写入11数据寄存器读出3、特点重量轻:100g体积小:约100mm厚功耗低:1015mW显示内容丰富:内存192种字符(包括ASC码)。可自定义8或4种字符指令功能强:可组合成各种输入、显示、移位方式以满足不同要求接口方便简单:可与4或8位微处理器相连RAM功能:80位的屏幕存储工作温度:050和2070两种可靠性高:寿命是50000小时(25)4、工作时序 见图13-1。二、指令说明清屏命

4、令格式:RS R/DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 00000001清除屏幕显示,并置地址计数器AC为0。返回命令格式RS R/DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0000001x置DDRAM即显示RAM的地址为0。显示返回到原始位置。输出方式设置命令格式:RS R/DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0 0 1 I/D S设置光标的移动方向,并指定整体显示是否移动。其中I/D如为1,则是增量方式,如为0,则是减量方式;S如为1,则位移,如为0,则不位移。显示开关控制命令格式:

5、RS R/DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0 1 D C B其中:D控制的整体显示的开与关,D1,则开显示,D=0,则关显示。C控制光标的开与关,C=1,光标开,否则光标关。B控制光标处字符的闪烁,B=1,字符闪烁,B=0,字符不闪烁。光标移位命令格式:RS R/DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 1 S/C R/L 移动光标或整体显示,SSRAM中内容不变。其中:S/C为1时,显示位移,为0时光标移动。R/L为1时,向右移位,为0时向左移位。功能设置命令格式:RS R/DB7 DB6 DB5

6、DB4 DB3 DB2 DB1 DB00 0 0 0 1 DL N F 其中:DL设置接口数据位数,DL1为8位数据接口,DL0为4位数据接口。N设置显示行数,N=0,单行显示,N=1双行显示。F设置字形大小,F=1,为510点阵,F=O时为57点阵。CGRAM(字符生成RAM)地址位置命令格式:RS R/DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 1 A A A A A A 本命令设置CGRAM的地址,地址范围为063。DDRAM(显示数据RAM)地址设置命令格式:RS R/DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 1 A A A A

7、 A A A 本命令设置DDRAM的地址,地址范围为0127。读忙标志BF及地址计数器命令格式:RS R/DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 1BFAC 其中:BF为忙标志位,如为1,则表示忙,此时LCM不能接收命令和数据,如为0,则表示不忙。AC地址计数器的值,范围是0127。10、向CF/DDRAM写数据命令格式:RS R/DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 0 BFDATA 本命令将数据写入CGRAM或DDRAM中,应与CGRAM或DDRAM地址设置命令相接合。11、从CG/DDRAM中读数据命令格式:RS R/DB7 DB6

8、DB5 DB4 DB3 DB2 DB1 DB01 1 DATA 本指令从CGRAM或DDRAM中读出数据,应与CGRAM或DDRAM地址设置命令相接合。三、原理图实验内容液晶显示模块电路可直接与单片机的I/O口或扩展I/O口连接,也可挂在单片机的总线上。实验线路如图13-2 所示。对照液晶显示模块与单片机的硬件接口电路图,可编写LCD模块的驱动程序。4*4矩阵键盘如图所示。编写键盘扫描程序,当有键被按下时,在液晶屏上显示对应的键号。四、实验步骤(1)用40芯排线把主机模块和键盘扫描/LCD显示实验模块连接起来,接通电源,运行参考程序。(2)把40芯排线拔掉,用导线将主机和键盘扫描/LCD显示实

9、验模块连接起来,连接方式自己定义,编写一个程序运行。#include #include lcd.h#include key.hvoid main(void) LcdInit(); while(1) KeyDown(); /key.h#define GPIO_KEY P1u8 KeyValue; /用来存放读取到的键值u8 Disp=0123456789abcdef;/* 函 数 名 : delay* 函数功能 : 延时函数,i=1时,大约延时10us*/void delay(u16 i) while(i-); /* 函 数 名 : KeyDown* 函数功能 : 检测有按键按下并读取键值* 输

10、 入 : 无* 输 出 : 无 */ void KeyDown(void) char a=0; static int num=0; GPIO_KEY=0x0f; if(GPIO_KEY!=0x0f)/读取按键是否按下 delay(1000);/延时10ms进行消抖 if(GPIO_KEY!=0x0f)/再次检测键盘是否按下 /测试列 GPIO_KEY=0X0F; switch(GPIO_KEY) case(0X07): KeyValue=0; break; case(0X0b): KeyValue=1;break; case(0X0d): KeyValue=2;break; case(0X0e

11、): KeyValue=3;break; /测试行 GPIO_KEY=0XF0; switch(GPIO_KEY) case(0X70): KeyValue=KeyValue;break; case(0Xb0): KeyValue=KeyValue+4;break; case(0Xd0): KeyValue=KeyValue+8;break; case(0Xe0): KeyValue=KeyValue+12;break; while(a0; c-) for (b=199;b0;b-) for(a=1;a0;a-); void LcdWriteCom(uchar com) /写入命令 LCD16

12、02_E = 0; /使能 LCD1602_RS = 0; /选择发送命令 LCD1602_RW = 0; /选择写入 LCD1602_DATAPINS = com; /放入命令 Lcd1602_Delay1ms(1); /等待数据稳定 LCD1602_E = 1; /写入时序 Lcd1602_Delay1ms(5); /保持时间 LCD1602_E = 0;void LcdWriteData(uchar dat) /写入数据 LCD1602_E = 0; /使能清零 LCD1602_RS = 1; /选择输入数据 LCD1602_RW = 0; /选择写入 LCD1602_DATAPINS

13、= dat; /写入数据 Lcd1602_Delay1ms(1); LCD1602_E = 1; /写入时序 Lcd1602_Delay1ms(5); /保持时间 LCD1602_E = 0;void LcdInit() /LCD初始化子程序 LcdWriteCom(0x38); /开显示 LcdWriteCom(0x0c); /开显示不显示光标 LcdWriteCom(0x06); /写一个指针加1 LcdWriteCom(0x01); /清屏 LcdWriteCom(0x80); /设置数据指针起点五、实验思考1、连接图示器件线路2、在上显示各自学号,如:“My number is:20144024xxxx”,编写实验程序。3、设计定义44矩阵键盘以及按键所对应的字符,在第一行上显示“Hello word!”,并在第二行,依次显示矩阵键盘按下的键值0F。写出实验程序。编写出实验程序。六、思考提示关注程序中红色部分总共有个字符,一行显示个字符第一行起始的位置,第二行的起始位置

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1