第7章 键盘和显示接口技术(键盘)
键盘、显示及其接口技术幻灯片

RAM的22H~27H六个单元依次放置六位别离 的BCD码。
上一页 下一页
返回本节
3.3 HD7279键盘、显示智能控制芯片
是一片具有串行接口的可同时驱动8位共阴式数 码管〔或64只独立LED〕的智能显示驱动芯 片, 该芯片同时还可连接多达64键的键盘矩阵,单片 即可完成LED显示、键盘接口的全部功能。 HD7279键盘、显示智能控制芯片。
动
上一页 下一页
返回本节
3.1.2 独立式键盘接口
独立式按键是指直接用I/O口线构成的单个按 键电路。每根I/O口线上按键的工作状态不会影 响其他I/O口线的工作状态。独立式按键电路如 图3-3所示。
上一页 下一页
返回本节
3.1.3 行列式键盘
1.键盘工作原理 在键盘中按键数量较多时,为了减少I/O口的占用,通
上一页 下一页
按键开关的抖动问题
组成键盘的按键有触点式和非触点式两种,单
片机中应用的一般是由机械触点构成的。如图3
-1所示。
由于按键是机械触点,当机械触点断开、闭合
时,会有抖动,P1.0输入端的波形如图3-2所
示。
常用去抖动方法:
〔1〕硬件方法 增加去抖动电路。
〔2〕软件方法 采用软件延时(10ms)躲过抖
上一页 下一页
2.键盘扫描方式 行扫描法 行扫描法又称为逐行〔或列〕扫描查询法,
是一种最常用的按键识别方法。 (1)判断键盘中有无键按下 将全部行线Y0-Y3置低电平,然后检测列线的状态。只 要有一列的电平为低,那么表示键盘中有键被按下,而且 闭合的键位于低电平线与4根行线相穿插的4个按键之中。 假设所有列线均为高电平,那么键盘中无键按下。 (2)判断闭合键所在的位置
第7章 MCS-51单片机常用接口技术

图7.3 用8031的P1口设计的4×4键盘
第7章 MCS-51单片机常用接口技术
7.1.2 键盘按键识别方法
首先在键处理程序中将P1.3~P1.0依次按位变低, P1.3~P1.0在某一时刻只有一个为低。在某一位为低时读行线, 根据行线的状态即可判断出哪一个按键被按下。 如9号键按下时,当列线P1.2为低时,读回的行线状态中 P1.4被拉低,由此可知2号键被按下。 一般在扫描法中分两步处理按键,首先是判断有无键按下, 即使列线(P1.3~P1.0)全部为低,读行线,如行线 (P1.4~P1.7)全为高,则无键按下,如行线有一个为低,则 有键按下。当判断有键按下时,使列线依次变低,读行线,进 而判断出具体哪个键按下。
第7章 MCS-51单片机常用接口技术
7.2.2 LED显示器接口及显示方式
表7.2 段选码、位选码及显示状态表
段选码 (字型) F9H A4H B0H 99H 92H 位选码 P2.4~P2.0 11110 11101 11011 10111 01111 1 2 3 4 5 显示器显示状态
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
图7.6为LED显示器的内部结构及外形。
(a)共阴极 (b)共阳极 (c)LED实物 图7.6 LED显示结构及实物
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
7段LED显示数字0~F,符号等字型见表7.1,其中a段为最 低位,dp为最高位。
第7章 MCS-51单片机常用接口技术
单片机原理及应用教程
第 7章 MCS-51单片机常用接口技术
主 编 范立南 谢子殿 副主编 刘 彤 尹授远 李雪飞
第7章 MCS-51单片机常用接口技术
《键盘接口技术》课件

