计算机控制技术西电版第4章人机交互技术_第1页
计算机控制技术西电版第4章人机交互技术_第2页
计算机控制技术西电版第4章人机交互技术_第3页
计算机控制技术西电版第4章人机交互技术_第4页
计算机控制技术西电版第4章人机交互技术_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

第4章

人机交互技术4.1键盘接口设计4.2LED显示器接口设计4.3LCD显示器接口设计4.4触摸屏技术4.5打印机接口设计第4章单片机的人机交互技术人机交互是指操作人员与计算机之间进行的现场或远程信息交换与联系。用于人机交互的设备称为人机接口,这些设备主要有键盘、显示器和打印机等。一般的计算机控制系统必须要有人机交互功能,以便操作人员可以随时输入数据传递生产命令,并通过显示和打印功能及时掌握生产情况。对于简单的应用场合,由于单片机本身就是一个最小的应用系统,因此能直接满足实际应用所要求的功能,充分发挥单片机硬件结构紧凑、设计简单、成本低的优点。当设计一些较为复杂的测控系统时,其自身的功能往往不能够满足应用的需要,此时可利用单片机强大的外部扩展功能,扩展各种外围电路以补充片内资源的不足,适应特定应用的要求。概述键盘是若干按键的集合,是向系统提供操作人员干预命令及数据的接口设备。键盘可分为编码键盘和非编码键盘两种。编码键盘能够由硬件逻辑自动提供与被按键对应的编码。此外,一般还具有去抖动和多键、窜键保护电路,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵,其它工作都靠软件来完成,由于其经济实用,目前在单片机应用系统中多采用这种办法。4.1键盘接口设计1.在设计键盘接口时,解决以下几个问题:检测是否有键按下;去抖动若有键按下,判定是哪一个键;确定被按键的读数;不管一次按键持续的时间有多长,仅采用一个数据;处理同时按键。5~10ms5~10ms>100ms按键过程

前跳沿

后跳沿

键闭合

2.独立式连接的非编码键盘(b)查询方式(a)中断方式8031INT0+5VINT1&P1.0P1.1P1.2P1.78031+5VP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7为了识别键盘上的闭合键,通常采用两种方法,一种为扫描法,另一种称为线反转法。扫描法原理:CPU每次使并行输出端口的某位为零,而其它位为1,然后CPU只要读取输入端口中的数据,就可判别。3.矩阵式连接的非编码键盘0123456789101112131415+5V8031P1.6P1.7P1.0P1.1P1.2P1.3P1.5P1.4线反转法5VPA0PA1PA2PA3PB0PB1PB2PB310kΩ×8原理:第一步设A口输出B口输入A口输出全0值,然后从B口读入;第二步设A口输入B口输出将B口刚读入的值输出,再从A口读入908255A例:用一位数码管显示4X4矩阵键盘按键号名称0-F。#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4F,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};//段码ucharPre_KeyNo=16,KeyNo=16;//上次和当前按键的序号,序号范围0~15,16表示无按键//延时voidDelayMS(uintx){uchari;while(x--)for(i=0;i<120;i++);}//矩阵键盘扫描voidKeys_Scan(){ucharTmp;P1=0x0f;//高4位置0,放入4行DelayMS(1);Tmp=P1^0x0f;//异或switch(Tmp)//判断按键发生于0~3列的哪一列{case1:KeyNo=0;break;case2:KeyNo=1;break;case4:KeyNo=2;break;case8:KeyNo=3;break;default:KeyNo=16;//无键按下}P1=0xf0;//低4位置0,放入4列DelayMS(1);Tmp=P1>>4^0x0f;switch(Tmp)//对0~3行分别附加行首键值0,4,8,12{case1:KeyNo+=0;break;case2:KeyNo+=4;break;case4:KeyNo+=8;break;case8:KeyNo+=12;}}//主程序voidmain(){P0=0x00;while(1){P1=0xf0;if(P1!=0xf0)Keys_Scan();//获取键序号if(Pre_KeyNo!=KeyNo){P0=DSY_CODE[KeyNo];Pre_KeyNo=KeyNo;}DelayMS(100);}}1.LED显示技术4.2LED显示器接口设计在单片机应用系统中,为了便于观察和监视系统的运行情况,经常需要用显示器显示输入信息、中间信息、运行状态及运行结果等数据。目前常用的显示器件有LED(发光二极管显示器)和LCD(液晶显示器)两种。

LED显示器主要是指由发光二极管组成的数码管显示器或LED点阵显示模块。根据公共端的接法不同,LED数码管分为共阴极和共阳极二种类型,在使用时,由于LED显示器的工作电流通常为5~15mA,工作电压为1.5~2.5V,因此使用时需加驱动及限流电阻。根据显示方式不同,LED显示有静态显示和动态显示之分。(1)静态显示方式:每一位显示都占用单独的具有锁存功能的I/O接口,显示信号始终存在;LED数码管的COM端连接在一起;

