《人机交互技术》ppt课件

上传人:tian****1990 文档编号:74760898 上传时间:2019-01-29 格式:PPT 页数:33 大小:626.50KB
返回 下载 相关 举报
《人机交互技术》ppt课件_第1页
第1页 / 共33页
《人机交互技术》ppt课件_第2页
第2页 / 共33页
《人机交互技术》ppt课件_第3页
第3页 / 共33页
《人机交互技术》ppt课件_第4页
第4页 / 共33页
《人机交互技术》ppt课件_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《《人机交互技术》ppt课件》由会员分享,可在线阅读,更多相关《《人机交互技术》ppt课件(33页珍藏版)》请在金锄头文库上搜索。

1、第4章 人机交互技术,4.1 键盘接口设计 4.2 LED显示器接口设计 4.3 LCD显示器接口设计 4.4 触摸屏技术 4.5 打印机接口设计,第4章 单片机的人机交互技术,人机交互是指操作人员与计算机之间进行的现场或远程信息交换与联系,用于人机交互的设备称为人机接口,这些设备主要有键盘、显示器和打印机等。一般的计算机控制系统必须要有人机交互功能,以便操作人员可以随时输入数据传递生产命令,并通过显示和打印功能及时掌握生产情况。对于简单的应用场合,由于单片机本身就是一个最小的应用系统,因此能直接满足实际应用所要求的功能,充分发挥单片机硬件结构紧凑、设计简单、成本低的优点。当设计一些较为复杂的

2、测控系统时,其自身的功能往往不能够满足应用的需要,此时可利用MCS-51系列单片机强大的外部扩展功能,扩展各种外围电路以补充片内资源的不足,适应特定应用的要求。,概 述,键盘是若干按键的集合,是向系统提供操作人员干预命令及数据的接口设备。键盘可分为编码键盘和非编码键盘两种。编码键盘能够由硬件逻辑自动提供与被按键对应的编码。此外,一般还具有去抖动和多键、窜键保护电路,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作都靠软件来完成,由于其经济实用,目前在单片机应用系统中多采用这种办法。,4.1 键盘接口设计,1、在设计键盘接口

3、时,解决以下几个问题: 检测是否有键按下; 去抖动 若有键按下,判定是哪一个键; 确定被按键的读数; 不管一次按键持续的时间有多长,仅采用一个数据; 处理同时按键。,2、独立式连接的非编码键盘,()查询方式,()中断方式,为了识别键盘上的闭合键,通常采用两种方法,一种为扫描法,另一种称为线反转法。 扫描法,原理:CPU每次使并行 输出端口的某位为零, 而其它位为1,然后CPU 只要读取输入端口中的 数据,就可判别。,3、矩阵式连接的非编码键盘,线反转法,5V,原理: 第一步设A口输出B 口输入 A口输出全0值,然后 从B口读入; 第二步设A口输入B 口输出 将B口刚读入的值输出,再从A口读入,

4、例4.1:用一位数码管显示4X4矩阵键盘按键号名称0-F。,#include #define uchar unsigned char #define uint unsigned int uchar code DSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00; /段码 uchar Pre_KeyNo=16,KeyNo=16; /上次和当前按键的序号,序号范围015,16表示无按键 /延时 void DelayMS(uint x) uchar i; while

5、(x-) for(i=0;i120;i+); ,/矩阵键盘扫描 void Keys_Scan() uchar Tmp; P1=0x0f; /高4位置0,放入4行 DelayMS(1); Tmp=P10x0f; switch(Tmp) /判断按键发生于03列的哪一列 case 1: KeyNo=0;break; case 2: KeyNo=1;break; case 4: KeyNo=2;break; case 8: KeyNo=3;break; default:KeyNo=16; /无键按下 P1=0xf0; /低4位置0,放入4列 DelayMS(1); Tmp=P140x0f; switc

6、h(Tmp) /对03行分别附加行首键值0,4,8,12 case 1: KeyNo+=0;break; case 2: KeyNo+=4;break; case 4: KeyNo+=8;break; case 8: KeyNo+=12; ,/主程序 void main() P0=0x00; while(1) P1=0xf0; if(P1!=0xf0) Keys_Scan(); /获取键序号 if(Pre_KeyNo!=KeyNo) P0=DSY_CODEKeyNo; Pre_KeyNo=KeyNo; DelayMS(100); ,1.LED显示技术,4.2 LED显示器接口设计,在单片机应用

7、系统中,为了便于观察和监视系统的运行情况,经常需要用显示器显示输入信息、中间信息、运行状态及运行结果等数据。目前常用的显示器件有LED (发光二极管显示器)和LCD(液晶显示器)两种。,LED显示器主要是指由发光二极管组成的数码管显示器或LED点阵显示模块。根据公共端的接法不同,LED数码管分为共阴极和共阳极二种类型,在使用时,由于LED显示器的工作电流通常为515mA,工作电压为1.52.5V,因此使用时需加驱动及限流电阻。根据显示方式不同,LED显示有静态显示和动态显示之分。,(1)静态显示方式: 每一位显示都占用单独的具有锁存功能的I/O接口,显示信号始终存在; com端连接在一起;,8

8、051,P1.5,P1.4,P1.3,P1.2,P1.1,P1.0,LE D C B A,g f e d c b a,Dp g f e d c b a,MC14495,LE D C B A,g f e d c b a,g f e d c b a,MC14495,+5V,(2)动态显示方式 是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp ”的同名端连在一起,每个数码管的COM为各自独立的位选信号,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于位选信号。,用第2章动态显示程序控制显示的方法是1ms延时,CPU周而复始显示,在实际工程中是