键盘接口技术的发展趋势
模块化:模块化键盘设计, 用户可以根据需求自由组合
智能化:智能键盘具备更多功 能,如语音输入、手势识别等
无线化:无线键盘逐渐普及, 摆脱线缆束缚
环保化:采用环保材料制作, 减少对环境的影响
定制化:根据用户需求,提 供个性化定制服务
集成化:与其他设备集成, 如平板电脑、智能手机等
键盘接口技术的工作原理主要包括信号采集、信号处理和信号输出三个步骤。信号采集是将键盘的输入信号转换为计算机可以识别的 数据,信号处理是将这些数据转换为计算机可以识别的命令,信号输出是将这些命令输出到计算机的硬件和软件中。
键盘接口技术的应用广泛,包括计算机、手机、平板电脑等设备。
键盘接口技术的电路原理
键盘接口技术
汇报人:
目录
添加目录标题
01
键盘接口技术概述
02
键盘接口技术的原理
03
键盘接口技术的实现 方式
04
键盘接口技术的应用 场景
05
键盘接口技术的发展 趋势与未来展望
06
添加章节标题
键盘接口技术概 述
键盘接口技术的定义
键盘接口技术是计 算机硬件和软件之 间的通信协议
键盘接口技术定 义了键盘如何与 计算机通信
键盘接口技术包 括硬件接口和软 件接口
键盘接口技术支持 多种键盘类型,如 机械键盘、薄膜键 盘等
键盘接口技术的分类
PS/2接口:最早出现的键盘接口,传输速率较低 USB接口:目前最常用的键盘接口,传输速率较高,支持热插拔 无线键盘接口:通过蓝牙或无线网络连接,无需线缆,使用方便 机械键盘接口:专为机械键盘设计的接口,传输速率高,响应速度快
智能机器人:通过键盘输入指令,实现 机器人的移动、抓取、避障等功能
《计算机控制技术》课程教学大纲

计算机控制技术课程教学大纲Techno1ogyofMicrocomputercontro1学时数:40其中:实验学时:0课外学时:0学分数:2.5适用专业:电气工程与自动化专业或其它相关专业一、课程的性质、目的和任务本课程是自动化类各专业的“主干专业课程”,属工程技术类课程。
通过本课程的学习,使学生了解和掌握以微型机为核心组成的控制系统的硬件、软件基础知识,以及基本的应用技术。
并具备独立设计计算机控制系统的能力,为今后从事工业自动化方面的工作打下一个基础。
二、课程教学的基本要求(一)熟练掌握计算机控制系统的组成与接口技术;(二)掌握和理解计算机控制系统的常用控制算法;(H)熟练掌握计算机控制系统的设计方法和实现过程;(四)了解计算机控制技术的发展趋势及前沿课题。
三、课程的教学内容、重点和难点第一章微型计算机控制系统概述(4学时)基本内容:计算机控制系统的概念、组成,计算机控制系统的分类以及发展。
基本要求:1、熟悉微机控制系统的组成(硬件结构和软件组成)。
2、了解微机控制技术的发展趋势。
重点:计算机控制系统的发展概况。
难点:计算机控制系统的分类。
第二章计算机控制系统的过程通道接口技术(6学时)基本内容:数字量输入、输出通道的设计,模拟量输入通道的设计,模拟量输出通道的设计。
基本要求:1、掌握模拟量输入、输出通道的设计。
2、掌握数字量输入、输出通道的设计。
3、了解过程通道的结构形式。
能够根据控制系统要求选择输入输出通道中所用到的各种器件,掌握工作原理和使用方法。
能正确地绘制出系统的硬件电路原理图。
重点:采样/保持器、D/A转换器、A/D转换器接口设计难点:采样定理与数据采集第三章人机交互接口技术(4学时)基本内容:人机交互输入接口技术,人机交互输出接口技术。
基本要求:1、掌握常用键盘和常用1ED显示器的工作原理及接口设计方法。
2、能够根据控制系统要求正确的设计出键盘和显示器的接口电路,以及接口程序设计。
输入输出接口总论

无条件传送:输入实例
74LS244
10K x 8 +5V
数据总线
CS 160H RD
G1 G2
MOV DX, 160H IN AL, DX
无条件传送:输出实例
300 x 8
数据总线
74LS373
CS160H WR
LE OE
+5V
MOV DX, 160H MOV AL, [BX] OUT DX, AL
(3)对I/O端口进行寻址 (4)与CPU和I/O设备进行联络:如采用何
种传送方式与CPU互换数据(中断传送等)
(2) I/O接口旳经典构造
数据总线DB
地址总线AB CPU
控制总线CB
I/O接口电路 数据寄存器 状态寄存器 控制寄存器
数据 状态 外设 控制
1. 接口电路旳外部特征
接口电路旳外部特征主要体目前引脚上, 提成两侧信号 面对CPU一侧旳信号:
用于与CPU连接 主要是数据、地址和控制信号
面对外设一侧旳信号:
用于与外设连接 提供旳信号五花八门 功能定义、时序及有效电平等差别较大
2. 接口电路芯片旳分类
接口电路关键部分往往是一块或数块大规 模集成电路芯片(接口芯片):
通用接口芯片
支持通用旳数据输入输出和控制旳接口芯片
面对外设旳专用接口芯片
针对某种外设设计、与该种外设接口,如显 卡、声卡等
主程序
中断祈求 断点
中断服务程序
对外设 进行处理
继续执行
返回断点
流程
中断传送流程
返回
中断传送与接口
中断传送是一种效率更高旳程序传送方式
中断祈求是外设随机向CPU提出旳,而进行 传送旳中断服务程序是预先设计好旳
显示与键盘接口技术

