计控第4章人机交互技术.ppt_第1页
计控第4章人机交互技术.ppt_第2页
计控第4章人机交互技术.ppt_第3页
计控第4章人机交互技术.ppt_第4页
计控第4章人机交互技术.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

第4章 人机交互技术,4.1 键盘接口设计 4.2 LED显示器接口设计 4.3 LCD显示器接口设计 4.4 触摸屏技术 4.5 打印机接口设计,第4章 单片机的人机交互技术,人机交互是指操作人员与计算机之间进行的现场或远程信息交换与联系。用于人机交互的设备称为人机接口,这些设备主要有键盘、显示器和打印机等。一般的计算机控制系统必须要有人机交互功能,以便操作人员可以随时输入数据传递生产命令,并通过显示和打印功能及时掌握生产情况。 对于简单的应用场合,由于单片机本身就是一个最小的应用系统,因此能直接满足实际应用所要求的功能,充分发挥单片机硬件结构紧凑、设计简单、成本低的优点。当设计一些较为复杂的测控系统时,其自身的功能往往不能够满足应用的需要,此时可利用单片机强大的外部扩展功能,扩展各种外围电路以补充片内资源的不足,适应特定应用的要求。,概 述,键盘是若干按键的集合,是向系统提供操作人员干预命令及数据的接口设备。键盘可分为编码键盘和非编码键盘两种。 编码键盘能够由硬件逻辑自动提供与被按键对应的编码。此外,一般还具有去抖动和多键、窜键保护电路,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。 非编码键盘只简单地提供行和列的矩阵,其它工作都靠软件来完成,由于其经济实用,目前在单片机应用系统中多采用这种办法。,4.1 键盘接口设计,1、在设计键盘接口时,解决以下几个问题: 检测是否有键按下; 去抖动 若有键按下,判定是哪一个键; 确定被按键的读数; 不管一次按键持续的时间有多长,仅采用一个数据; 处理同时按键。,()查询方式,()中断方式,为了识别键盘上的闭合键,通常采用两种方法,一种为扫描法,另一种称为线反转法。 扫描法,原理:CPU每次使并行 输出端口的某位为零, 而其它位为1,然后CPU 只要读取输入端口中的 数据,就可判别。,3、矩阵式连接的非编码键盘,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,+5V,8031,P1.6,P1.7,P1.0,P1.1,P1.2,P1.3,P1.5,P1.4,线反转法,5V,PA0 PA1 PA2 PA3 PB0 PB1 PB2 PB3,10k8,原理: 第一步设A口输出B 口输入 A口输出全0值,然后 从B口读入; 第二步设A口输入B 口输出 将B口刚读入的值输出,再从A口读入,9,0,8255A,例:用一位数码管显示4X4矩阵键盘按键号名称0-F。,#include #define uchar unsigned char #define uint unsigned int uchar code DSY_CODE= 0x3f,0x06,0x5b,0x4F,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00; /段码 uchar Pre_KeyNo=16,KeyNo=16; /上次和当前按键的序号,序号范围015,16表示无按键 /延时 void DelayMS(uint x) uchar i; while(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; switch(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显示器接口设计,在单片机应用系统中,为了便于观察和监视系统的运行情况,经常需要用显示器显示输入信息、中间信息、运行状态及运行结果等数据。目前常用的显示器件有LED (发光二极管显示器)和LCD(液晶显示器)两种。,LED显示器主要是指由发光二极管组成的数码管显示器或LED点阵显示模块。根据公共端的接法不同,LED数码管分为共阴极和共阳极二种类型,在使用时,由于LED显示器的工作电流通常为515mA,工作电压为1.52.5V,因此使用时需加驱动及限流电阻。根据显示方式不同,LED显示有静态显示和动态显示之分。,(1)静态显示方式: 每一位显示都占用单独的具有锁存功能的I/O接口,显示信号始终存在; com端连接在一起;,8051,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,Dp g f e d c b a,MC14495,+5V,(2)动态显示方式 是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp ”的同名端连在一起,每个数码管的COM为各自独立的位选信号,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于位选信号。,用第2章动态显示程序控制显示的方法是1ms延时,CPU周而复始显示,在实际工程中是不可取的;另外还有一种方法是定时20ms扫描一次,在中断服务程序中,将所有数码管显示一次。虽然程序简单,但CPU的负担较重,一次循环显示的过程,需要几个毫秒,在这段时间里CPU不能做其它事情,否则影响LED亮度的一致性。 在一些实时性要求较高的控制系统中,可以采用1ms中断显示的方法控制显示,即用单片机内部定时器每隔1ms产生一次中断。在定时中断服务程序中更新显示,由于中断显示程序不需要延时,更新一位显示只需要几十微秒,对主程序的影响较小。,例:如第二章例3图所示,用定时中断的方式编写控制4位显示器动态显示的程序。,位选码输出,段选码输出,#include “reg51.h“ char code dispdata =0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; /*数字0-9对应的段选码*/ char dis_data=2,4,6,8; void disp(unsigned char ch0) /*显示函数*/ static char ch=0x01; P1=ch; P2= dispdatadis_datach0; ch=ch1; if (ch=0x10) ch=0x01; ,void time (void) interrupt 1 /* T0中断服务程序入口,定时1ms */ static unsigned char ch1=0; TH0=-1000/256; TL0=-1000%256; disp(ch1); ch1+; if (ch1=0x04) ch1=0; void main(void) TMOD=0x01; /* T0为16位定时工作方式*/ TH0=-1000/256; /* 预置计数初值 */ TL0=-1000%256; EA=1; /* CPU中断开放 */ ET0=1; /* T/C0中断开放 */ TR0=1; /* 启动T/C0开始定时 */ while(1); /* 等待中断 */ ,LCD(Liquid Crystal Display)液晶显示是一种新型的显示技术,它是利用液晶材料的电光效应(如加电引起光学特性变化)的显示器。液晶本身不发光,靠电信号控制环境光在显示部位反射(或透射)而显示。液晶显示具有很多独到的优异特性,比如低压、微功耗、平板型结构、被动型显示、易于彩色化、长寿命等,已经越来越多地应用到各个领域,从智能化仪器仪表、计算机到家用电器都可以看到液晶显示的身影。,4.3 LCD显示技术,液晶显示器通常把驱动电路集成在一起,形成液晶显示模块,用户可以不必了解驱动器与显示器是如何连接的,使用时只需按照一定的要求向显示模块发命令和写数据即可。 LCD可分为段式LCD、字符式LCD和点阵式LCD。其中,段式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线以及汉字、动画,并且有些LCD还可以实现屏幕滚动、反转、闪烁等功能,用途十分广泛。,典型芯片OCMJ (奥可拉 )中文液晶显示模块,OCMJ内含16*16点阵的国标一、二级简体汉字和8*8点阵及16*8点阵的 ASCII字符,用户输入GB2312区位码或ASCII码即可实现文本显示。 OCMJ可实现一般的点阵图形液晶显示功能,提供有位点阵和字节点阵两种图形显示方式,用户可在指定的屏幕位置上以点为单位或以字节为单位(横向)进行图形显示操作。 中文液晶显示模块可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。 标准用户硬件接口采用REQ和BUSY握手协议,简单可靠。提供10个用户接口命令代码,编程很方便。,OCMJ中文显示模块引脚说明,OCMJ(48)中文显示模块命令格式,典型应用( OCMJ48),如图为MCS-51单片机与OCMJ48中文显示模块的接口电路。图中单片机的P1口接OCMJ模块的8根数据线用于数据的传送,P0.0、P0.1引脚接OCMJ模块的BUSY和REQ作为握手联络信号。,1)写字节子程序,该子程序采用查询方式对模块进行写操作。 CLR P0.0 ;复位 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)写汉字程序段,该程序段显示一个汉字“啊”(区位码为 1601 )。 MOV A,#0F0H ;选显示汉字命令字 ACALL SUB1 ;调用写子程序 MOV A,#02H ;#02H,XX,屏幕坐标 ACALL SUB1 ;调用写子程序 MOV A,#00H ;#00H,YY,屏幕坐标 ACALL SUB1 ;调用写子程序 MOV A,#10H ;#10H,QQ,GB2312汉字区位码高位 ACALL SUB1 ;调用写子程序 MOV A,#01H ;#01H,WW,GB2312汉字区位码低位 ACALL SUB1 ;调用写子程序,3)写168 ASCII 码程序段 该程序段显示一个168 ASC码 “A”。 MOV A,#0F9H ;选显示168 ASCII字符命令字 ACALL SUB1 ;调用写子程序 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,C51程序显示“啊”和“A” #include “reg51.h“ #include “intrins.h“ sbit LCD_REQ=P00; sbit LCD_BUSY=P01; void LCD_write(char cbyte) LCD_REQ=0; / 复位 while (LCD_BUSY= =1) ; P1=cbyte; _nop_(); LCD_REQ=1; while (LCD_BUSY= =0) ; LCD_REQ=0; ,void chinese_disp(char nx,char ny,char nqu,char nwei) LCD_write(0xf0); LCD_write(nx); LCD_write(ny); LCD_write(nqu); LCD_write(nwei); void asc_disp(char ccom,char nx,char ny,char casc) LCD_write(ccom); LCD_write(nx); LCD_write(ny); LCD_write(casc); void main() chinese_disp(0x02, 0x00, 0x10, 0x01); asc_disp(0xf9, 0x04, 0x00, 0x41); while(1); ,4.4.1 触摸屏技术概述 触摸屏又称为“触控屏”、“触控面板”,是一种可接收触头等输入信号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程序驱动各种连接装置,可用于取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。 触摸屏作为一种较新的电脑输入设备, 是目前最简单、 方便、 自然的人机交互方式。 从技术原理角度来讲,触摸屏是一套透明的绝对定位系统,其特性是:透明、采用绝对坐标及能检测触摸并定位 。,4.4 触 摸 屏 技 术,4.4.2 触摸屏的分类 从技术原理来区别触摸屏,可分为五个基本种类:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏、表面声波技术触摸屏。 每一类触摸屏都有其各自的优缺点,要了解哪种触摸屏适用于哪种场合,关键就在于要懂得每一类触摸屏技术的工作原理和特点。,矢量压力传感技术触摸屏已退出历史舞台; 红外线技术触摸屏价格低廉,但其外框易碎,容易产生光干扰,曲面情况下失真; 电容技术触摸屏设计构思合理,但其图像失真问题很难得到根本解决; 电阻技术触摸屏的定位准确,但其价格颇高,且怕刮易损; 表面声波触摸屏解决了以往触摸屏的各种缺陷,清晰不容易被损坏,适于各种场合,缺点是屏幕表面如果有水滴和尘土会使触摸屏变的迟钝,甚至不工作。,4.5.1 标准Centronics接口 并行打印机接口通常按Centronics标准定义插头插座引脚, Centronics标准中各引脚和信号之间的对应关系见下表。,4.5 打印机接口电路设计,入,4.5.2 应用实例 在计算机控制系统中, 常用的有并行和串行接口的针式打印机。 下面介绍并行打印机与计算机的接口举例。,例:用825

温馨提示

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

评论

0/150

提交评论