1 / 83

第三章 人机对话与数据通信

第三章 人机对话与数据通信. 键盘 LCD 显示器 触摸屏技术 串行总线数据通信. 3.1 键盘. 键盘的种类:键盘上闭合键的识别是由专用 硬件实现的,称为编码键盘,靠软件实现的称为非编码键盘。 键盘的接口必须解决下列的一些问题: ( 1 )决定是否有键按下; ( 2 )如有键按下,决定是哪一个键被按下; ( 3 )确定被按键的读数; ( 4 )反弹跳 — 按键抖动的消除。 ( 5 )处理同时按键既同时有一个以上的按键。. 3.1.1 非编码键盘. +V. 1. 独立连接式非编码键盘. 10k Ω*4. µ P. 接 口.

meara
Download Presentation

第三章 人机对话与数据通信

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第三章 人机对话与数据通信 键盘 LCD显示器 触摸屏技术 串行总线数据通信

  2. 3.1 键盘 • 键盘的种类:键盘上闭合键的识别是由专用 硬件实现的,称为编码键盘,靠软件实现的称为非编码键盘。 • 键盘的接口必须解决下列的一些问题: • (1)决定是否有键按下; • (2)如有键按下,决定是哪一个键被按下; • (3)确定被按键的读数; (4)反弹跳—按键抖动的消除。 (5)处理同时按键既同时有一个以上的按键。

  3. 3.1.1 非编码键盘 +V 1. 独立连接式非编码键盘 10kΩ*4 µP 接 口

  4. +5V 10KΩ*3 行 码 列 码 8 9 A B 0键:1 1 0 1 1 1 0 x2 行 线 1键:1 1 0 1 1 0 1 4 5 6 7 x1 2键:1 1 0 1 0 1 1 0 1 2 3 x0 3键:1 1 0 0 1 1 1 4键:1 0 1 1 1 1 0 y0 y1 y2 y3 5键:1 0 1 1 1 0 1 列线 A键:0 1 1 1 0 1 1 2.矩阵式非编码键盘 行扫描法 线反转法 识别按键的方法 CPU CPU

  5. +5V +5V 1 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 并 行 接 口 并 行 接 口 +5V +5V 线反转法

  6. PA7 PA6 PA5 PA4 PA3 P2.7 CE PA2 P2.0 IO/M PA1 WR WR PA0 5.1K×4 0 1 2 3 4 5 6 7 RD RD PC0 ALE ALE 8 9 10 11 12 13 14 15 PC1 P0 D0~D7 16 17 18 19 20 21 22 23 +5V PC2 24 25 26 27 28 29 30 31 PC3 8031 8155 20µF RESET +5V 1K 非编码键盘接口

  7. 3.1.2 键盘信号的获取方法有三种: 程序扫描法、定时扫描法、中断扫描法。 思路如下:首先判断是否有键按下,如果有则延时一段时间,再判断是否有键按下,以便于消除电路抖动和消除干扰信号。一般按键的时间至少有十几毫秒,而干扰的时间都很短。只要两次判断都有键按下,才被确认是真有键按下。当确认有键按下后,再逐行或逐列扫描判断按键的位置。

  8. 3.1.2 键盘信号的获取方法有三种: 1.程序控制扫描方式: 只有当单片机空闲时,才调用键盘扫描子程序,响应键盘的输入请求。

  9. 3.1.2 键盘信号的获取方法有三种: 2. 定时扫描方式:即每隔一定的时间对键盘扫描一次。单片机可产生10ms的定时中断,对键盘进行扫描,能及时响应键入的命令或数据。

  10. 3.1.2 键盘信号的获取方法有三种: 3. 中断扫描方式:为了提高CPU 的工作效率,当键盘上有键闭合时产生中断请求,CPU 响应中断,执行中断服务程序,判别键盘上闭合键的键号,并作相应的处理。

  11. 3.1.3 编码键盘 编码键盘的基本任务是识别按键,提供按键读数,一个高质量的编码键盘还应具有反弹跳、处理同时按键等功能. 静态编码器—普通编码器如74148 可编程键盘/显示接口 如8279

  12. A0’ A1’ A2’ 键 1 1 1 0 0 110 0 1 1 0 1 0 1 0 1 0 1 0 00 0 11 1 1 0 1 2 3 4 5 6 7 0 A2 10 A2’ 6 1 11 A1 A1’ • 静态式编码器接口 2 7 12 3 A0 13 A0’ 9 4 1 74148 5 EI 2 8 6 3 7 4 a)接口电路 b)真值表

  13. 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 CLK RL7 RL6 RL5 RL4 RL3 RL2 RL1 RL0 A0 ALE 74LS373 8051 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 D0 D1 D2 D3 D4 D5 D6 D7 SL0 SL1 SL2 74LS 138 Y0~Y7 BIC 8708 8279 VCC CS P2.7 +5V dp g e a c d WR b f WR B0 B1 B2 B3 A0 A1 A2 A3 RD RD BIC 8708 INT1 IRQ 20µF RESET +5V CNTL 2K SHIFT +5V

  14. 8279可编程键盘/显示器接口芯片 • 键盘部分:可为64按键阵列(可扩展为128)提供扫描接口;能够消除键抖动影响;具有对按键同时按下的保护;能把键信息存入8个字符先进先出栈FIFO; 可向CPU发中断申请,得到响应后,使CPU获取按键信息;也可接受CPU对键信息的查询。

  15. 8279可编程键盘/显示器接口芯片 • 显示部分:有16字节显示RAM,可用于刷新显示;显示RAM可由CPU直接读写;8279对显示RAM能够以地址自动增1方式进行读/写;显示方式具有从显示器左端或右端送入两种。

  16. 8279可编程键盘/显示器接口芯片

  17. 8279 的操作方式是由CPU向8279送入命令来设定的:

  18. 8279 的操作方式是由CPU向8279送入命令来设定的:

  19. 8279 的操作方式是由CPU向8279送入命令来设定的:

  20. 8279 的状态字: 用于键盘方式,指示FIFO RAM中字符数以及 有无错误发生: Du 显示无效特征位,当清除显示RAM或全清命令未完成时, Du =1. S/E 传感器信号结束/错误特征位 O,U 超出、不足特征位,当FIFO RAM 已满,其他键数据还企图写入FIFO RAM 时,则使O=1;当FIFO RAM 已置空,CPU还企图读出时,则使U=1. F 是FIFO满标志位. NNN 表示FIFO RAM中的字符数。

  21. 在键盘扫描方式下,8279 FIFO的键输入 数据格式为: RETURN 为键所在的行号,有RL0-7状态确定; SCAN为键所在的列号,有SL0-3 状态确定; SHIFT为移位键的状态位,常用于上、下挡控制键的状态; CNTL为控制键的状态位,常用于与其他键连用作为特殊命令。

  22. 8279 内部译码和外部译码: 在键盘显示器工作方式下,SL0-3为键盘的列扫描线和动态显示的位选线; 当选择内部译码器时, SL0-3每一时刻只有一位为低电平输出; 当选择外部译码器时, SL0-3为计数器分频输出,需外接译码器;

  23. 8279 应用举例: 给出8031单片机利用8279管理键盘显示器的编码键盘系统。 2*8键盘,8位LED显示器,由8279扫描线SL0~SL2经3-8译码器译码输出和提供行扫描 信息,以及LED位选信号。

  24. 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 CLK RL7 RL6 RL5 RL4 RL3 RL2 RL1 RL0 A0 ALE 74LS373 8051 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 D0 D1 D2 D3 D4 D5 D6 D7 SL0 SL1 SL2 74LS 138 Y0~Y7 BIC 8708 8279 VCC CS P2.7 +5V dp g e a c d WR b f WR B0 B1 B2 B3 A0 A1 A2 A3 RD RD BIC 8708 INT1 IRQ 20µF RESET +5V CNTL 2K SHIFT +5V

  25. 程序清单如下: MAIN: MOV SP,#60H ;设栈底 CLR EA ;关中断 MOV DPTR,#7FFFH ;指向命令口 MOV A,#0D1H ;总清除命令11010001 MOVX @DPTR,A ;总清除命令送入 LD: MOVX A,@DPTR ;读入状态字 JB ACC.7,LD ;Du=1显示无效等待 MOV A,#00H ;键盘显示器命令 MOVX @DPTR,A ;命令送入 MOV A,#2AH ;时钟十分频命令00101010 MOVX @DPTR,A ;命令送入 MOV DPTR,#DISBH;提示符“bH-706”字符代码表首址 LCALL DIS ;调提示符显示

  26. MOV 20H,#80H ;20H作键盘数据缓冲区单元 设D7=1时为空 SETB IT1 ;外部中断,下降沿触发 SETB EA ;CPU中断允许 SETB EX1 ;INT1中断允许 ATT: MOV B,#03H ;扩展程序入口地址表间隔 ACALL RDKEY MOV DPTR,#KPRG;键功能程序入口地址表首址 MUL AB JMP @A+DPTR ;键功能程序散转 INT1中断服务子程序: INT: MOV A,#40H ;读FIFO FAM命令01000000 MOV DPTR,#7FFFH;指向命令口 MOVX @DPTR,A ;命令送入

  27. MOV DPTR,#7FFEH;指向数据口 MOVX A,@DPTR ;FIFO RAM键值读入 MOV 20H,A ;键值送入20H单元 RETI RDKEY: MOV A,20H JNB ACC.7,K1 ;键盘数据缓冲区单元已有 键值,转子程序结束 SETB EA SJMP RDKEY;键盘数据缓冲区单元20H空 转等待 K1: MOV 20H,#80H;键盘数据缓冲区单元置空标志 CLR EA ;关CPU中断 RET

  28. KPRG:LJMP KPRG0 LJMP KPRG1 LJMP KPRG2 LJMP KPRGF KPRG0:…………….. ……………… LJMP ATT KPRG1:…………….. ……………… LJMP ATT …. KPRG0:…………….. ……………… LJMP ATT

  29. DIS: PUSH DPH ;提示符代码地址入栈保护 PUSH DPL MOV R2,#08H ;8位显示器 MOV A,#90H ;写显示命令10010000 MOV DPTR,#7FFFH;指向命令口 MOVX @DPTR,A ;命令送入 POP DPL POP DPH TI: MOV A,#00H ;采用固定偏移量查表 MOVC A,@A+DPTR;查提示符代码表 PUSH DPH PUSH DPL MOV DPTR,#TAB;指向段选码表首地址 MOVC A,@A+DPTR;查选段码

  30. MOV DPTR,#7FFEH;指向数据口 MOVX @DPTR,A ;段选码送入显示RAM POP DPL POP DPH INC DPTR ;指向下一个提示符代码地址 DJNZ R2,TI ;8位段选码未送完,继续送 RET ;8位段选码已送完,结束 DISBH: DB 0BH,12H,14H,07H,00H,06H, DB 17H,17H,; “bH-706”代码 TAB: DB 3FH,06H,5BH,4FH,66H,6DH, DB 7DH,07H,7FH,6FH,77H,7CH, DB 39H,5EH,79H,71H,73H,3EH, DB 76H,38H,40H,6EH,FEH,00H,

  31. 3.2 数码显示技术 3.2.1 LCD数码显示 • 液晶显示是一种功耗极低的被动式显示器件。其优点为:工作电流比LED小几个数量级,尺寸小,厚度约为LED的1/3等。 • LCD的驱动方式:驱动方式由电极引线的选择确定。既LCD选定后,其驱动方式也就随之确定了。 • 静态驱动 • 迭加驱动(时分驱动)

  32. 3.2 数码显示技术 3.2.1 LCD数码显示 • 液晶显示是一种功耗极低的被动式显示器件。其优点为:工作电流比LED小几个数量级,尺寸小,厚度约为LED的1/3等。 • LCD的驱动方式:驱动方式由电极引线的选择确定。既LCD选定后,其驱动方式也就随之确定了。 • 静态驱动 • 迭加驱动(时分驱动)

  33. LCD 1 A VB VC =1 C B V`A-VC 不显示 显 示 3.2.1、七段LCD显示器 VA` A` • 静态驱动方式 异或门 A端接交变的方波信号,B端接控制该段显示状态的信号。 迭加驱动方式: 迭加驱动方式通常采用电压平均法。在此不祥述。

  34. 硬件译码的LCD驱动接口---ICM7211 ICM7211 AMIPL是MAXIM公司生产的用于段码式液晶驱动的专用芯片,具有与微机良好的接口,功耗小,有方波驱动输出,可级联以驱动超过四位的液晶片,是现在市场上一种比较实用的液晶驱动芯片。

  35. 第4位段输出 第3位段输出 第2位段输出 第1位段输出 七位宽 驱动器 七位宽 驱动器 七位宽 驱动器 七位宽 驱动器 输入 数据 4位 锁存使能 DS1 DS2 2位 锁存使能 2/4 译码器 CS1 CS2 one shot 七位宽 锁存器 七位宽 锁存器 七位宽 锁存器 七位宽 锁存器 ≥1 背光板驱动器 振荡器 ÷128 BP 输入/输出 振荡器 输入 使能检测器 可编程 4/7译码器 可编程 4/7译码器 可编程 4/7译码器 可编程 4/7译码器 DS1,DS2经一个2-4译码器产生4位LCD位选信号,相当于芯片地址选择端;CS1,CS2为译码器和输入数据锁存器的控制端,当其为低电平时,2位锁存器和输入数据寄存器才有效,在CS1 CS2的上升沿,数据被锁存、译码并存入输出驱动器中。 硬件译码的LCD驱动接口---ICM7211

  36. =1 =1 =1 =1 BP ICM7211 D0 D1 D2 D3 DS1 DS2 CS1 CS2 P1.1 P1.2 P1.3 P1.4 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P2.7 WR 单 片 机 ICM7211AM与8031单片机的接口 小数点驱动 异或门 方波 输出

  37. E 控制器 LCD 显 示 屏 R/W RS DB0DB7 驱 动 器 VDD VO VSS 3.2.2、字符式LCD显示器 • LCM-512-01A点阵字符式液晶显示模块: 自带驱动IC和液晶显示控制IC。该模块上的控制器是HD44780,内部有字符发生器和显示数据存储器,可显示96个ASCII字符和92个特殊字符。

  38. 二. 模块各管脚的功能为: • ①Vss: 地线输入端。 • ②VDD: +5V电源输入端。 • ③Vo: 液晶显示面板亮度调节,通过10~20K的电阻接到+5V和地之间起调节亮度的作用。如图3-13所示为Vo的接法。 • ④RS:寄存器选择信号输入线。当其为低电平时,选通指令寄存器;为高电平时选通数据寄存器。 • ⑤R/W:读/写信号输入线。低电平为写入,高电平为读出。 • ⑥E:使能信号输入线。读状态下,高电平有效;写状态下,下降沿有效。 • ⑦~(14) D0~D7:数据总线。可以选择4位总线或8位总线操作,选择4位总线操作时使用D4~D7。

  39. 三、HD44780指令集 1.清显示命令: 0 0 0 0 0 0 0 1(执行时间1.64ms) 2.光标返回命令: 0 0 0 0 0 0 1 *(执行时间1.64ms) 3.输入方式: 0 0 0 0 0 1 I/D S(执行时间40µs) 设置光标、显示画面移动的方向。I/D=1,地址计数器AC自动加1,光标右移一个字符位。S=0无效,S=1有效。 4.显示开关控制: 0 0 0 0 1 D C B 其中:D=1时开显示;D=0时关显示 C=1时光标显示;C=0时光标消失 B=1为闪烁启用;B=0时闪烁关闭 5.光标、显示画面移动: 0 0 0 1 S/C R/L * * 其中:S/C=1为显示画面位移;S/C=0为光标位移 R/L=1为右移;R/L=0为左移 6.功能设置: 0 0 1 DL N F * * 其中:DL=1表示数据总线有效位长为8位;DL=0表总线为4位 N=1表示字符行为两行;N=0表示字符行为一行. F=1表示字体为5×10点阵;F=0为5×7点阵.

  40. 7.CGRAM地址设置: 0 1 A5 A4 A3 A2 A1 A0 8.DDRAM地址设置: 1 A6 A5 A4 A3 A2 A1 A0 9.读BF及AC值: BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 10.写数据 D D D D D D D D 11.读数据 D D D D D D D D

  41. P0.0~0.7 80C31 DB7~0 R/W 373 RS 138 + E RD WR 液晶显示模块与8031接口电路

  42. 3.2.3 图形式LCD显示器 需要显示信号的波形或显示大量 汉字时应采用图形式液晶显示器。 MGLS-19264是内含HD61202的 液晶显示屏, HD61202液晶显示驱动 器是一种点阵图形式液晶显示驱动器 它可直接与8位微处理器相联,它与 HD61203配合对液晶屏进行行、列驱 动。

  43. Vcc 61203A 192×64点 GND 64 Vo 64 64 64 /CSA 61202 61202 61202 /CSB DB0~7 D/I R/W E • 一、MGLS-19264模块的内部电路结构

  44. 二、引出线的功能 • 1.VCC:模块+5V电源输入端。 • 2.GND:地线输入端。 • 3.VO: 显示亮度调节。 • 4.CSA、CSB:芯片选择控制。其值为00时选通HD61202(1),即选择左屏有效;值为01时选通HD61202(2),即选择中屏有效;值为10时选通HD61202(3),对应的选择右屏有效。 • 5.D/I:数据、指令选择。D/I=1时进行数据操作;D/I=0时写指令或读状态。 • 6.R/W:读写选择信号。R/W=1为读选通;R/W=0为写选通。 • 7.E:读写使能信号。在E的下降沿,数据被写入HD61202;在E高电平期间,数据被读出。 • 8.DB0~DB7:数据总线。

  45. MGLS 19264模块中有三个列驱动器,该显示屏分成左、中、右三个显示屏。 • 从显示RAM的地址结构图可看出,显示屏是按页显示的。每次从数据总线上送来的数据对应显示屏的8行、1列。

  46. Y address 0 1 2 3 61 62 63 ROW1 ROW8 X=0 ROW9 ROW16 X=1 ROW49 ROW56 X=6 ROW57 ROW64 X=7 PAGE0 PAGE1 PAGE7 PAGE6 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 三、HD61202显示RAM的地址结构

  47. 四.HD61202的指令系统 • R/W D/I B7 B6 B5 B4 B3 B2 B1 B0 • 0 0 0 0 1 1 1 1 1 1/0 • 0 0 1 1 显示起始行(0-63) • 0 0 1 0 1 1 1 页号 • 0 0 0 1 显示列地址 • 1 1 BUSY 0 ON/OFF RESET 0 0 0 0 • 0 1 写数据 • 1 1 显示数据读 • 1.显示开/关指令 • DB0=1时显示RAM内容 • 2.显示起始行设置 • 3.页设置指令 • 4.列地址设置指令 • 5.读状态指令 • BUSY=1表忙; ON/OFF=1显示关闭; RESET=1复位状态 . • 6.写数据指令 • 7.读数据指令

  48. 五、直接访问方式接口电路 80C31 P0.0~P0.7 DB0~DB7 A0 D/I 373 A1 R/W 液晶模块 +5V VCC V0 RD WR 10KΩ E P2.7 P2.6 /CSA /CSB

More Related