利用定时/计数器每隔一段时间产生定时中断,CPU响应中 断后调用键盘扫描子程序来实现按键输入。
特点:与程序控制扫描方式的区别是,在扫描间隔时间内, 前者用CPU工作程序填充,后者用定时/计数器定时控制。注意 定时时间不能太长,否则会影响对键输入响应的及时性。
⑶ 中断控制方式
中断控制方式是利用外部中断源,响应键输入信号。
显示与键盘接口技术
显示与键盘接口技术
显示与键盘接口技术
(三)、绘制电路原理图并仿真
1、用Keil编译器编译连接产生调试文件(.hex文件)
2、打开Proteus Professional软件。 3、从Proteus元件库中选取元器件。
[AT89C51(单片机) , CAP(电容) , CRYSTAL(晶振), RES(电 阻), 7406, CAP-ELEC(电解电容), RESPACK-8 (排阻), 7SEGMPX4-CA (共阳极数码管) ,BUTTON(按键)]。 4、放置元器件、电源和地并连线。 5、设置元器件属性。按电路所需设置元器件的属性值。 6、加载目标代码文件。注意将Clock Frequency栏中的频率设为 12MHz。 7、单击仿真启动按钮,全速运行程序。 8、观察并记录LED显示的数字,注意观察按下按键,LED上是 否能显示相应按键的键号,即完成键盘输入及按键识别功能。
7406 、7SEG-MPX4-CA (4位共阳极数码管) ]。
4、放置元器件、电源和地并连线。
5、设置元器件属性。按电路所需设置元器件的属性值。
6、加载目标代码文件。注意将Clock Frequency栏中的频率设
为12MHz。
7、单击仿真启动按钮,全速运行程序。
8、观察并记录4位数码管的计时现象,注意观察是否能实现所
第7章 输入输出接口技术

DMA控制器来管理,CPU可去干其他工作(但不能访
问系统总线)。
CPU
HOLD HLDA
DRQ DMA控制器 AEN IOW DACK
MEMR
AEN IOW
MEMR IOR
存储器
输出设备
图7-7 DMA传送原理示意图
通常,DMA控制器应该具备以下功能:
能向CPU发出要求控制总线的DMA请求信号DRQ;
7.1.3 I/O端口的编址方式
接口中的寄存器又叫做I/O端口,每一个端口有一个编 号,叫做端口号,又叫端口地址。数据寄存器就是数据端 口,用于对来自CPU和外设的数据起缓冲作用。状态寄存器 就是状态端口,用来存放外部设备或者接口部件本身的状 态。CPU通过对状态端口的访问和测试,可以知道外部设备 或接口本身的当前状态。控制寄存器就是控制端口,用来 存放CPU发出的控制信息,以控制接口和外部设备的动作。 也可以说,CPU与外部设备之间传送信息都是通过数据总线 写入端口或从端口中读出的,所以,CPU对外部设备的寻址, 实质上是对I/O端口的寻址。
(如标志位、其它寄存器等)和断点。在中断结束
返回时,再恢复现场和断点,继续执行原来的程序。
7.2.4 DMA控制方式 DMA(Direct Memory Access)传送方式又称为直 接存储器存取方式,实际上就是在存储器与外设间开辟 一条高速数据通道,使外设与内存之间直接交换数据。 这一数据通道是通过DMA控制器来实现的。在DMA传
第7章 基本输入/输出 接口技术
本章主要教学内容
输入输出接口技术的概念和功能
CPU与I/O接口之间传递的信息类型及I/O 端口的编址方式 CPU与外部设备之间数据传送方式的原理、 特点及应用
键盘、显示接口技术详解

