第4章人机交互技术

上传人:无*** 文档编号:244381368 上传时间:2024-10-04 格式:PPT 页数:33 大小:626.50KB
返回 下载 相关 举报
第4章人机交互技术_第1页
第1页 / 共33页
第4章人机交互技术_第2页
第2页 / 共33页
第4章人机交互技术_第3页
第3页 / 共33页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,4,章 人机交互技术,4,.1,键盘接口设计,4,.2 LED显示器接口设计,4,.3 LCD显示器接口设计,4,.4,触摸屏技术,4,.5,打印机接口设计,第,4,章 单片机的人机交互技术,人机交互是指操作人员与计算机之间进行的现场或远程信息交换与联系,用于人机交互的设备称为人机接口,这些设备主要有键盘、显示器和打印机等。一般的计算机控制系统必须要有人机交互功能,以便操作人员可以随时输入数据传递生产命令,并通过显示和打印功能及时掌握生产情况。对于简单的应用场合,由于单片机本身就是一个最小的应用系统,因此能直接满足实际应用所要求的功能,充分发挥单片机硬件结构紧凑、设计简单、成本低的优点。当设计一些较为复杂的测控系统时,其自身的功能往往不能够满足应用的需要,此时可利用,MCS-51,系列单片机强大的外部扩展功能,扩展各种外围电路以补充片内资源的不足,适应特定应用的要求。,概 述,键盘是若干按键的集合,是向系统提供操作人员干预命令及数据的接口设备。键盘可分为编码键盘和非编码键盘两种。编码键盘能够由硬件逻辑自动提供与被按键对应的编码。此外,一般还具有去抖动和多键、窜键保护电路,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作都靠软件来完成,由于其经济实用,目前在单片机应用系统中多采用这种办法。,4.1,键盘接口设计,1,、在设计键盘接口时,解决以下几个问题:,检测是否有键按下;,去抖动,若有键按下,判定是哪一个键;,确定被按键的读数;,不管一次按键持续的时间有多长,仅采用一个数据;,处理同时按键。,510ms,510ms,100ms,按键过程,前跳沿,后跳沿,识别区,2,、独立式连接的非编码键盘,()查询方式,()中断方式,8031,INT,0,INT,1,&,P,1,.,0,P,1,.,1,P,1,.,2,P,1,.,7,8031,+5V,P,1,.,0,P,1,.,1,P,1,.,2,P,1,.,3,P,1,.,4,P,1,.,5,P,1,.,6,P,1,.,7,为了识别键盘上的闭合键,通常采用两种方法,一种为,扫描法,,,另一种称为,线反转法,。,扫描法,原理:,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,原理:,第一步设,A,口输出,B,口输入,A,口输出全,0,值,然后,从,B,口读入;,第二步设,A,口输入,B,口输出,将,B,口刚读入的值输出,再从,A,口读入,PA0,PA1,PA2,PA3,PB0,PB1,PB2,PB3,10k8,9,0,例,4.1,:用一位数码管显示,4X4,矩阵键盘按键号名称,0-F,。,#include,#define,uchar,unsigned char,#define,uint,unsigned,int,uchar,code DSY_CODE=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e,0 x00;,/,段码,uchar,Pre_KeyNo,=16,KeyNo=16;/,上次和当前按键的序号,序号范围,015,,,16,表示无按键,/,延时,void,DelayMS(uint,x),uchar,i;,while(x,-),for(i,=0;i40 x0f;,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=0 x00;,while(1),P1=0 xf0;,if(P1!=0 xf0),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,显示器的工作电流通常为,5,15mA,,工作电压为,1.5,2.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,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,产生一次中断。在定时中断服务程序中更新显示,由于中断显示程序不需要延时,更新一位显示只需要几十微秒,对主程序的影响较小。,例,4.2,:如第二章例,3,图所示,用定时中断的方式编写控制,4,位显示器动态显示的程序。,位选码输出,段选码输出,#include “reg51.h”,char code,dispdata,=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F;/*,数字,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=0 x04)ch1=0;,void,disp(char,ch1)/*,显示函数*,/,static char,ch,=0 x01;,P1=,ch,;,P2=dispdatadis_datach1;,ch,=,ch,1;,if(,ch,=0 x10),ch,=0 x01;,main(),TMOD=0 x01,;,/*,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),液晶显示是一种新型的显示技术,它是利用液晶材料的电光效应,(,如加电引起光学特性变化,),的显示器。液晶本身不发光,靠电信号控制环境光在显示部位反射,(,或透射,),而显示。液晶显示具有很多独到的优异特性,比如低压、微功耗、平板型结构、被动型显示、易于彩色化、长寿命等,已经越来越多地应用到各个领域,从智能化仪器仪表、计算机到家用电器都可以看到液晶显示的身影。,液晶显示器通常把驱动电路集成在一起,形成液晶显示模块,用户可以不必了解驱动器与显示器是如何连接的,使用时只需按照一定的要求向显示模块发命令和写数据即可。,4.3 LCD,显示技术,典型应用(,OCMJ48,),如图为,MCS-51,单片机与,OCMJ48,中文显示模块的接口电路。图中单片机的,P1,口接,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,;选显示汉字命令字,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 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,,,#
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!