按键和显示

上传人:oq****t 文档编号:26657111 上传时间:2017-12-29 格式:PPT 页数:65 大小:4.65MB
返回 下载 相关 举报
按键和显示_第1页
第1页 / 共65页
按键和显示_第2页
第2页 / 共65页
按键和显示_第3页
第3页 / 共65页
按键和显示_第4页
第4页 / 共65页
按键和显示_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《按键和显示》由会员分享,可在线阅读,更多相关《按键和显示(65页珍藏版)》请在金锄头文库上搜索。

1、第七章 单片机的接口技术,PC机除了主机以外还需要哪些部分呢?,单片机电路有时候也需要键盘、显示等外设。,本章主要内容,键盘显示器A/D转换D/A转换,7.1 键盘与计算机接口,非编码键盘:按键的动作靠软件识别编码键盘:由硬件电路产生按键的键值或编号,并由硬件识别闭合键,按下:P1.0输入低电平0松开:P1.0输入高电平1,键功能的实现: 对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加器ACC,然后判断是数字键还是功能键,若是数字键,则将键号对应的数字送入相关输入缓冲区;若是功能键,则通过跳转指令转入执行该键的功能程

2、序,执行完后再返回主程序。,抖动、去抖,在按键按下与断开的过程中,按键产生机械抖动。抖动现象将使 CPU产生误判断。,在键数较少时, 可采用硬件去抖, 而当键数较多时, 采用软件去抖,双稳态去抖电路,波,7.1.1 独立式非编码键盘接口,MOV A,#0FFHMOV P1,AMOV A,P1JNB ACC.0,KEY0JNB ACC.1,KEY1,假设为P1口,电路简单;但键数较多时,需占用较多的I/O线,准双向口:输入时须先写1,用于较多按键,节省I/O线。采用逐行(逐列)扫描法识别按键,编程较复杂。,7.1.2 行列式非编码键盘接口,关键是如何识别键号,1、键盘工作原理,行线:通过电阻接+

3、5V。没有键闭合时,行线呈高电平;某键闭合时,该键对应的行线和列线被短路。此时行线电平由列线电位所决定。,按键识别扫描法,例:键盘扫描程序,SERCH: MOV R2,#0EFH MOV R3,#00H LINE0: MOV A,R2 MOV P1,A MOV A,P1 JB ACC.3,LINE1 MOV A,#00H AJMP TRYKLINE1: JB ACC.2,LINE2 MOV A,#04H AJMP TRYK LINE2: JB ACC.1,LINE3 MOV A,#08H,AJMP TRYKLINE3: JB ACC.0,LINE4 MOV A,#0CH AJMP TRYKLI

4、NE4: INC R3 MOV A,R2 RL A JNB ACC.0,BACK MOV R2,A AJMP LINE0 TRYK: ADD A,R3BACK: RET,7.1.3单片机对非编码键盘的控制,程序扫描方式CPU不断调用键盘处理程序,对键盘进行扫描定时扫描方式利用定时器的溢出中断请求,每隔一定的时间对键盘扫描一次中断扫描方式提高CPU的效率,当键盘上有键闭合时产生中断请求,7.2 LED显示器及接口设计,1、由发光二极管组成,分共阳、共阴两种。,Low Emitting Diode,问题引入:,LED显示器如何显示出指定数字/字符?,2. LED显示字符方法:COM接低电平;各输入

5、端输入一个显示代码,如5BH01011011,对应c,f灭,而a,b,d,e,g点亮,则LED显示字符“2”显示各种字符的代码见下表。对于共阳极LED,将显示代码取反。若显示小数点,可利用D7位。,限流电阻,字型表,静态显示方式,连接 所有LED的位选均共同连接到+VCC或GND,每个LED的8根段选线分别连接一个8位并行I/O口,从该I/O口送出相应的字型码显示字型。 特点 原理简单;显示亮度强,无闪烁;占用I/O资源较多。 常用于位数较少的场合。,静态显示方式,动态显示方式,动态显示方式,将各个显示器的输入(段选)线并联,由一个I/O口提供字形代码;由另一个I/O口提供位选代码。采用软件扫

6、描显示方法,某个时刻只点亮1个显示器,点亮时间不超过20ms,分时逐个点亮LED。,与静态显示相比,特点:节省硬件电路及I/O资源;占用CPU时间多;亮度相对较低;适用于LED位数较多的场合。,利用视觉暂留特性,怎样实现显示呢?,延时时间若为1s或10ms,看到的现象分别是什么?,问题1:当数码管显示数字时,怎样使用查表程序,1. 查表方法,2. 表格建立,问题2:从缓冲区取数据的查表方法,MOV R1,#40H,MOV A,R1 MOVC A,A+DPTRMOV P2, A,根据缓冲区内容查表,设显示缓冲区首地址,如何取显示的下一位?,INC R1,根据缓冲区的数据显示,例:6位共阴LED。