键盘、显示接口技术键盘与计算机接口键盘是人向机器输入数据和对系统进行干预的基本设备,用于输入数据和命令,显示计算机的运行状态、命令和计算结果。
微机键盘有两种:一种是全编码键盘,其键码全由硬件提供,但是这种方式硬件结构复杂,成本高;另一种是非编码键盘,这种键盘多采用矩阵方式,利用软件识别键码及完成各种键功能处理。
考虑到简化结构,降低成本,单片机系统中多采用非编码键盘。
键盘可以分为独立式连接方式和矩阵式两类,每一类按其译码方式又可以分为编码式和非编码式。
下面我们将介绍非编码键盘的几种常用硬件电路。
独立式按键接口设计在单片机控制系统中,常常只需要用到功能键。
少量的功能键一般采用独立式结构,独立式按键是各按键相互独立的接通一条输入数据线,每个键的工作不会影响其它的I/0口,如图7-1所示。
这是较简单的键盘结构,该电路采用查询方式。
图7-1所示,当某一个键闭合时,相应的I/O口线变为低电平。
当程序查询到低电平的I/O口线时,就可以确定处于闭合状态的键。
这种键盘的优点是电路简单;缺点是当键数较多时,要占用较多的I/O线。
对图7-1采用查询方式键盘的处理程序比较简单。
程序只包括键查询、键功能程序转移。
P0F~P7F为功能程序入口地址标号,其地址间隔应能容纳JMP指令,其中PL0~PL7分别为每个按键的功能程序。
START: MOV A, #0FFH ;输入时先置口为全1MOV P1, AMOV A, P1 ;键状态输入JNB ACC.0, P0F ;0号键按下转P0F标号地址JNB ACC.1, P1F ;1号键按下转P1F标号地址JNB ACC.2, P2F ;2号键按下转P2F标号地址JNB ACC.3, P3F ;3号键按下转P3F标号地址JNB ACC.4, P4F ;4号键按下转P4F标号地址JNB ACC.5, P5F ;5号键按下转P5F标号地址JNB ACC.6, P6F ;6号键按下转P6F标号地址JNB ACC.7, P7F ;7号键按下转P7F标号地址JNP START ;无键按下就返回POF:LJMP PL0P1F:LJMP PL1::P7F:LJMP PL7 ;入口地址表PL0:…;0号键功能程序LJMP START ;0号键执行返回PL1:…LJMP START:PL7:…LJMP START由以上程序可知,各个按键由软件设置了优先级,优先顺序为0~7矩阵式键盘接口设计矩阵式键盘工作原理将I/O口线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,这就构成了矩阵式键盘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.2 键盘接口 例1:用P1口检测8个按键的状态并完成相应的功能
解:
开始 P1口初始化 N
判断是否有键按下? Y 延时10ms去抖
判断是否有键按下? Y 按键识别并执行相应代码
N
判断按键是否释放? Y
N
键盘检测流程图
7.2 键盘接口
# include <reg51.h> void delayms(unsigned int t) { unsigned int i,j; for(i=0;i<t;i++) for(j=0;j<120;j++); } void main() { P1=0xff; while(1) { while(P1==0xff); delayms(10);
7.2 键盘接口
矩阵键盘识别方法1:扫描法
unsigned char key; unsigned char scan_key( ) { P1=0xf0; if(P1!=0xf0) { delayms(10); if(P1!=0xf0) {
P1=0xfe; switch(P1) {case 0xee:key=0;break; case 0xde:key=1;break; case 0xbe:key=2;break; case 0x7e:key=3;break; }
第
Single Chip Microcomputer
章 键 盘 和 显 示 接 口
7.2 键盘接口
7.2 键盘接口
常见的按键开关
弹性按键
自锁按键
拨动开关
拨码开关
电盘和非编码键盘。 编码键盘:指键盘上闭合键的识别由专用的硬件编码 器实现,来产生键编码号或键值,如计算机键盘。 非编码键盘:是指靠软件编程来识别的键盘。 在单片机组成的系统中,用的较多的是非编码键盘。 非编码键盘又分为独立式键盘和矩阵式(行列式)键 盘。
7.2 键盘接口
P1=0xf0; //行线输出低电平,检测列号 switch(P1&0xf0) { case 0xe0:lie=0;break; case 0xd0:lie=1;break; case 0xb0:lie=2;break; case 0x70:lie=3;break; } P1=0x0f; while(P1!=0x0f); //等待按键释放 key=hang*4+lie; } return (key); }
开始 P1口初始化 N
判断是否有键按下? Y 延时10ms去抖
判断是否有键按下? Y 按键识别并执行相应代码
N
判断按键是否释放? Y
N
7.2 键盘接口
while(P1==0xff); switch(P1) { case 0xfe:key1();break; case 0xfd;key2();break; case 0xfb:key3();break; case 0xf7;key4();break; case 0xef:key5();break; case 0xdf;key6();break; case 0xbf:key7();break; case 0x7f;key8();break; default: break; } while(P1!=0xff);//等待键释放 } }
7.2 键盘接口
void main() { unsigned char temp; while(1) { temp=scan_key(); P2=0001000; //位选 P0=seg[temp]; //送字型码
}
}
7.2 键盘接口 要求按下某个按键时,数码管上显示对应的按键字符 (“0-F”)。
7.2 键盘接口
#include<reg51.h> unsigned char scan_key( ); void display(unsigned char i); void delayms(unsigned int t); unsigned char key; unsigned char a[]={0x3f,0x06,0x5b,0x4f,0x66,0 x6d,0x7d,0x07,0x7f,0x6f,0x77,0x 7c,0x39,0x5e,0x79,0x71}; void main() { while(1) { scan_key(); display(key); } } void display(unsigned char i) { P2=a[i]; } void delayms(unsigned int t) { unsigned int i,j; for(i=0;i<t;i++) for(j=0;j<120;j++); } unsigned char scan_key( ) { 参考前面 }
7.2 键盘接口
键盘接口需要解决的问题
按键识别: 1.是否有键按下
2.求键号
按键抖动及消除:
机械按键抖动时间在 5ms~10ms之间
消除方法: 软件方案——延时10ms~20ms后再次判断
7.2 键盘接口
独立式按键
接口电路:
特点:一线一键,按键识别(编程)简单; 但占用较多口线,适合8键以下使用。
7.2 键盘接口
矩阵键盘识别方法2:扫描法
unsigned char key; unsigned char scan_key() //键盘扫描 { unsigned char hang,lie; P1=0x0f; //列线输出低电平 if(P1!=0x0f) delay(10); if(P1!=0x0f) { switch(P1&0x0f) //检测行号 { case 0x0e:hang=0;break; case 0x0d:hang=1;break; case 0x0b:hang=2;break; case 0x07:hang=3;break; }
P1=0xfd; switch(P1) {case 0xed:key=4;break; case 0xdd:key=5;break; case 0xbd:key=6;break; case 0x7d:key=7;break; }
7.2 键盘接口
P1=0xfb; switch(P1) {case 0xeb:key=8;break; P1=0xf0; case 0xdb:key=9;break; case 0xbb:key=10;break; while(P1!=0xf0) ;//等待按键释放 case 0x7b:key=11;break; } } } return(key); } P1=0xf7; switch(P1) { case 0xe7:key=12;break; case 0xd7:key=13;break; case 0xb7:key=14;break; case 0x77:key=15;break; }
开始 P1口初始化 N
判断是否有键按下? Y 延时10ms去抖
判断是否有键按下? Y 按键识别并执行相应代码
N
判断按键是否释放? Y
N
7.2 键盘接口
矩阵式键盘
每个按键有它的行值和列值 ,行值和列值的组合就是 识别这个按键的编码。
0行 1行 2行 3行
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
7.2 键盘接口 判断具体的按键:
@ 逐行送低电平,检查 0行 列线电平的变化。 P1.0 @ 先送第0行为“0”, 1行 P1.1 第1、2、3行为“1”,再 2行 P1.2 读列状态值,若读入的 列值全为“1”,表示第0 3行 P1.3 行无键按下。若读入的 AT89S51 列值不全为“1”,表示 第0行有键按下,并根据 0列 P1.4 1列 列值判断具体的按键。 P1.5 @再送第1行为“0”,第0、 2列 P1.6 2、3行为“1”,再读列状 3列 P1.7 态值,依次类推,直至4 行全部扫描完,再重新 从第0行开始。
7.2 键盘接口
要求在最右端数码管上显示每个按键的“0-F”字符。
7.2 键盘接口
#include<reg51.h> unsigned char code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x8 3,0xc6,0xa1,0x86,0x8e }; unsigned char key; void delay(unsigned char a) { unsigned char i; while(a--) for(i=120;i>0;i--) ; } unsigned char scan_key( ) { 参考前面 }
AT89S51
0列 1列 2列 3列
7.2 键盘接口
矩阵键盘扫描子程序包括以下几个步骤:
1.判别有无键按下;
2.扫描获取闭合键的行、列值,确定哪一个键 按下 ;
3.保存闭合键号; 4.确定键的功能是什么 。
7.2 键盘接口 判断有无键按下:0行 P1.0 行线输出,列线 1行 P1.1 输入。 2行 P1.2 向所有的行线上 输出低电平,再 3行 P1.3 读入所有的列线 AT89S51 信号。如果列线 0列 P1.4 电平有变化,说 明有键按下;如 1列 P1.5 果列线电平没有 2列 P1.6 变化,说明无键 3列 P1.7 按下。