9、不可取的;另外还有一种方法是定时20ms扫描一次,在中断服务程序中,将所有数码管显示一次。虽然程序简单,但CPU的负担较重,一次循环显示的过程,需要几个毫秒,在这段时间里CPU不能做其它事情,否则影响LED亮度的一致性。 在一些实时性要求较高的控制系统中,可以采用1ms中断显示的方法控制显示,即用单片机内部定时器每隔1ms产生一次中断。在定时中断服务程序中更新显示,由于中断显示程序不需要延时,更新一位显示只需要几十微秒,对主程序的影响较小。,例4.2:如第二章例3图所示,用定时中断的方式编写控制4位显示器动态显示的程序。,位选码输出,段选码输出,#include “reg51.h” char

10、code dispdata =0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D, 0x07,0x7F,0x6F; /*数字0-9对应的段选码*/ char dis_data=2,4,6,8; void time (void) interrupt 1 using 1 /* T0中断服务程序入口,定时1ms */ static unsigned char ch1=0; TH0=-500/256; TL0=-500%256; disp(ch1); ch1+; if (ch1= =0x04) ch1=0; ,void disp(char ch1) /*显示函数*/ static c

11、har ch=0x01; P1=ch; P2= dispdatadis_datach1; ch=ch1; if (ch= =0x10) ch=0x01; main( ) TMOD=0x01 ; /* T0为16位定时工作方式*/ TH0= -(500/256 ); /* 预置计数初值 */ TL0= -(500%256) ; EA=1 ; /* CPU中断开放 */ ET0=1 ; /* T/C0中断开放 */ TR0=1 ; /* 启动T/C0开始定时 */ while(1) ; /* 等待中断 */ ,LCD(Liquid Crystal Display)液晶显示是一种新型的显示技术,它是

12、利用液晶材料的电光效应(如加电引起光学特性变化)的显示器。液晶本身不发光,靠电信号控制环境光在显示部位反射(或透射)而显示。液晶显示具有很多独到的优异特性,比如低压、微功耗、平板型结构、被动型显示、易于彩色化、长寿命等,已经越来越多地应用到各个领域,从智能化仪器仪表、计算机到家用电器都可以看到液晶显示的身影。 液晶显示器通常把驱动电路集成在一起,形成液晶显示模块,用户可以不必了解驱动器与显示器是如何连接的,使用时只需按照一定的要求向显示模块发命令和写数据即可。,4.3 LCD显示技术,典型应用( OCMJ48),如图为MCS-51单片机与OCMJ48中文显示模块的接口电路。图中单片机的P1口接

13、OCMJ模块的8根数据线用于数据的传送,P0.0、P0.1引脚接OCMJ模块的BUSY和REQ作为握手联络信号。,1)写字节子程序,该子程序采用查询方式对模块进行写操作。 SUB1:JB P0.1,SUB1 ;确信模块空闲(BUSY=0) MOV P1,A ;向总线送数 NOP ;等待数据总线稳定 SETB P0.0 ;置模块REQ=1,向模块发请求命令 HE3: JNB P0.1,HE3 ;等待模块响应(BUSY =1) CLR P0.0 ;撤消REQ请求信号,数据输入结束 RET ;返回,2)写汉字程序段,该程序段显示一个汉字“啊”(区位码为 1601H )。 MOV A,#0F0H ;选

14、显示汉字命令字 ACALL SUB1 ;调用写子程序 MOV A,#02H ;#O2H,XX,屏幕坐标 ACALL SUB1 ;调用写子程序 MOV A,#00H ;#00H,YY,屏幕坐标 ACALL SUB1 ;调用写子程序 MOV A,#16H ;#16H,QQ,GB2312汉字区位码高位 ACALL SUB1 ;调用写子程序 MOV A,#01H ;#01H,WW,GB2312汉字区位码低位 ACALL SUB1 ;调用写子程序,3)写816 ASCII 码程序段 该程序段显示一个816 ASC码 “A”。 MOV A,#0F9H ;选显示816 ASCII字符命令字 ACALL SU

15、B1 ;调用写子程序 MOV A,#04H ;#04H,XX坐标值 ACALL SUB1 MOV A,#00H ;#00H,YY坐标值 ACALL SUB1 MOV A,#41H ;#41H,ASCII字符代码“A” ACALL SUB1 4)绘制一个点(11点阵)程序段 MOV A,#0F2H ;选显示位点阵命令字 ACALL SUB1 ;调用写子程序 MOV A,#20H ;#20H,XX,以11 点阵屏幕坐标值 X ACALL SUB1 MOV A,#00H ;#00H,YY,以11点阵屏幕坐标值 Y ACALL SUB1,5)绘制一横线(18点阵)程序段 MOV A,#0F3H ;选显示字节点阵命令字 ACALL SUB1 ;调用写子程序 MOV A,#04H ;#04H,XX,以18 点阵屏幕坐标值 X ACALL SUB1 MOV A,#00H ;#00H,YY,以11点阵屏幕坐标值 Y ACALL SUB1 MOV A,#0FH ;为输入字节数据,1为黑点,0 为白点 ACALL SUB1,4.4.1 触摸屏技术概述 触摸屏又称为“

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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