8051P1.5P1.4P1.3P1.2P1.1P1.0LEDCBAdpgfedcbadpgfedcbaMC14495+5VLEDCBAdpgfedcbadpgfedcbaMC14495+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"charcodedispdata[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};/*数字0-9对应的段选码*/chardis_data[]={2,4,6,8};voiddisp(unsignedcharch0) /*显示函数*/{ staticcharch=0x01; P1=ch; P2=dispdata[dis_data[ch0]]; ch=ch<<1; if(ch==0x10)ch=0x01;}voidtime(void)interrupt1/*T0中断服务程序入口,定时1ms*/{ staticunsignedcharch1=0;TH0=-1000/256; TL0=-1000%256;disp(ch1);ch1++;if(ch1==0x04)ch1=0; }voidmain(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(LiquidCrystalDisplay)液晶显示是一种新型的显示技术,它是利用液晶材料的电光效应(如加电引起光学特性变化)的显示器。液晶本身不发光,靠电信号控制环境光在显示部位反射(或透射)而显示。液晶显示具有很多独到的优异特性,比如低压、微功耗、平板型结构、被动型显示、易于彩色化、长寿命等,已经越来越多地应用到各个领域,从智能化仪器仪表、计算机到家用电器都可以看到液晶显示的身影。液晶显示器通常把驱动电路集成在一起,形成液晶显示模块,用户可以不必了解驱动器与显示器是如何连接的,使用时只需按照一定的要求向显示模块发命令和写数据即可。4.3LCD显示技术典型芯片OCMJ(奥可拉)中文液晶显示模块OCMJ内含16*16点阵的国标一、二级简体汉字和8*8点阵及8*16点阵的ASCII字符,用户输入GB2312区位码或ASCII码即可实现文本显示。OCMJ可实现一般的点阵图形液晶显示功能,提供有位点阵和字节点阵两种图形显示方式,用户可在指定的屏幕位置上以点为单位或以字节为单位(横向)进行图形显示操作。中文液晶显示模块可以实现汉字、ASCII码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。标准用户硬件接口采用REQ和BUSY握手协议,简单可靠。提供10个用户接口命令代码,编程很方便。OCMJ中文显示模块引脚说明OCMJ(4×8)中文显示模块命令格式3F典型应用(OCMJ4×8)如图为MCS-51单片机与OCMJ4×8中文显示模块的接口电路。图中单片机的P1口接OCMJ模块的8根数据线用于数据的传送,P0.0、P0.1引脚接OCMJ模块的BUSY和REQ作为握手联络信号。1)写字节子程序该子程序采用查询方式对模块进行写操作。CLRP0.0;复位SUB1:JBP0.1,SUB1;确信模块空闲(BUSY=0)MOVP1,A;向总线送数NOP;等待数据总线稳定SETBP0.0;置模块REQ=1,向模块发请求命令HE3:JNBP0.1,HE3;等待模块响应(BUSY=1)CLRP0.0;撤消REQ请求信号,数据输入结束RET;返回2)写汉字程序段该程序段显示一个汉字“啊”(区位码为1601H)。MOVA,#0F0H;选显示汉字命令字ACALLSUB1;调用写子程序MOVA,#02H;#02H,XX,屏幕坐标ACALLSUB1;调用写子程序MOVA,#00H;#00H,YY,屏幕坐标ACALLSUB1;调用写子程序MOVA,#16H;#16H,QQ,GB2312汉字区位码高位ACALLSUB1;调用写子程序MOVA,#01H;#01H,WW,GB2312汉字区位码低位ACALLSUB1;调用写子程序3)写8×16ASCII码程序段

该程序段显示一个8×16ASCⅡ码“A”。MOVA,#0F9H;选显示8×16ASCII字符命令字ACALLSUB1;调用写子程序MOVA,#04H;#04H,XX坐标值ACALLSUB1MOVA,#00H;#00H,YY坐标值ACALLSUB1MOVA,#41H;#41H,ASCII字符代码“A”ACALLSUB14)绘制一个点(1×1点阵)程序段

MOVA,#0F2H;选显示位点阵命令字ACALLSUB1;调用写子程序MOVA,#20H;#20H,XX,以1×1点阵屏幕坐标值XACALLSUB1MOVA,#00H;#00H,YY,以1×1点阵屏幕坐标值YACALLSUB15)绘制一横线(1×8点阵)程序段

MOVA,#0F3H;选显示字节点阵命令字ACALLSUB1;调用写子程序MOVA,#04H;#04H,XX,以1×8点阵屏幕坐标值XACALLSUB1MOVA,#00H;#00H,YY,以1×1点阵屏幕坐标值YACALLSUB1MOVA,#0FH;为输入字节数据,1为黑点,0为白点ACALLSUB1C51程序显示“啊”和“A”#include"reg51.h"#include"intrins.h"sbitLCD_REQ=P0^0;sbitLCD_BUSY=P0^1;voidLCD_write(charcbyte){LCD_REQ=0;//复位while(LCD_BUSY==1);P1=cbyte;_nop_;LCD_REQ=1;while(LCD_BUSY==0);LCD_REQ=0;}voidchinese_disp(charnx,charny,charnqu,charnwei){LCD_write(0xf0);LCD_write(nx);LCD_write(ny);LCD_write(nqu);LCD_write(nwei);}voidasc_disp(charccom,charnx,charny,charcasc){LCD_write(ccom);LCD_write(nx);LCD_write(ny);LCD_write(casc);}voidmain(){chinese_disp(0x02,0x00,0x16,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应用实例

在计算机控制系统中,常用的有并行和串行接口的针式打印机。下面介绍并行打印机与计算机的接口举例。

例:用8255控制打印机。

下图是8031扩展8255与打印机接口的电路。8255的片选线为P0.7,打印机与8031采用查询方式交换数据。打印机的状态信号输入给PC7,打印机忙时BUSY=1,微型打印机的数据输入采用选通控制,当

温馨提示

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

评论

0/150

提交评论