网站大量收购独家精品文档,联系QQ:2885784924

MSP430中断led灯测试模板.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MSP430中断led灯测试模板

MSP430中断led灯测试模板 /****************************************************** 程序功能:用中断方式读取四个独立式按键的键值,同时用 D1~D4四个LED的点亮来指示k1~K4四个按键的按下 ---------------------------------------------------- 测试说明:按动K1~k4四个按键,观察LED是否正确点亮 *******************************************************/ #include msp430x14x.h #include BoardConfig.h #define keyin (P1IN 0x0f) uchar KeyVal = 0; // 按键的键值 /********************主函数********************/ void main( void ) { WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 BoardConfig(0xb0); //打开流水灯,关闭数码管和电平转换 P1IES = 0x0f; // P1.0~P1.3选择下降沿中断 P1IE = 0x0f; // 打开中断使能 P1DIR = BIT7; //设置P1.0~P1.3为输入状态,P1.7为输出 P1OUT = 0; P2DIR = 0xff; P2OUT = 0xff; _EINT(); //打开全局中断控制位 while(1) { LPM1; P2OUT = ~(1 (KeyVal - 1)); } } /******************************************* 函数名称:delay 功 能:用于消抖的延时 参 数:无 返回值 :无 ********************************************/ void delay(void) { uint tmp; for(tmp = 12000;tmp 0;tmp--); } /******************************************* 函数名称:PORT1_ISR 功 能:P1端口的中断服务函数 参 数:无 返回值 :无 ********************************************/ #pragma vector=PORT1_VECTOR __interrupt void PORT1_ISR(void) { if(P1IFG 0x0f) { switch(P1IFG 0X0F ) { case 0x01: if(keyin == 0x0e) //如果是第一个按键被按下 { delay(); if(keyin == 0x0e) { while(keyin != 0x0f); //等待按键放开 KeyVal = 1; LPM1_EXIT; P1IFG = 0; return; } } case 0x02: if(keyin == 0x0d) //如果是第二个按键被按下 { delay(); if(keyin == 0x0d)

文档评论(0)

htfyzc + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档