4437|15

157

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【Launchpad 心得】+s2按键的改进建议 [复制链接]

昨天从老师那领了一块TI的launchpad

这两天就一直在倒腾

 

今天大致熟悉了IO的一些操作

学习用中断来做一个简单实验

 

就是按一下S2 ,触发中断将P1.0取反,具体的体现就是p1.0所连接LED的亮暗的反转

 

写好代码后

代码如下:

******************************************************************

P1DIR |= BIT0;
  P1DIR &= ~BIT3;
  P1REN |= BIT3;
  P1OUT |= BIT3;
  P1IE |= BIT3;
  P1IES |= BIT3;
  P1IFG &= ~BIT3;
  _BIS_SR(LPM4_bits + GIE);

 

 

#pragma vector = PORT1_VECTOR
__interrupt void PORT_1()
{
  P1OUT ^= BIT0;
  P1IFG &= ~BIT3;
}

 

***************************************************************

实际操作时,LED总是亮着,偶尔会灭一下

仔细检查了几遍代码,就是没发现哪有问题

 

忽然恍然大悟!!!!

按键有都懂,导致结果不稳定.

 

解决方案:

在P1.3与GND之间连接一个103的电容,即电容与S2是并联(10*10^-9F即10nF的电容)

不知道这个电容大小是否是最合适,我也没计算,但实际操作来看,效果很好!

 

其实个人觉得,TI做板子的时候就该在按键上并一个电容以消抖,

要不然不是在坑初学者么!

最新回复

P1.3也是差不多的P1REN |= BIT3;  详情 回复 发表于 2012-7-8 13:31

点评

你按键端口没上拉,上拉就可以了,你加这条语句就可以了P1REN |= BIT1;  详情 回复 发表于 2012-7-5 18:03
 
点赞 关注

回复
举报

672

帖子

0

TA的资源

版主

沙发
 
s2的确没有焊接电容    不过s1倒是有个c14的焊盘

点评

你这么一说倒是提醒我了 我仔细看了下板子 发现有C24 没有焊电容 不过是预留了 默认是没有焊的 原理图上是有100nF的电容的 看来ti考虑的还是挺周到 我没注意而已:titter:  详情 回复 发表于 2012-6-28 19:09
 
 

回复

157

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

回复 沙发 柠檬酸钠 的帖子

你这么一说倒是提醒我了

我仔细看了下板子
发现有C24  没有焊电容  不过是预留了  默认是没有焊的  原理图上是有100nF的电容的
看来ti考虑的还是挺周到
我没注意而已

点评

再仔细看了下板子 S1的C14并了47K的电阻到地,不过电容空着的焊盘,没焊, S2的C24并了47K的电阻到地,焊接了一个电容(应该是100nf吧) 1.4的板子 C14可以自己加吧 不晓得为什么TI没焊,,  详情 回复 发表于 2012-6-29 16:20
 
 
 

回复

2886

帖子

0

TA的资源

五彩晶圆(初级)

4
 
在TI官方示例代码里面,我记得有用定时器消抖的方法。

点评

软件消抖也是可以的 用一个延时就可以了 因为需要延时的时间较短 大约5-10ms 可以不用定时器 直接cpu空转nop就行  详情 回复 发表于 2012-6-28 21:24
 
 
 

回复

157

帖子

0

TA的资源

一粒金砂(高级)

5
 

回复 4楼 exiao 的帖子

软件消抖也是可以的  用一个延时就可以了  因为需要延时的时间较短  大约5-10ms 可以不用定时器  直接cpu空转nop就行
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

6
 
还是有很多开发板按键不加电容的 当然是加了好
 
 
 

回复

5276

帖子

5

TA的资源

裸片初长成(中级)

7
 
好像看到过LanchPad的硬件版本也是有不同的,新的好像取消了一个还不知道是全部按键的电容。

晕死,CCAV直播怎么这么卡,难怪要钱发展什么宽带吆
 
个人签名没工作,没女人老婆,没宽带 ,  没钱
 
 

回复

672

帖子

0

TA的资源

版主

8
 

回复 板凳 457887107 的帖子

再仔细看了下板子      S1的C14并了47K的电阻到地,不过电容空着的焊盘,没焊,
S2的C24并了47K的电阻到地,焊接了一个电容(应该是100nf吧)     1.4的板子
C14可以自己加吧    不晓得为什么TI没焊,,
 
 
 

回复

2056

帖子

0

TA的资源

五彩晶圆(初级)

9
 
现在大多的按键的消抖是用软件来实现!
 
 
 

回复

2453

帖子

19

TA的资源

五彩晶圆(中级)

10
 
默默
 
 
 

回复

132

帖子

0

TA的资源

一粒金砂(高级)

11
 

回复 楼主 457887107 的帖子

你按键端口没上拉,上拉就可以了,你加这条语句就可以了P1REN |= BIT1;

点评

额....貌似我没有用到p1.1......:titter:  详情 回复 发表于 2012-7-5 21:51
 
 
 

回复

157

帖子

0

TA的资源

一粒金砂(高级)

12
 

回复 11楼 hytz845 的帖子

额....貌似我没有用到p1.1......

点评

P1.3也是差不多的P1REN |= BIT3;  详情 回复 发表于 2012-7-8 13:31
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

13
 

我想这个问题是怎么一回事 又是VCC又是GND测试了n把回 表示被坑爹了

点评

不太理解你的意思啊.:titter:  详情 回复 发表于 2012-7-7 00:45
 
 
 

回复

157

帖子

0

TA的资源

一粒金砂(高级)

14
 

回复 13楼 xiakeyanghua 的帖子

不太理解你的意思啊.
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

15
 

表示一下激动了

然后发现好像不是同一问题
不过楼主这个样子初始化 估计就没问题了

void InitializeButton(void)                 // Configure Push Button
{
  BUTTON_DIR &= ~BUTTON;
  BUTTON_OUT |= BUTTON;  //多了这一行 拉高了
  BUTTON_REN |= BUTTON;
  BUTTON_IES |= BUTTON;
  BUTTON_IFG &= ~BUTTON;
  BUTTON_IE |= BUTTON;
}
 
 
 

回复

132

帖子

0

TA的资源

一粒金砂(高级)

16
 

回复 12楼 457887107 的帖子

P1.3也是差不多的P1REN |= BIT3;
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表