7、利用8155的PA口(假设地址7F01H)作为位选,75452反相驱动;PB口(7F02H)作为段选,7407同相驱动。在片内RAM中设一显示缓冲区79H7EH,依次存放要显示的6个字符(高4位清0,即0009H,0A0FH)。反复调用显示子程序。,键盘和显示器综合应用停车场计数器,硬件设计软件设计,硬件电路设计,显示部分计数部分,实际电路多数采用传感器,这里用按键模拟代替,停车场计数器程序设计,编写程序的基本思路主程序完成单片机的初始设定、初始显示等两个按键可采用查询或者中断方式,本例子采用中断方式,各段功能程序地址确定,MAIN主程序流程,进车中断子程序模拟“进车”按键按下后,出车中断子程

8、序,DEC,总结,通过静态显示和独立式按键完成了一个应用系统的设计。实际系统通常需传感器。,思考,LCD液晶显示器,Liquid Crystal Display,微功耗、体积小、显示内容丰富、超薄轻巧。,这里介绍的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,这里以常用的2行16个字的1602液晶模块来介绍它的编程方法。,任务:如何在LCD的指定位置显示出 指定的字符以及字符串。,2行16列,Hello world,主要内容,TC1602A LCD模块引脚及结构单片机与字符型LCD模块接口LCD接口程序设计,1,

9、2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,VSS,VDD,VO,RS,R/W,E,DB0,DB1,A,DB3,DB2,DB5,DB4,DB7,DB6,K,LCD模块,Vss: +5V电源管脚(Vcc)VDD: 地管脚(GND)Vo: 液晶显示驱动电源(0V5V),V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。,一、TC1602A LCD模块引脚及结构,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,VSS,VDD,VO,RS,R/W,

10、E,DB0,DB1,A,DB3,DB2,DB5,DB4,DB7,DB6,K,LCD模块,DB0DB7:数据线,可以用8位连接,也可以只用高4位连接,节约单片机资源,本实验中采用的是八位连接方法。,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,VSS,VDD,VO,RS,R/W,E,DB0,DB1,A,DB3,DB2,DB5,DB4,DB7,DB6,K,LCD模块,A:背光控制正电源K:背光控制地,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,VSS,VDD,VO,RS,R/W,E,DB0,DB1,A,DB3,DB2,DB5,DB4

11、,DB7,DB6,K,LCD模块,单片机与LCD模块之间有四种基本操作: 写命令 读状态 写显示数据 读显示数据,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,VSS,VDD,VO,RS,R/W,E,DB0,DB1,A,DB3,DB2,DB5,DB4,DB7,DB6,K,LCD模块,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,VSS,VDD,VO,RS,R/W,E,DB0,DB1,A,DB3,DB2,DB5,DB4,DB7,DB6,K,LCD模块,RS:数据和指令选择控制端,RS=0:命令/状态;RS=1:数据R/W:读写控制线

12、,R/W=0:写操作;R/W=1:读操作E:数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机之间将进行一次数据交换,二、单片机与字符型LCD模块接口,数据线:DB7DB0接单片机的P1.7 P1.0,控制端: RS P3.0 R/W P3.1 E P3.2,return,单片机与LCD模块硬件连接,连线表:,三、LCD接口程序设计,程序设计功能设置 写命令子程序 LCD初始化:按一定顺序写命令字 如:写清屏命令字、写DDRAM光标定位地址命令字显示数据 写数据子程序读入状态字读状态子程序,1. 写命令,读写操作、屏幕和光标的操作都是通过指令编程来实现,清除屏幕-01H ,光

13、标复位到地址00H位置,光标复位。光标返回到地址00H,return,光标和显示模式设置。I/D:光标移动方向,1:右移,0:左移; S:屏幕上所有文字是否左移或者右移。S=1:移位S=0:不移位,设整体显示开关(D),光标显示开关(C),光标位的字符闪耀(B)D=1;C=0;B=0000011000cH,S/C:高电平时移动显示的文字,低电平时移动光标,设接口数据位数(DL),显示行数(N),及字型(F)DL=1,8位 =0: 4位N=1:2行 =0:1行F=1:510 =0: 570011100038H,字符发生器RAM地址设置,设置DDRAM地址,为显示定位,读忙信号和光标地址 BF:为

14、忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。,定位光标位置,把显示数据显示在某个位置,就是把显示数据写在相应的DDRAM地址中,DDRAM地址占7位。Set DDRAM address命令如下:,NOTICE光标定位,写入一个显示字符后,DDRAM地址会自动加1或减1,加或减由输入方式字设置; 第1行DDRAM地址与第2行DDRAM地址并不连续。,80H,81H,82H,83H,84H,8dH,8eH,8fH,0c0H,0c1H,0c2H,0c3H,0c4H,0cdH,0ceH,0cfH,2. 写数据,3. 读状态,液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号