人机对话与数据通信.ppt_第1页
人机对话与数据通信.ppt_第2页
人机对话与数据通信.ppt_第3页
人机对话与数据通信.ppt_第4页
人机对话与数据通信.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

人机接口设计,智能仪器系统需要与外部的世界通信和联系,尤其是与使用者进行交流。人机接口是其重要的交互界面。 常用的人机交互装置有:显示器、键盘、打印机、触摸屏等。,第三章 人机对话与数据通信,第一节 显示器接口设计,常用的有:LED显示器和LCD显示器。,LEDLight Emitting Diode Light Emitting Diode Display Device,LCDLiquid Crystal Display,一、LED显示器,LED数码管的结构:共阳极与共阴极,智能仪器系统扩展LED数码管时多用共阳LED: 共阳数码管每个段笔画是用低电平(“0”)点亮的,要求的驱动功率很小;而共阴数码管段笔画是用高电平(“1”)点亮的,要求的驱动功率较大。 通常每个段笔画要串一个限流电阻。,公共阳极,h g f e d c b a,接高电平,LED数码管的译码:硬件译码与软件译码,硬件译码特点:采用专用的译码/驱动器件,驱动功率较大;增加了硬件的开销;软件编程简单;字型固定,74LS48/CD4511是“BCD码七段共阴译码/驱动”IC; 74LS47是“BCD码七段共阳译码/驱动”IC,硬件译码,软件译码特点: 不用专用的译码/驱动器件,驱动功率较小;不增加硬件的开销;软件编程较复杂;字型灵活。,软件译码,LED数码管的软件译码,八段LED数码管段代码编码表(连线不同,可有多种表):,设:h g f e d c b a D7D6D5D4D3D2D1D0,LED数码管的显示方式:静态显示与动态显示,动态显示特点: 有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间,编程复杂。(有多个LED时尤为突出),静态显示特点: 无闪烁,用元器件多,占I/O线多,无须扫描,节省CPU时间,编程简单。,静态显示: 各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。,动态显示: 各数码管在显示过程中轮流得到送显信号,与各数码管接口的I/O口线是共用的。,LED数码管动态显示举例,工作原理:从P0口送段代码,P1口送位选信号。段码虽同时到达 6个LED,但一次仅一个LED被选中。利用“视觉暂留”,每送一个字符并选中相应位线,延时一会儿,再送/选下一个循环扫描即可。,要求:此处为共阳数码管,P0口送段代码,P1口送位选信号。 实现动态显示。 条件:待显数据存放在数组seg0 seg5 数字09的段代码已放在:BUF0 BUF9中。,# include void display( ) unsigned char code BUF10= 0xc0,0xf9,0xa4,0xb0,ox99,0x92,0x82,0x80,0x90,0x88,0x83; unsigned char seg 6 ; void display( ) unsigned char i , j, temp; temp =0x01; for( i=0; i6; i+) P1 = temp; P0 = BUF seg i ; for( j=0; j50; j+) _nop_( ); temp=temp*2; ,二、LCD接口设计,LCD是一种与LED不同的被动式的显示设备,液晶本身并不发光,它是利用液晶在电压的作用下能够改变光线通过的方向的特性而达到显示白底黑字或黑底白字的目的。,液晶:实质上是一种物质态,有人称之为第四态 1888年奥地利植物学家F.REINITZER发现液晶 当时德国物理学家将其命名为Flissende krystalle 英文翻译为Liquid crystal,中文翻译为液晶用它制成的显示器件称为LCD(Liquid crystal Display) 1961年,美国RCA公司普林斯顿实验室的年轻电子学者F. Heimeier把电子学的知识用于研究化学。在研究外部电场对晶体内部电场的影响时,他使用了液晶。他将两片透明导电玻璃之间夹上掺有颜料的液晶,当在液晶层的两面施加以几伏的电压时,液晶层就由红色变成透明态。根据这一现象,进而研制出一系列数字、字符显示器件。,LCD的特点: 工作电流比LED小几个数量级; 尺寸小,厚度约为LED的1/3; 工作温度范围较窄; 响应速度低。,应用实例,常见的LCD显示器有:笔画式和点阵式两种,笔画式,笔画式LCD的字型由硬件直接形成,每种字型对应相应的字码。驱动编程简单。字型固定。,点阵式,点阵式LCD的显示由一个一个的点像素构成。字型由软件控制各个像素的亮和灭来实现。驱动编程较为复杂。字型灵活。,字符点阵型 图形点阵型,在小规模点阵液晶显示模块上使用液晶显示驱动控制器组成液晶显示驱动控制系统是非常有益的。这使得液晶显示模块的硬件电路简单化,从而使模块的成本降低。,2行16列,Hangzhou Dianzi Univ,字符型LCD模块 LCD1602,1 2 3 4 5 6 7 8 9,10,11,12,13,14,15,16,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模块,Vss: +5V电源管脚(Vcc) VDD: 地管脚(GND) Vo: 液晶显示驱动电源(0V5V),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模块,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,DB7,DB6,K,LCD模块,单片机与LCD模块之间有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模块,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:读写控制线,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,LCD显示程序设计,main,LCD初始化,光标定位,显示字符,动手做,SJMP $,显示数据,对于常用数字、字母等显示数据为其ASCII码,查找资料,并整理成文档。 题目:LCD介绍。 内容包括:LCD的分类、结构、特点及应用等。,习题,第二节 键盘接口设计,键盘是人机交互中的重要的输入设备,价格低廉,结构简单,使用方便,在单片机系统中得到广泛的应用。 单片机与计算机在键盘规模/键符设置等方面差别很大。本节将介绍单片机系统中常用的键盘。,键盘的接口必须解决下列的一些问题: (1)确定是否有键按下; (2)如有键按下,确定是哪一个键被按下; (3)确定被按键的读数; (4)反弹跳按键抖动的消除; (5)不管一次按键持续的时间多长,仅采样一个数据; (6)处理同时按键,即同时有一个以上的按键。,按键是一个机械开关,当键按下时, 开关的动作会产生抖动。抖动时间 约5ms - 10ms; 为了数据稳定,必须消抖。 滤波 双稳态硬件消抖 软件消抖,按键抖动的消除:,(1) 滤波 由于电容的滤波作用,键按下后,输出端为低电平,虽然略有抖动,但幅值较小,低于0.8V。 (2)双稳态硬件消抖 虽然动触点在抖动,由于两个与非门构成的RS触发器的作用,使输出是一个没有毛刺的负脉冲。 (3)软件消抖 第一次检测到有键按下时,延时10ms后,第二次检测此按键,如检测结果仍为按下状态,CPU便确认此按键已真正按下,从而消除了抖动的影响。,常用软件来消除按键抖动。,基本思想:检测到有键按下,键对应的行线为低,软 件延时10ms后,行线如仍为低,则确认该行有键按下。,当键松开时,行线变高,软件延时10ms后,行线仍为 高,说明按键已松开。,采取以上措施,躲开了两个抖动期t1和t3的影响。,键盘分类,按键值编码方式分,(硬件)编码键盘,非(硬件)编码键盘,编码键盘: 采用专用的编码/译码器件,被按下的键由该器件译码输出相应的键码/键值。 特点:增加了硬件开销,编码因选用器件而异,编码固定,但编程简单。适用于规模大的键盘。,按键值编码方式分:编码键盘与非编码键盘,静态编码器普通编码器:如8-3编码器74148 可编程键盘/显示接口芯片:如8279,静态式编码器接口,0,1,2,3,4,5,6,7,10,11,12,13,1,2,3,4,8,9,7,6,74148,EI,A0,A1,A2,A2,A1,A0,a)接口电路,b)真值表,D0 D1 D2 D3 D4 D5 D6 D7,P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7,ALE,P2.7,RD,INT1,8051,RL7 RL6 RL5 RL4 RL3 RL2 RL1 RL0,CLK,A0,WR,RD,IRQ,74LS373,RESET,SHIFT,CNTL,20F,+5V,2K,SL0 SL1 SL2,8279,74LS138 Y0Y7,VCC,+5V,15 14 13 12 11 10 9 8,7 6 5 4 3 2 1 0,BIC 8708,dp,BIC 8708,+5V,f,g,c,e,d,b,a,B0 B1 B2 B3 A0 A1 A2 A3,CS,WR,利用8279的编码键盘/显示系统,非编码键盘: 单片机系统多采用此类键盘 采用软件编码/译码的方式,通过扫描,对每个被按下的键判别输出相应的键码/键值。 特点:不增加硬件开销,编码灵活,适用于小规模的键盘,特别是单片机系统。但编程较复杂,占CPU时间,还须软件“消抖”。,按键值编码方式分:编码键盘与非编码键盘,独立连接键盘,按键盘连接方式分为,矩阵连接键盘,特点:此子程序需不断(或定时)调用,否则可能漏判。4个键的优先级由指令顺序决定。,P1.0P1.1P1.2P1.3,87C52,独立连接式键盘例1,# include sbit KEY1=P10; sbit KEY2=P11; sbit KEY3=P12; sbit KEY4=P13; void KEY1FUNC( );/键1功能函数 void KEY2FUNC( );/键2功能函数 void KEY3FUNC( );/键3功能函数 void KEY4FUNC( );/键4功能函数 unsigned char getkey( ) if( KEY1=0 ) return 1; if( KEY2=0 ) return 2; if( KEY3=0 ) return 3; if( KEY4=0 ) return 4; return 0; ,main( ) unsigned char keyNo=0xff; while( 1 ) keyNo = getkey( ); if ( keyNo = 1) KEY1FUNC( ); if ( keyNo = 2) KEY2FUNC( ); if ( keyNo = 3) KEY3FUNC( ); if ( keyNo = 4) KEY4FUNC( ); ,特点: 1.此子程序采用中断 查询不会漏判,省时。 2.键的优先级由指令 顺序决定。 3.为防止一次按键多 次中断,在功能子程 序里应安排“关/开中 断指令”并“延时”。,独立连接式键盘例2,# include sbit KEY1=P10; sbit KEY2=P11; sbit KEY3=P12; sbit KEY4=P13; unsigned keyNo=0xff; void KEY1FUNC( );/键1功能函数 void KEY2FUNC( );/键2功能函数 void KEY3FUNC( );/键3功能函数 void KEY4FUNC( );/键4功能函数 void getkey( ) interrupt 0 EA=0; if( KEY1=0 ) keyNo=1; if( KEY2=0 ) keyNo=2; if( KEY3=0 ) keyNo=3; if( KEY4=0 ) keyNo=4; EA=1; ,main( ) EX0 = 1; EA = 1; while( 1 ) if ( keyNo = 1) KEY1FUNC( ); if ( keyNo = 2) KEY2FUNC( ); if ( keyNo = 3) KEY3FUNC( ); if ( keyNo = 4) KEY4FUNC( ); ,RST,GND,8051,VCC,XTAL1,XTAL2,EA,复位电路,振荡电路,+5v,列线,0列,7列,0行,3行,0 4 8 12 16 20 24 28,1 5 9 13 17 21 25 29,2 6 10 14 18 22 26 30,3 7 11 15 19 23 26 31,行线,P2.7,P1.7,P1.6,P1.5,P1.4,P1.3,P1.2,P1.1,P1.0,P2.6,P2.5,P2.4,矩阵连接式键盘,1. 行扫描法,x2 x1 x0 y3 y2 y1 y0,矩阵连接式键盘识别按键的方法:,2. 线反转法,D0 D1D2 D3 D4 D5 D6 D7,按键盘连接方式:独立连接键盘与矩阵连接键盘,矩阵连接键盘: 键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。逐线扫描,得出键码。 特点:键多时占用I/O口线少,但判键速度慢,多用于设置数字键。适用于键数多的场合。,非编码键盘的控制方式,(1)程序控制扫描法 只有当单片机空闲时,才调用键盘扫描子程序,扫描键盘。 (2)定时扫描法 利用单片机内的定时器,产生10ms的定时中断,对键盘进行扫描。 (3)中断扫描法 只有在键盘有键按下时,才执行键盘扫描程序,如无键按下,单片机将不理睬键盘。,键盘所做的工作分为三个层次,第1层:单片机如何来监视键盘的输入。三种工作方 式:程序控制扫描定时扫描中断扫描。,第2层:确定具体按键的键号。体现在按键的识别方 法上就是:行扫描法;线反转法。,第3层:执行按键处理程序。,第三节 打印机接口设计,打印机的种类 从它与计算机的连接方式来分,有并行

温馨提示

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

评论

0/150

提交评论