第六章51单片机的接口与应用

第六章51单片机的接口与应用

ID:44984762

大小:1.23 MB

页数:22页

时间:2019-11-06

第六章51单片机的接口与应用_第1页
第六章51单片机的接口与应用_第2页
第六章51单片机的接口与应用_第3页
第六章51单片机的接口与应用_第4页
第六章51单片机的接口与应用_第5页
资源描述:

《第六章51单片机的接口与应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第六章51单片机的接口与应用6.1按键、键盘及其接口6.2显示及显示器接口6.3A/D转换器接口6.4D/A转换器接口6.5行程开关、晶闸管、继电器与单片机的接口6.1按键、键盘及其接口6.1.1键输入过程与软件结构单片机系统中通常有多个按键来实现人—机对话,完成指令输入和状态设置等工作,按键处理过程如下:(1)通过按键扫描判断是否有键按下(2)在有键按下时判断哪个按键被按下(3)执行相应的功能。如右图所示。51单片机键输入过程6.1.2键盘接口和键输入软件中应解决的几个问题1.消除键抖动键合断时的电压抖动(1)按键抖动:通常所用的按键都是机械触

2、点,当机械触点断开、闭合时,会产生抖动,抖动时间一般为5mS~10mS,由于MCU速度很快,因而会导致一次按键多次处理,从而出现错误。(2)消除按键抖动方法a.采用硬件电路硬件电路消抖动的优、缺点:优点:不需要软件去抖动,编程更方便,工作可靠。缺点:采用硬件电路增加成本,硬件电路更复杂。其中:滤波消抖动电路电路简单、效果好,使用较多b.软件去抖动检测到按键按下后,并不立即确认按键按下,而是延时10ms后再确认该键是否确实按下,消除抖动影响。软件消抖动的优缺点:优点:不增加硬件,有利于降低成本缺点:程序代码稍微多一点2.键编码及键值有多个按键时,为

3、了区别不同的按键,给每个按键赋予一个编号,对按键编号的方法较多,可采用二进制组合编码及顺序排列编码。(1)二进制组合编码(行码列码)此行编码为1000此行编码为0100此行编码为0010此行编码为0001此列编码为1000此列编码为0100此列编码为0010此列编码为0001此行编码为0010此列编码为0100编码为:00100100即24H(2)顺序排列键编码键码=行首码+列号本行首码11本行首码10本行首码01本行首码00本列首码11本列首码10本列首码01本列首码00编码为01103.按键监测的方法(1)查询法(2)中断法4.其他几个问题(

4、1)要考虑多个按键同时按下的情况在单片机系统中多数情况下只允许一个按键被按下,但要考虑误操作引起的多各按键同时按下的情况。(2)按键一次处理与多次处理的问题通常希望按动一次按键只处理一次,在这种情况下不仅要监测按键的按下,还要监测按键的释放,只有原来处于释放状态的按键被按下才作出处理。在某些情况下希望按下按键后能连续处理,可以采用定时读取按键状态的方法来实现,只要按键不释放,每隔一个时间就读取一次,当作一次按键输入。这种情况编程较麻烦。6.1.3独立式按键1.独立式按键接口电路独立式按键:每个按键占用一根I/O线互不影响,各自独立。2.独立式按键

5、的软件编程(以图6.5(b)为例)向P1口写FFH初始化按键释放标志为1P1口不为FFH且按键释放标志为1?延时10mSP1口不为FFH?按键释放标志置0,判断按键位置,按键编号延时10mSP1口为FFH?P1口为FFH?设置按键释放标志为1YYYYNNNN6.1.4行列式键盘独立式按键电路占用较多的I/O线,在按键较多时一般不使用,此时采用行列式键盘比较合适。行列式键盘(又称矩阵式键盘):若干根I/O线按行、列分布在行和列的交点处设置按键。图a图b图c图(a),(b)薄膜键盘图c机械键盘矩阵键盘应用较多,下图是市场上出售的几种矩阵式键盘。1.行

6、列式键盘的接口(1)直接使用单片机的I/O口(2)利用扩展的并行I/O口(并行扩展或利用串行口扩展)(3)利用显示接口芯片(如8279等)此处重点介绍利用扩展的并行I/O口连接矩阵键盘的电路8155扩展I/O口组成的行列式键盘2.行列式键盘工作原理对矩阵式键盘的控制分为两步:(1)判断是否有键按下可以通过查询、定时扫描或中断等方式扫描键盘,判断是否有键按下。(2)识别出那个按键被按下确认有键按下后,通过逐行(列)扫描并回读列(行)的方法确定按键的位置。A查询工作方式无论是否有键按下,程序运行到某处总进行键盘扫描。8155扩展I/O口组成的行列式键

7、盘矩阵键盘电路分析举例:识别按键的过程分析矩阵键盘程序设计分析:根据硬件电路分析可知:8155各口地址为:命令口:7FF8H;A口:7FF9H;B口:7FFAH;C口:7FFBH;A口工作在基本输出方式;C口输入方式,因此控制字为:00000001即01H程序如下:#include#include#defineCOMMXBYTE[0x7ff8]#definePORTAXBYTE[0x7ff9]#definePORTCXBYTE[0x7ffb]unsignedchardatakey_number,key_swe

8、ep,key_return,sweep_count;bitkey_released;voiddelay(unsignedchari);/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。