MSP430系列超低功耗单片机原理与系统设计 教学课件 李智奇 4 6 第6章.pdfVIP

MSP430系列超低功耗单片机原理与系统设计 教学课件 李智奇 4 6 第6章.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 MSP430系列单片机的应用 第6章 MSP430系列单片机的应用 6.1 MSP430系列单片机常用接口设计 6.2 MSP430系列单片机应用设计举例 习题 第6章 MSP430系列单片机的应用 6.1 MSP430系列单片机常用接口设计 6.1.1 键盘接口设计  1. 独立按键式键盘  独立按键式键盘是指使用按键与单片机的I/O 口线直接连 接的方法构成的单个按键电路,如图6-1所示,3个独立按键 直接与3条口线相连形成3按键独立式键盘。   当某一按键KEYn(n=1~3) 闭合时,P1.n输入为低电平, 释放时P1.n输入为高电平。由于机械按键的弹簧片存在着轻 微的弹跳现象,当再按下一次KEYn时,P1.n 的输入波形如 图6-2所示。 第6章 MSP430系列单片机的应用 图6-1 独立式键盘连接示例 第6章 MSP430系列单片机的应用 图6-2 按键抖动波形 第6章 MSP430系列单片机的应用   图6-2 中t1和t3分别为键闭合和释放过程的抖动期,呈现 一串抖动脉冲波,其时间长短与按键的机械特性有关,一般 在5~10 ms之间。在键闭合的稳定期t2期间,P1.n为低电平, 其时间由操作员按键的动作所确定,一般为几百毫秒至几秒。 t0和t4为按键释放期。为了确保CPU对按键的一次闭合仅作 一次处理,必须去除抖动,常用的清除抖动的方法有3种: 第6章 MSP430系列单片机的应用   (1) R-S触发器构成的去抖动电路;   (2) 使用电阻和电容构成积分器;   (3) 使用软件延时。   一般的按键采用软件延时方法,键盘程序主要有如下3 个步骤:   (1) 消除按键抖动(若使用硬件,则可略) ;   (2) 判断是哪个按键按下,识别键码;   (3) 等到按键松开。 第6章 MSP430系列单片机的应用   键盘扫描控制有定时查询法和中断控制法两种。因为 MSP430 的P0 ,P1 ,P2等3个8位端口都有中断能力,建议读 者使用中断方式,在主程序中须设置P1 口中断使能。图6-1 的键盘连接的示例中断服务程序如下: #includemsp430x44x.h unsigned char keybuf; //键值缓存器 unsigned char P1key(void) //判键子程序 {unsigned char x; x=(P1IN0x0e); //P1.3~P1.1接有按键 return(x); //有按键返回     } 第6章 MSP430系列单片机的应用 unsigned char keycode()//找哪个按键被按下,查键值子程序 { unsigned char x=0x0e; if ((P1IN0x0e) 0x0c) //是否第一个按键被按下 x=1;        //给出键帽值1 else if ((P1IN0x0e) 0x0a) //是否第二个按键被按下 x=2;         //给出键帽值2 else if ((P1IN0x0e) 0x06) //是否第三个按键被按下 x=3;         //给出键帽值3 return(x); } 第6章 MSP430系列单片机的应用 #pragma vector= PORT1_VECTOR //端口1的中断服务程序 _interrupt void port1_vector(void)

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档