智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1687|回复: 8
打印 上一主题 下一主题

坐等大神就诊。。。上程序。。。

[复制链接]

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
394
威望
226
贡献
20
兑换币
0
注册时间
2012-3-20
在线时间
74 小时
毕业学校
后吕小学
跳转到指定楼层
1#
发表于 2012-4-17 21:23:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <hidef.h>            /* common defines and macros */
#include "derivative.h"       /* derivative-specific definitions */
#include "main.h"
int set__speed=0;
char flag=0;
int  laser1=0,laser2=0,laser3=0,laser4=0,laser5=0,i;
unsigned int a;
unsigned int temp;
int  state1;
unsigned char  shuzu[12]={ 0
};
int zuo,you;
const static byte jiguang[6]=
{
0x01,0x02,0x04,0x08,0x10,0x20
};
const static byte duoji[13]=
{
130,140,150,160,170,180,190,120,110,100,90,80,70
};
//*******1ms延时*******//
void delay_ms(unsigned int m)
{
    unsigned int a,b;
    for(a=m;a>0;a--)
        for(b=5340;b>0;b--);
}
//*******1us延时*******//
void delay_us(unsigned int m)
{
    unsigned int a,b;
    for(a=m;a>0;a--)
        for(b=5;b>0;b--);
}

unsigned  int laser(void)
{   
    delay_us(1300);
     
    PORTA=0x15;                             
    laser1=PTIT_PTIT3;
    laser1= ((laser1<<2)|PTIT_PTIT2);
    laser1=((laser1<<2)|PTIT_PTIT1);
   
   
    delay_us(1300);
    PORTA=0x2a;  
    laser2=PTIT_PTIT3;
    laser2= ((laser2<<2)|PTIT_PTIT2);
    laser2=((laser2<<2)|PTIT_PTIT1);
    laser2=(laser2<<1);
   
    //PORTA=0x00;
    delay_us(1300);
    PORTB=0x15;   
    laser3=PTIT_PTIT4;
    laser3= ((laser3<<2)|PTIT_PTIT5);
    laser3=((laser3<<2)|PTIT_PTIT6);
    laser3=(laser3<<6);
   
    delay_us(1300);
    PORTB=0x2a;
    laser4=PTIT_PTIT4;
    laser4= ((laser4<<2)|PTIT_PTIT5);
    laser4=((laser4<<2)|PTIT_PTIT6);
    laser4=(laser4<<7);
   
    //PORTB=0x00;
   
    laser5=laser1|laser2|laser3|laser4;
    return laser5;                                                                                                                 
}
//
//图像处理
void Laser_process(void)
{
      
     temp=laser();
     switch(temp)
     {
        case 0x0fff:state1=0; break;
        case 0x0ffe:state1=1; break;
        case 0x0ffc:state1=2; break;
        case 0x0ff8:state1=3; break;
        case 0x0ff0:state1=4; break;
        case 0x0fe0:state1=5; break;
        case 0x0fc0:state1=6; break;
        case 0x07ff:state1=7; break;
        case 0x03ff:state1=8; break;
        case 0x01ff:state1=9; break;
        case 0x00ff:state1=10; break;
        case 0x007f:state1=11; break;
        case 0x003f:state1=12; break;
      
     }
}
//const static byte sudu1[7]=
//{150,150,120,120,110,100,0};



static byte sudu[17]={0};
void main(void)
{
  SetBusCLK_64M();
  Pwm_DuoJi_B();
  //PIT_init();               //定时中断初始化函数 10MS定时中断设置
  //dir_qianlun(130);
  Pwm_DianJi_A();
  io();
  EnableInterrupts;
  PWMDTY67=130;
  flag=0;
  for(;;)
    {  
       Laser_process();
       PWMDTY67=duoji[state1];
      
  
    }

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
394
威望
226
贡献
20
兑换币
0
注册时间
2012-3-20
在线时间
74 小时
毕业学校
后吕小学
2#
 楼主| 发表于 2012-4-17 21:27:53 | 只看该作者
12个激光。。2对1.。。分4组分时点亮。。。。可是舵机PA口控制的激光1号2号3号4号5号6号中。。1号3号5号激光打到黑线舵机没反应。。。。。
回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
394
威望
226
贡献
20
兑换币
0
注册时间
2012-3-20
在线时间
74 小时
毕业学校
后吕小学
3#
 楼主| 发表于 2012-4-17 21:28:42 | 只看该作者
大神。。。。。。
回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
394
威望
226
贡献
20
兑换币
0
注册时间
2012-3-20
在线时间
74 小时
毕业学校
后吕小学
4#
 楼主| 发表于 2012-4-17 21:33:23 | 只看该作者
自己顶。。。。
回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
394
威望
226
贡献
20
兑换币
0
注册时间
2012-3-20
在线时间
74 小时
毕业学校
后吕小学
5#
 楼主| 发表于 2012-4-17 22:00:23 | 只看该作者
没人吗?
回复 支持 反对

使用道具 举报

2

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2811

论坛骨干奖章优秀会员奖章技术大牛奖章

威望
1705
贡献
606
兑换币
245
注册时间
2011-3-28
在线时间
250 小时
6#
发表于 2012-4-17 22:23:06 | 只看该作者
1447819118 发表于 2012-4-17 22:00
没人吗?

其实,你的程序很简洁,看似没有什么问题。
但这是嵌入式系统软件(单片机软件)的一个特点,那就是即使看清楚你的程序,也无法立即说出你的程序究竟是否要问题,因为程序的输入,输出还和你的硬件设计和外部连接有关系。所以这一点不像其他的软件那么容易判断。

求别人,不如求自己,如果现在你有硬件调试工具和软件调试工具,就自行进行调试解决:
(1)先通过万通表和示波器确定是否所有的光电管通路对于黑线都有相应;
(2)通过软件调试工具观察是否所有的光电管在黑线出所采集到的数据都和你的编码方式相同;
(3)跟踪最后舵机赋值输出是否是自己设定的占空比。

如果你的车模的硬软件都是自己同学设计的,对于调试过程就应该想办法自行将解决。你能,你能。
回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
394
威望
226
贡献
20
兑换币
0
注册时间
2012-3-20
在线时间
74 小时
毕业学校
后吕小学
7#
 楼主| 发表于 2012-4-17 22:38:20 | 只看该作者
吉他手 发表于 2012-4-17 22:23
其实,你的程序很简洁,看似没有什么问题。
但这是嵌入式系统软件(单片机软件)的一个特点,那就是即使 ...

嗯,,灰常感谢你。。1和3都没问题的。。。就是这个2 不知道
回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
394
威望
226
贡献
20
兑换币
0
注册时间
2012-3-20
在线时间
74 小时
毕业学校
后吕小学
8#
 楼主| 发表于 2012-4-18 11:33:41 | 只看该作者
已解决。。。。
回复 支持 反对

使用道具 举报

10

主题

455

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6364
QQ
威望
3231
贡献
1725
兑换币
495
注册时间
2011-3-12
在线时间
704 小时
9#
发表于 2012-4-18 11:56:09 | 只看该作者
LZ也不说说怎么解决的啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 01:21 , Processed in 0.059340 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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