MSP430按键输入和led点阵显示解读.doc

MSP430按键输入和led点阵显示解读.doc

ID:57395302

大小:1003.50 KB

页数:32页

时间:2020-08-15

MSP430按键输入和led点阵显示解读.doc_第1页
MSP430按键输入和led点阵显示解读.doc_第2页
MSP430按键输入和led点阵显示解读.doc_第3页
MSP430按键输入和led点阵显示解读.doc_第4页
MSP430按键输入和led点阵显示解读.doc_第5页
资源描述:

《MSP430按键输入和led点阵显示解读.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章键盘和显示器的应用在单片机应用系统中,键盘和显示器是非常重要的人机接口。人机接口是指人与计算机系统进行信息交互的接口,包括信息的输入和输出。常用输入设备主要是键盘,常用输出设备包括发光二极管、数码管和液晶显示器等。4.1键盘输入键盘用于实现单片机应用系统中的数据信息和控制命令的输入,按结构可分为编码键盘和非编码键盘。编码键盘上闭合键的识别由专用的硬件编码器实现,并产生相应的键码值,如计算机键盘。非编码键盘是通过软件的方法产生键码,不需要专用的硬件电路。为了减少电路的复杂程度,节省单片机的I/O口

2、,在单片机应用系统中广泛使用非编码键盘,主要对象是各种按键或开关。这些按键或开关可以独立使用(称之为独立键盘),也可以组合使用(称之为矩阵式键盘)。4.1.1按键电路与按键抖动处理按键电路连接方法非常简单,如图4.1所示。此电路用于通过外力使按键瞬时接通开关的场合,如单片机的RESET电路中,通过按键产生一个瞬时的低电压,CPU感知这个低电压后重启。图4.1按键复位电路由于按键的闭合与断开都是利用其机械弹性实现的,当机械触点断开、闭合时,会产生抖动,这种抖动操作用户感觉不到,但对CPU来说,其输出波形

3、则明显发生变化,如图4.2所示。图4.2按键开、闭时的电压抖动波形按键按下和释放时的抖动时间一般为10~20ms,按键的稳定闭合期由操作用户的按键动作决定,一般为几百毫秒到几秒,而单片机CPU的处理速度在微秒极,因此,按键的一次闭合,有可能导致CPU的多次响应。为了避免这种错误操作,必须对按键电路进行去抖动处理。常用的去抖动方法有硬件方式和软件方式两种。使用硬件去抖动的方式,需要在按键连接的硬件设计上增加硬件去抖电路,比如将按键输出信号经过R-S触发器或RC积分电路后再送入单片机,就可以保证按一次键只

4、发出一个脉冲。软件方式去抖动的基本原理是在软件中采用时间延迟,对按键进行两次测试确认,即在第一次检测到按键按下后,间隔10ms左右,再次检测该按键是否按下,只有在两次都测到按键按下时才最终确认有键按下,这样就可以避开抖动时间段,消除抖动影响。同样,在按键释放时也采用相同方法。由于人的按键速度比单片机的运行速度要慢很多,所以,软件延时方法从技术上完全可行,而且经济上更加实惠,因此被广泛采用。4.1.2独立键盘检测独立键盘是一种最简单的键盘,前面章节已经介绍过使用独立键盘的实例。独立按键的每个键单独占用一

5、根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O线的工作状态。实例4-1独立按键编号显示任务要求:单片机端口连接3个按键,从1~3进行编号,如果其中一个按键按下时,则在LED数码管上显示相应的按键编号。1)硬件电路设计选取MSP430F249单片机的P1口连接数码管显示按键编号,P3口的P3.0、P3.1、P3.2端口分别和3个按键连接。硬件电路如图4.3所示。图4.3独立键盘检测电路图3个I/O口P3.0、P3.1、P3.2作为输入口(输入方式),分别与K1、K2、K3三个按键连接。当

6、按键断开时,I/O口的输入为高电平,按键闭合时,I/O口的输入为低电平。此3个引脚上接了上拉电阻,是为了保证按键断开时逻辑电平为高。2)程序设计按键闭合时,与该键相连的I/O引脚为低电平;按键断开时,与该键相连的I/O引脚为高电平。所以在程序中通过P3IN寄存器读取P3.0、P3.1、P3.2这3个I/O口的电平状态,便可检测按键是否按下。另外,在有按键按下时,要有一定的延时,以防止由于键盘抖动而引起误操作。当确认某按键按下后,就让数码管显示其按键编号。#include"MSP430f249.h"un

7、signedcharconsttable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴数码管段选码表,无小数点voiddelayus(unsignedintt){unsignedinti;while(t--)for(i=1330;i>0;i--);}unsignedcharReadKey(void){unsignedchartemp;temp=P3IN&0x07;if(t

8、emp!=0x07){delayus(10);//等待按键抖动时间if(temp==(P3IN&0x07)){returntemp;}elsereturn0xFF;}elsereturn0xFF;}voidmain(void){unsignedcharkey,i;WDTCTL=WDTPW+WDTHOLD;//关闭看门狗P1DIR=0xFF;//设置方向P1OUT=0x00;P3DIR=0x00;//P3口作为键盘输入while(1){key=ReadKe

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

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

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