智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4260|回复: 10
打印 上一主题 下一主题

[策略类] 急!希望大家帮帮忙!关于起跑线

[复制链接]

1

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
威望
205
贡献
44
兑换币
20
注册时间
2010-3-15
在线时间
8 小时
跳转到指定楼层
1#
发表于 2010-7-18 08:35:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的干簧管是常开的!希望大家帮帮忙~~~希望能指出我的错误之处~本人感激不尽!!我已经想不到其他办法了!!
一头接高电平,一头接PB0。
在主函数写了    if(PORTB_PB0==1 )   
{
        i++;
        if(i==2)
           {
                  PWME = 0x00;   
           }
}   
但是车走一下就停下来了!为什么会这样?
我又用了ECT的中断试了一下,车也是运行一下就停了

void ECT0_Init(void)            

{                          

  TSCR2=0x06;                   //禁止溢出中断,分频系数64(24/64MHz)
TIOS_IOS0=0;                  //通道0为输入捕捉
TCTL4=0x01;                   //捕捉上升沿
TIE_C0I=1;                     //通道0输入捕捉中断允许
TSCR1=0x80;                   //使能定时器
}
#pragma CODE_SEG NON_BANKED    //定时器通道0输入捕捉中断         
void interrupt 8 Timer0_Onput(void)
{
TFLG1_C0F=1;      //清中断标志位
Input_Num++;
if(Input_Num==2)
{
PWME = 0x00;     //pwm 禁止
         for(;;)
   {   }
  }     

}

21

主题

226

帖子

0

精华

跨届大侠

目标工程师

Rank: 10Rank: 10Rank: 10

积分
6334

论坛元老奖章

QQ
威望
502
贡献
5720
兑换币
2
注册时间
2010-3-1
在线时间
56 小时
2#
发表于 2010-7-18 11:18:08 | 只看该作者
回复 1# a8500891


    你在(i++)这句话加一下段延时,防止误触发就可以了,试试
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
威望
205
贡献
44
兑换币
20
注册时间
2010-3-15
在线时间
8 小时
3#
 楼主| 发表于 2010-7-18 16:47:35 | 只看该作者
本帖最后由 a8500891 于 2010-7-18 17:02 编辑

回复 2# 88weig


    为什么要防止误触发的?是不是因为单片机刚启动PB的电位会改变?我已经在if前面加了重新定义了PB的输出了!
谢谢你!!我等下试试你的办法!等下就过去实验室了~~还有什么办法没?


很烦呀!!!!!
回复 支持 反对

使用道具 举报

21

主题

226

帖子

0

精华

跨届大侠

目标工程师

Rank: 10Rank: 10Rank: 10

积分
6334

论坛元老奖章

QQ
威望
502
贡献
5720
兑换币
2
注册时间
2010-3-1
在线时间
56 小时
4#
发表于 2010-7-18 21:38:31 | 只看该作者
回复 3# a8500891


    因为你小车在检测起跑线的时候干簧管或者霍尔都是有个先后的,所以在检测时可能会有这种现象发生,加延时防止检测到信号就停止,试试吧
回复 支持 反对

使用道具 举报

6

主题

138

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
496
威望
320
贡献
130
兑换币
0
注册时间
2009-10-8
在线时间
23 小时
5#
发表于 2010-7-18 22:11:29 | 只看该作者
干簧管用法不对
建议你看看单片机引脚的结构
回复 支持 反对

使用道具 举报

5

主题

335

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1048
威望
572
贡献
400
兑换币
0
注册时间
2010-5-30
在线时间
38 小时
6#
发表于 2010-7-18 22:24:57 | 只看该作者
赞成楼上的
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
343
威望
272
贡献
45
兑换币
24
注册时间
2010-3-8
在线时间
13 小时
7#
发表于 2010-7-19 00:12:14 | 只看该作者
B口要设置为上拉的
回复 支持 反对

使用道具 举报

29

主题

260

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6709

论坛元老奖章

威望
505
贡献
5874
兑换币
2
注册时间
2009-3-2
在线时间
165 小时
8#
发表于 2010-7-19 13:01:38 | 只看该作者
回复 1# a8500891


    不知你是硬件上拉还是软件上拉,另外应该是B口为低电平代表干簧管接通,高电平代表干簧管断开吧?。。。楼主弄反了貌似
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
威望
205
贡献
44
兑换币
20
注册时间
2010-3-15
在线时间
8 小时
9#
 楼主| 发表于 2010-7-19 13:13:10 | 只看该作者
谢谢各位!已经解决了终点线问题了!我接了个上拉电阻!再加了个延时就解决了!!!谢谢谢谢~~~
回复 支持 反对

使用道具 举报

21

主题

226

帖子

0

精华

跨届大侠

目标工程师

Rank: 10Rank: 10Rank: 10

积分
6334

论坛元老奖章

QQ
威望
502
贡献
5720
兑换币
2
注册时间
2010-3-1
在线时间
56 小时
10#
发表于 2010-7-19 20:59:48 | 只看该作者
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-20 23:28 , Processed in 0.138343 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表