第6章 键盘、显示接口技术 6.1 键盘及其与计算机接口 6.2 独立式按键接口设计 6.3 矩库式键盘接口设计 6.4 LED显示器及接口设计 6.5 LCD显示器及接口设计
第6章 键盘、显示接口技术 6.1 键盘及其与计算机接口 6.2 独立式按键接口设计 6.3 矩阵式键盘接口设计 6.4 LED显示器及接口设计 6.5 LCD显示器及接口设计
6.1键盘、显示与计算机接口 键盘输入数据和命令,显示用于计算机的状态、命 令和计算结果。 、键盘 单片机键盘有两种: 一种是全编码键盘,其键码全由硬件提供,但是这 种方式硬件结构复杂,成本高: 另一种是非编码键盘,这种键盘多采用矩阵方式, 利用软件识别键码及完成各种键功能处理。 单片机系统中多采用非编码键盘
6.1 键盘、显示与计算机接口 键盘输入数据和命令,显示用于计算机的状态、命 令和计算结果。 一、键盘 单片机键盘有两种: 一种是全编码键盘,其键码全由硬件提供,但是这 种方式硬件结构复杂,成本高; 另一种是非编码键盘,这种键盘多采用矩阵方式, 利用软件识别键码及完成各种键功能处理。 单片机系统中多采用非编码键盘
二、显示器 1.LED显示器 内部由发光二极管组成段显示。 数码管结构又分为共阳极型和共阴极型。 2.LCD液晶显示器 常用的LCD可分为字符型和点阵型两大类。 字符型可用来显示字符和数字, 点阵型可用来显示汉字及图形
二、显示器 1. LED显示器 内部由发光二极管组成段显示。 数码管结构又分为共阳极型和共阴极型。 2. LCD液晶显示器 常用的LCD可分为字符型和点阵型两大类。 字符型可用来显示字符和数字, 点阵型可用来显示汉字及图形
6.2独立式按键接口设计 、 独立式键盘接口电路 1.接口与数据 +5 每个按键单独占有一根I/O P1.0 接口引线。 P1.1 输入每根VO接口引线的信号 对应某个数据。 P1.7
6.2 独立式按键接口设计 一、独立式键盘接口电路 P1.0 P1.1 P1.7 1 +5v . 接口与数据 每个按键单独占有一根I/O 接口引线。 输入每根I/O接口引线的信号 对应某个数据
2,键盘的可靠性 消除抖动电路 1 60 抖动时间 100ms & 开关 +5v 醬 单片机 消除抖动电路
2. 键盘的可靠性 消除抖动电路 & I/O 接 口 & +5v +5v 消除抖动电路 开关 单 片 机 抖动时间 <10ms 开关动作时间 >100ms “ 1 ” “ 0 ” <10ms
二、独立式按键接口程序设计 键盘处理程序任务 1)键输入 检查键盘是否有键被按下,消除按 键抖动。确定被按键的键号,获取键号。 有按键信号?N 硬件电路消除抖动或软件消除抖动。 2)键译码 延时等待10ms 键号为键盘位置码,根据键号查表 得出被按键的键值。键值:数字键0~9、 仍有按键信号? 字符键OAH~OFH、功能键1OH~。 3)键处理 键盘处理 根据键值转移到不同程序段。若键 值属于数字、字符键,则调用显示数字 按键释放? 和字符的子程序。若键值属于功能键, Y 则进行多分支转移,执行各个功能程序 段
二、独立式按键接口程序设计 键盘处理程序任务 1)键输入 检查键盘是否有键被按下,消除按 键抖动。确定被按键的键号,获取键号。 硬件电路消除抖动或软件消除抖动。 2)键译码 键号为键盘位置码,根据键号查表 得出被按键的键值。键值:数字键0~9、 字符键0AH~0FH、功能键10H~ 。 3)键处理 根据键值转移到不同程序段。若键 值属于数字、字符键,则调用显示数字 和字符的子程序。若键值属于功能键, 则进行多分支转移,执行各个功能程序 段。 延时等待10ms 仍有按键信号? Y 有按键信号? N Y N 键盘处理 按键释放? N Y
三、单键管理程序 KEY: SETB P1.0 JB P1.0,KEY ;有键按下P1.00 KEY1:ACALL DELAY 延时,防止抖动 SETB P1.0 JB P1.0.KEY1 键是否释放 JNB P1.0.KEY1 消除了连击功能 JB P1.0.KEY1 ;连击功能 ACALL PROGRAM AJMP KEY
三、单键管理程序 KEY: SETB P1.0 JB P1.0, KEY ;有键按下P1.0=0 KEY1: ACALL DELAY ;延时,防止抖动 SETB P1.0 JB P1.0, KEY1 ;键是否释放 JNB P1.0, KEY1 ;消除了连击功能 JB P1.0, KEY1 ;连击功能 ACALL PROGRAM ; AJMP KEY
6.3矩阵式键盘 .0 P +5v 由多条I/O接口引线组成矩 P1.4 阵式键盘。 P15 键盘 Vo接口 0
6.3 矩阵式键盘 0 1 +5v P1.0 P1.1 P1.4 P1.5 键盘 I/O接口 由多条I/O接口引线组成矩 阵式键盘
一、键的输入方法 1.扫描法 列线输出,行线输入。 列线逐行输出0,某行有按键,行线输入有0,若 无按键,行线输入全部为1。 2.反转法 行列线交换输入、输出,两步获取按键键号。 3.中断扫描方式 有按键按下时发出中断请求信号,提高CPU的效 率
1. 扫描法 列线输出,行线输入。 列线逐行输出0,某行有按键,行线输入有0,若 无按键,行线输入全部为1。 2. 反转法 行列线交换输入、输出,两步获取按键键号。 3. 中断扫描方式 有按键按下时发出中断请求信号,提高CPU的效 率。 一、键的输入方法
二、按键处理 程序: 有按键输入? 四 延时消抖 y 确有按键? 亚 键扫描求键号 s 延时等待 按键释放? 键译码求键值 是数字键? 亚 修改显示缓冲区 跳转各功能程序
二、按键处理 程序: 延时消抖 键扫描求键号 延时等待 键译码求键值 修改显示缓冲区 跳转各功能程序 有按键输入? 确有按键? 按键释放? 是数字键?