课件:人机接口.ppt_第1页
课件:人机接口.ppt_第2页
课件:人机接口.ppt_第3页
课件:人机接口.ppt_第4页
课件:人机接口.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

第9章 单片机系统的人机接口设计,9.1 键盘与接口 9.2 键盘输入基础知识 9.3 键盘抖动及消除 9.4 键盘接口方法 9.5 LED显示及接口 9.6 MCS-51单片机与8155H的接口,常用芯片,74LS373 三态同相八D锁存器,输出口具有锁存作用 74LS273 带公共时钟复位八D触发器,锁存器 74LS377 单边输出公共使能八D锁存器 74LS173 三态输出四位D型寄存器 74LS374三态反相八D锁存器 74LS244 八同相三态缓冲器/线驱动器,缓冲器 输入口具有缓冲作用 74LS245八同相三态总线收发器,缓冲器 74LS138 3-8线译码器 74LS139 双2-4线译码器 74LS164 八位串行入/并行输出移位寄存器,9.1 键盘与接口 (硬件和软件二部分) 硬件:键盘结构及与主机的连接方式。 软件:键盘管理程序。 9.2 键盘输入基础知识 9.2.1 键盘的组织 (1)编码式键盘 键和专用键盘编码器构成,有键按下,自动生成键值。 例如: MM5740AA芯片; INTEL 8279等。 (2)非编码式键盘(本章介绍) 不含编码器,键盘只送出一个简单的闭合信号,对应的键值 需有软件来译出。,键盘和显示是单片机应用系统中实现人机对话的一种基本形式,两种接口设计的好坏,直接影响到人机接口的友好程度。,9.2.2非编码键盘 (1)独立式键盘 特点: 一键一线。 优点: 结构简单,键容易识别。 缺点: 占用较多I/O口线, 不便组成大型键盘。,(2)矩阵式键盘 特点: 把检测线分成二组,一组为行线,另一组为列线,按键放在行线和列线的交叉点上。或称为:输入口和输出口。 优点: 键盘规模可扩大。 缺点: 键盘分析程序较复杂。,(3)键盘的三种工作方式 编程扫描方式(查询方式) 中断工作方式 定时扫描方式,9.3 键盘抖动及消除,由于键盘的机械特性,键盘在按下和松开的过程中会存在 抖动过程,具体如图所示: 键抖动可能导致计算机将按键操作识别为多次操作。为 了消除干扰,必须采取措施消除抖动。,9.3.1 键盘消抖 (1)硬件电路消除法 经过一个单稳态电路后,对脉冲进行整形。得到标准脉冲。 (2) 软件延时法 当判定按键按下时,用软件延时10ms20ms,等待键稳后重新再判一次,以躲过触点抖动期。,9.4 键盘接口方法,9.4.1 独立式键盘接口方法 (1)查询方式 例9-1: KEY:JNB P1.0,KEY1 JNB P1.1,KEY2 JNB P1.2,KEY3 JNB P1.3,KEY4 AJMP KEY KEY1: KEY2: KEY4:,(2)中断方式 在某些实时性要求较高的场合,需要采用中断方式。 例9-2: WB0: CLR EX0 MOV P1,#0FFH; 设P1口为输出状态 MOV A,P1 JNB ACC.0,KEY1 JNB ACC.1,KEY2 JNB ACC.2,KEY3 JNB ACC.3,KEY4 FANH: NOP SETB EX0 RETI KEY1: LJMP FANH KEY4: LJMP FANH,9.4.2 矩阵式键盘接口方法,(1)行扫描法 所有输出口(P1.4-P1.7)输出0,读取输入口(P1.0-P1.3)状态; 判是否有键按下(没有键按下,读入值为0FH )。 若确定有键按下,则开始逐列送0,进行列扫描。最后记录行值和列值,获取键值。 为保证消抖,考虑消抖措施。 具体见下页。,输出口,输入口,列,行扫描法 按键的识别过程及程序 所有输出口输出0,读取输入口; 如果输入口全为1,重新执行第1步,否则向下; 输出口(列)逐个送0,读取输入口;若全为1,则下一个输出口送0,否则能够确定列和行; 记录当前列值N,记录行值M。 计算获取键值(M-1)4+N=(116),列,输出口,输入口,KEY: MOV P1,#0FH NOP MOV A,P1 CJNE A,#0FH,LS1 AJMP KEY LS1: MOV P1,#0EFH NOP MOV A,P1 CJNE A,#0EFH,HS1 LS2: MOV P1,#0DF NOP MOV A,P1 CJNE A,#0DFH,HS2 LS3: MOV P1,#0BFH NOP MOV A,P1 CJNE A,#0BFH,HS3 LS4: MOV P1,#7FH NOP MOV A,P1 AJMP HS4,HS1: MOV N,#01H LCALL HQHZ AJMP OK HS2: MOV N,#02H LCALL HQHZ AJMP OK HS3: MOV N,#03H LCALL HQHZ AJMP OK HS4: MOV N,#04H LCALL HQHZ AJMP OK HQHZ: MOV M,#00H NEXT1: RRC A INC M JC NEXT1 RET,OK: MOV A,M DEC A MOV B,#04H MUL AB ADD A ,N 。,以某一个按键按下为例,进行计算,输出口,输入口,例9-3:,计算获取键值 (M-1)4+N=(116),(2) 线路反转法,反转法工作原理 先让P1高四位输出“0” ,从P1的低四位读键盘状态,如E键被按下,从P1的低四位输入为1101,“0”对应按键代表的列。 线路反转,P1的低四位输出“0”电平,从P1高四位读键盘状态,从P1高四位输入0111,“0”对应按键代表的行位置。 数据合成特征码0111 1101(7DH),完全确定按键位置。 通过查键码转换表找到对应的键值(顺序码)。,特征码按顺序排列存入特征码表中,如E的特征码为7DH,把获取的特征码和特征码表中的特征码比较,相等后,根据偏移量就可获得键值,从而执行相应的键盘程序。,MOV R6,00H MOV R7,15 NEXT: MOV A,R6 MOVC A,ADPTR CJNE A,52H,NEXT1 RET NEXT1:INC R6 DJNZ R7,NEXT RET TZM:DB 0E7H,0EBH,0EDH,0EEH DB 0D7H,0DBH,0DDH,0DEH 。,键盘子程序设置: MOV P1,#0FH;高位输出0 NOP MOV 50H,P1;0XH MOV P1,0F0H;低位输出0 NOP MOV 51H,P1; Y0H MOV A,50H ANL A,0FH MOV 50H,A MOV A,51H ANL A,0F0H ORL A,50H;获得键码拼凑字节YXH MOV DPTR,TZM MOV 52H,A,从TZM表中搜寻所有特征码,和(52H)比较,找到是哪个按键按下,结果存在R6里。,例9-4:,9.5 LED显示及接口,9.5.1 LED显示原理 LED-发光二极管。 (52)15200欧 LED的正向压降: 1.2V 2.6V,工作电流: 5mA 20mA。 适合于脉冲工作状态,电路须串联适当的限流电阻。 LED显示器的类型: 单个、七段、米字型和点阵式。 9.5.2 单个LED显示器 常用于仪器的状态显示。,9.5.3 七段LED显示器,将数个LED组成一个阵列,并封装于一个标准的外壳中,七段LED显示器有共阳极和共阴极两种结构。 可用于显示09数字和多种字母。,如果数码管要显示“1”,则需要b段和c段亮,其余段灭。要显示字母“A”,则需要除了d段和DP段灭外,其余段都亮。,为了让数码管能正确显示数字或字母,须点亮相应的段,这样就需要对其译码。在译码方式上主要有两种,硬件和软件。 无论是硬件译码还是软件译码,实际是都是给出要显示数字或者字符的段码。,(1)硬件译码 七段译码/驱动器(47)译码器 47译码器,4位输入,7位输出;BCD译码器。 只需要给该译码器输入相应的BCD码后,译码器会自动译出相应的段码。 特点:计算机时间的开销较小,但硬件开支大。,(2) 软件译码,省略了硬件,其要显示的BCD码通过软件的方法,将其转换为相应的段码。 具体措施: 先将要显示的数字和字母的段码计算出来; 将段码按顺序做成段码表,存入程序存储器中; 把要显示的BCD码作为偏移量,通过查表的方式来查段码; 取出段码,送至显示数码管进行显示。,7段LED 段码表,D7 D6 D5 D4 D3 D2 D1 D0 Dp g f e d c b a,9.5.4 点阵式LED显示器,以点阵格式进行显示,显示的字符较逼真,但接口电路和控 制程序较复杂。常用57点阵。字型码生成辅助软件。,9.5.5七段LED显示及接口,按显示方式分:静态显示和动态显示之分。 (1)静态显示及其接口 特点: 每位LED的8个段都配有独立的I/O口线,公共端直接接地或者接VCC。 优点: 每一位显示输出后能够保持显示不变,直至重新送入新的数据。 缺点: 当显示位数较多时,占用的I/O口较多。 (2) 动态扫描显示及其接口 特点: 把所有数码管的段线并联在一起,每个数码管的公共端由独立的I/O口进行控制。定时对各显示器进行扫描,显示器件分时轮流工作,每次只允许一个器件显示。 优点: 使用硬件少,占用I/O口少。 缺点: 占用机时长,只要不执行显示程序,就立刻停止显示。,4位LED的静态显示接口电路,+5V,步骤: 选择串行口工作在方式0同步移位寄存器功能; 把要显示的数据存入缓冲单元; 把要显示的数据的段码送至串口缓冲区(SBUF); 检查TI标志位,发送完后一字节后清除标志位,开始下一字节; 所有数据显示完没有。 程序如下:,例9-5:,MOV SCON,00H MOV 50H,1 MOV 51H,2 MOV 52H,3 DISP: MOV R7,03 MOV R0,50H NEXT: MOV A,R0 MOV DPTR,DDSEG MOVC A,A+DPTR MOV SBUF,A NEXT1: JNB TI,NEXT1 CLR TI INC R0 DJNZ R7,NEXT END,DDSEG:DB C0H,F9H,A4H DB B0H,99H,92H DB 82H,F8H,80H DB 90H,88H,83H DB C6H,A1H,86H DB 8EH,89H,8CH DB C1H,FFH,自己定义一个缓存区,存放要显示的数字,如 50H,51H,52H,LED上显示的数字是什么?,9.5.6 8155H芯片介绍,1.8155H的逻辑结构,如图9-11所示。,补充: MCS-51单片机与8155H的接口,可编程I/O口的扩展,图 8155的结构和引脚,2. 8155H的引脚功能,(1)AD7AD0(8条) (2)I/O总线(22条),(3)控制总线(8条) RESET:复位输入线 CE*和IO/M* RD*和WR* ALE:地址锁存允许 TIMERIN和TIMEROUT*:,(4)电源线(2条) Vcc:+5V电源 Vss:地,3.CPU对8155H I/O端口的控制,(1) 8155H各端口地址分配,(2)8155H的命令字,(3)8155H的状态字,8155H的工作方式,1.存储器方式,对片内RAM单元进行读写,若IO/M*=0和CE*=0,则 通过AD7AD0上的地址对RAM存储器任一单元读写。,2.I/O方式,8155H的I/O方式分为基本I/O和选通I/O两种工作 方式,如表9-3所示。可对片内任一寄存器读写, 端口地址由A2、A1、A0三位决定(见表9-2)。,表9-3 C口在两种I/O工作方式下各位定义,(1)基本I/O方式,(2)选通I/O方式 (见右图),a.选通I/O输入 b.选通I/O输出,3. 内部定时器/计数器及使用,14位的减1定时器/计数器,计数长度和计数方式 由写入计数寄存器的控制字来确定。,计数器的两个寄存器的格式如图9-16。,T13T0:计数器长度,M2、M1:设置定时器的4种工作方式,4种工作方式及相应输出波形如图9-17。,MCS-51与8155H接口及软件编程,1.MCS-51与8155H的硬件接口电路,2. 8155H的编程举例,(1) 初始化程序设计,例9-6:若A口定义为基本输入方式,B口定义为基本输出方 式,对输入脉冲进行24分频,初始化程序如下:,START:MOV DPTR, 7F04H ;指针指向定时器低8位 MOV A,18H ;计数初值24送A, MOVX DPTR,A ;计数初值低8位装入定时器,INC DPTR ;指针指向定时器高8位 MOV A,40H ;设定时器连续方波输出 MOVX DPTR,A ;计数初值高6位装入定时器,MOV DPTR,7F00H ;指向命令/状态口 MOV A,#0C2H ;设定命令控制字 MOVX DPTR,A ;A口输入,B口输出,开定时器,动态接口,例9-7:,共阴极数码管,假设:共阴极数码管 8155端口地址:控制口:7F00H,A口:7F01H, B口:7F02H; 6位要显示的数据存放于内部RAM 78H-7DH单元中; 初始化控制字为03H ,A口为输出口,B口为输出口 (P202) 段码表存于DDSEG中。 操作步骤: 初始化8155(往控制口送入控制字03H); 准备要显示的数据(78H首地址送入R0中); 给A口送入位选字00100000B(左边先亮,以后右移即可); 查表获取要显示的第一位数据的段码送入B口,延时10ms; 所有数据显示完吗?否则地址加一,位选字右移,下位显示。,KKOU DATA 7F00H :8155命令口地址 AKOU DATA 7F01H ;8155A口地址 BKOU DATA 7F02H ;8155B口地址 . DISP:MOV R0,78H ;显示数据首地址送R0 MOV A,03H ;A口、B口均为输出口 MOV DPTR,KKOU MOVXDPTR,A ;8155初始化 MOV R3,00100000B ;使显示器最左边位亮 NEXT: MOV DPTR,AKOU ;数据指针指向A口 MOV

温馨提示

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

评论

0/150

提交评论