- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机第十五讲键盘
第十五讲 键盘 复习:发光二极管显示器(LED) LED结构与原理 静态显示和动态显示 静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。 动态显示就是一位一位地轮流点亮各位显示器(扫描),对于每一位显示器来说,每隔一段时间点亮一次。通常每位显示1ms左右,不断循环依次显示每位LED。 调整电流和时间的参数,可实现亮度较高、较稳定的显示。 若显示器的位数不大于8位,则控制显示器公共极电位只需一个I/O口——扫描口。该口的输出值也称位码。 控制各位显示器所显示的字形也需一个8位口——段数据口,该口的输出值也称段码或字形码 静态显示 显示器由5个共阴极LED数码管组成。输入只有两个信号,它们是串行数据线DIN和移位信号CLK。5个串/并移位寄存器芯片74LS164首尾相连。每片的并行输出作为LED数码管的段码。 74LS164为8位串入并出移位寄存器,1、2为 串行输入端,QA~QH为并行输出端,CLK为移位时钟脉冲,上升沿移入一位;CLR为清零端,低电平时并行输出为零。 静态数码显示电路原理 键盘 键盘是由若干个按键组成的开关矩阵,它是一种廉价的输入设备。一个键盘,通常包括有数据字键(0~9),字母键(A~Z)以及一些功能键。操作人员可以通过键盘向计算机输入数据、地址、指令或其他的控制命令,实现简单的人机对话。 5.5 键盘接口 键盘基本知识:编码键盘、非编码键盘、键盘功能、常用键盘接口 8051通过并行接口(如8255)与键盘接口。 8051通过串行接口与键盘接口。 8051通过8279与键盘接口。 8051的并行口直接与键盘接口。 5.5.1 非编码键盘工作原理 非编码键盘工作解决的问题: 键扫描功能,即检测是否有键按下。 键识别功能,确定被按下键所在的行列的位置。 产生相应的键的代码(键值)。 消除按键弹跳及对付多键串键(复按)。 行扫描法 上述问题中最主要的是键的识别,本章主要介绍行扫描法:所谓行扫描法,就是通过行线发出低电平信号,如果该行线所连接的键没有按下的话,则列线所连接的输出端口得到的是全“1”信号;如果有键按下的话,则得到的是非全“1”信号。 一、扫描原理 二、扫描控制方式 程序控制:随机方式——CPU空闲时扫描键盘 中断控制:有键闭合发出中断请求 三、键盘程序必须进行消抖处理——图5-60 5.5.2 键盘接口设计 图为8×2键盘, 8051外接一片8255。因8255的CS与P2.6连接(A14=0),A0与P2.0连接(A8),A1与P2.1连接(A9) 分析 控制字——8300H A口——8000H:输出控制键扫描作为键扫描口,同时又是六位显示器的扫描输出口 B口——8100H:为输出口控制显示器字形 C口——8200H:作为输入口,PC0~PC1读入键盘数,称为键输入口。 键盘程序 键盘程序的功能有以下四个方面: (1)判别键盘上有无键闭合,其方法为扫描口PA0~PA7输出全“0”,读PC口的状态,若PC0~PC1为全“1”(键盘上行线全为高电平)则键盘上没有闭合键,若PC0~PC1不为全“1”则有键处于闭合状态。 (2)去除键的机械抖动,其方法为判别到键盘上有键闭合后,延迟一段时间再判别键盘的状态,若仍有键闭合,则认为键盘上人一个键处于稳定的闭合期,否则认为是键的抖动。 因为键抖的时间经验值为5-10ms,而动态显示程序调用一次的时间约6ms,因此可以调用显示程序来做去抖延时。 判别键号 (3)判别闭合键的键号,方法为对键盘的列线进行扫描,扫描口PA0~PA7依次输出: PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 ………… 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 并相应的顺次读PC口的状态,若PC0~PC1为全“1”,则列线为0的这一列上没有键闭合,否则这一列上有键闭合,闭合键的键号等于为低电平的列号加上为低电平的行的首键号。 如PA口输,PC1、PC0口读入为10B,则键值—— N=行首键号+列号=8+2=0X0A; 流程图 例7-5 8255键盘显示 #includereg51.h #incl
文档评论(0)