版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第8章章 单片机的功能扩展单片机的功能扩展 第第8章章 单片机的功能扩展单片机的功能扩展 8.1 键盘输入及接口键盘输入及接口 8.2 显示器及其接口显示器及其接口 8.3 D/A转换器的接口与应用转换器的接口与应用 8.4 A/D转换器的接口与应用转换器的接口与应用8.1 8.1 键盘输入及接口键盘输入及接口一、什么是键盘一、什么是键盘 键盘:是由若干按钮组成的开关矩阵,它是单片机系键盘:是由若干按钮组成的开关矩阵,它是单片机系统中最常用的输入设备,键盘在单片机应用系统中,统中最常用的输入设备,键盘在单片机应用系统中,实现输入数据、传送命令等功能,是人机交互的主要实现输入数据、传送命令等功
2、能,是人机交互的主要手段。手段。 键盘按照实现方式可以分为键盘按照实现方式可以分为编码键盘编码键盘和和非编码键盘非编码键盘两两大类,在单片机中广泛使用非编码键盘。大类,在单片机中广泛使用非编码键盘。 独立式独立式矩阵式矩阵式适合于比较少的键盘适合于比较少的键盘适合于比较多的键盘适合于比较多的键盘常见的非编码键盘结构有常见的非编码键盘结构有 8.1.1 8.1.1 键盘概要键盘概要二、非编码键盘的键输入程序应完成的基本任务:二、非编码键盘的键输入程序应完成的基本任务:1、监测有无键按下。键的闭合与否,反映在电压上就是、监测有无键按下。键的闭合与否,反映在电压上就是呈现出高电平或低电平,所以通过电
3、平的高低状态的检测,呈现出高电平或低电平,所以通过电平的高低状态的检测,便可确认按键按下与否。便可确认按键按下与否。2、判断是哪个键按下。、判断是哪个键按下。3、完成按键处理任务。、完成按键处理任务。键盘实际上是一组按键开关的集合,平时按键开关总是处于断开键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。它的结构和产生的波形如图所示。状态,当按下键时它才闭合。它的结构和产生的波形如图所示。三、独立按键程序设计三、独立按键程序设计P1.0AT89S51P1.0510ms1. 按键的消抖:按键的消抖:去抖动的方法去抖动的方法硬件方法硬件方法软件方法软件方法在键盘中附
4、加去抖动电路在键盘中附加去抖动电路采用时间延迟以躲过抖动采用时间延迟以躲过抖动(大约延迟(大约延迟101020ms20ms)硬件消抖硬件消抖是通过在按键输出电路上加一定的硬件线路来消是通过在按键输出电路上加一定的硬件线路来消除抖动,一般采用除抖动,一般采用RS触发器或单稳态电路。如图。触发器或单稳态电路。如图。 断开闭合+5V+5V输出软件消抖软件消抖是利用延时来跳过抖动过程是利用延时来跳过抖动过程 2. 串键保护:单键按下有效,多键同时按下无效串键保护:单键按下有效,多键同时按下无效3. 处理连击:处理连击:(1)一次按键只产生一次键功能的执行;)一次按键只产生一次键功能的执行;(2)一次按
5、键可以产生多次按键功能的执行。)一次按键可以产生多次按键功能的执行。4 4、键盘的工作方式、键盘的工作方式(1 1)随机方式)随机方式每当每当CPUCPU空闲时执行键盘扫描程序空闲时执行键盘扫描程序(2 2)中断方式)中断方式每当有键闭合时才向每当有键闭合时才向CPUCPU发出中断请求,中断响应后发出中断请求,中断响应后执行键盘扫描程序执行键盘扫描程序(3 3)定时方式)定时方式每隔一定时间执行一次键盘扫描程序,定时可由单每隔一定时间执行一次键盘扫描程序,定时可由单片机的定时器完成片机的定时器完成8.1.2 键盘程序设计键盘程序设计一、独立式按键一、独立式按键上拉按键上拉按键下拉按键下拉按键;
6、上拉汇编示例程序;上拉汇编示例程序get_keyget_key: : JB JB P1.0P1.0,no_keyno_key ACALL Delay ACALL Delay ;第一次检测到按键信息;第一次检测到按键信息 JBJB P1.0P1.0,no_keyno_key ; ; 执行按键功能(第二次检测到按键信息)执行按键功能(第二次检测到按键信息) JBJBP1.0,no_keyP1.0,no_key; ; 等待按键抬起等待按键抬起 SJMP $-1SJMP $-1; ;跳转到上一行跳转到上一行no_keyno_key: : Delay: Delay: P1.0上拉上拉C51示例程序示例程
7、序if(P1_0=0) /第一次检测到按键信息第一次检测到按键信息Delay();(); /延时延时20ms左右,消除抖动左右,消除抖动if(P1_0=0) /第二次检测到按键信息第二次检测到按键信息 /执行按键功能执行按键功能 while(P1_0=0);); /等待按键释放等待按键释放 行列式键盘行列式键盘(如图如图8.4所示所示)按键识别有两种方法:行扫描法和线反转法按键识别有两种方法:行扫描法和线反转法 1 1、键盘接口处理的内容、键盘接口处理的内容(1 1)键扫描)键扫描首先是判定有没有键被按下首先是判定有没有键被按下第一行第二 行第三行第四行第一列第四列第三列第二列P1_0P1_1
8、P1_2P1_3+5V+5V0123456789ABCDEFP1_4P1_5P1_6P1_7二、行列式按键二、行列式按键先经输出口向所有列线输出低电平,然后再输入各行线状态先经输出口向所有列线输出低电平,然后再输入各行线状态1 1 1 1 0000无无键键盘盘按按下下时时以以4 4行行4 4列键盘为例使用行扫描的方法列键盘为例使用行扫描的方法使所有各行同时为低电平,再检查是否有列线也处于低电平。使所有各行同时为低电平,再检查是否有列线也处于低电平。如果列线上有一位为如果列线上有一位为0,则说明必有键被按下,则说明必有键被按下 逐行扫描查询逐行扫描查询 线反转法线反转法先让行线工作在输出方式,列线工作在输入方式,即往输出端先让行线工作在输出方式,列线工作在输入方式,即往输出端口各行线上全部送口各行线上全部送“0”,然后从输入端口读入列线的值。如果,然后从输入端口读入列线的值。如果此时有某个键被按下,则必定会使某一列线值为此时有某个键被按下,则必定会使某一列线值为“0”。重新设置两个并行端口的工作方式,使其互换,将刚才读得的重新设置两个并行端口的工作方式,使其互换,将刚才读得的列线值从并行端口输出,再读取行线的输入值,那么,在闭合列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025服务外包合同
- 2025房地产交割监管合同
- 2025合同法讨论案例
- 2024年神经系统用药项目资金筹措计划书代可行性研究报告
- 智慧校园建设与学生学习方式的变革
- 现代农业产业园区规划与管理研究
- 高速公路服务区物业服务方案
- 二零二五年度出租房水电费在线结算服务合同4篇
- 2025年新科版八年级生物上册阶段测试试卷含答案
- 2025年牛津译林版九年级历史上册月考试卷含答案
- 不同茶叶的冲泡方法
- 光伏发电并网申办具体流程
- 建筑劳务专业分包合同范本(2025年)
- 企业融资报告特斯拉成功案例分享
- 五年(2020-2024)高考地理真题分类汇编(全国版)专题12区域发展解析版
- 《阻燃材料与技术》课件 第8讲 阻燃木质材料
- 低空经济的社会接受度与伦理问题分析
- GB/T 4732.1-2024压力容器分析设计第1部分:通用要求
- 河北省保定市竞秀区2023-2024学年七年级下学期期末生物学试题(解析版)
- 运动技能学习与控制课件
- 六编元代文学
评论
0/150
提交评论