智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1639|回复: 2
打印 上一主题 下一主题

主控芯片为MC9S12DG128的c语言程序

[复制链接]

1

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
181
QQ
威望
218
贡献
33
兑换币
0
注册时间
2010-1-17
在线时间
1 小时
跳转到指定楼层
1#
发表于 2010-3-4 21:46:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Main.c

#include <hidef.h>           /* common defines and macros */
#include <mc9s12db128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12db128b"
#include "define.h"
#include "init.h"

// variable used in video process
volatile unsigned char image_data[ROW_MAX][LINE_MAX] ;       // data array of picture
unsigned char black_x[ROW_MAX]           ;  // 0ne-dimensional array  
unsigned char row                          ;  // x-position of the array
unsigned char line                          ;  // y-position of the array
unsigned int  row_count                    ;  // row counter
                                                    unsigned char line_sample                   ;  // used to counter in AD
unsigned char row_image                    ;        
unsigned char line_temp                      ;  // temperary variable used in data transfer
unsigned char sample_data[LINE_MAX]  ; // used to save one-dimension array got in
interruption
// variables below are used in speed measure
Unsigned char pulse[5] ;               // used to save data in PA process
Unsigned char counter;                // temporary counter in Speed detect
Unsigned char cur_speed;              // current speed

short stand;               
short data;
unsigned char curve                         ; // valve used to decide straight or turn
short Bounds(short data);
short FuzzyLogic(short stand);
/*----------------------------------------------------------------------------*\
                              receive_sci              
\*----------------------------------------------------------------------------*/
unsigned char receive_sci(void)             // receive data through sci
{ unsigned char sci_data;
  while(SCI0SR1_RDRF!=1);     
  sci_data=SCI0DRL;           
  return sci_data;      
}

/*----------------------------------------------------------------------------*\
                              transmit_sci            
\*----------------------------------------------------------------------------*/
void transmit_sci(unsigned char transmit_data)  // send data through sci
{
  while(SCI0SR1_TC!=1);
  while(SCI0SR1_TDRE!=1);
  SCI0DRL=transmit_data;   
}  
/*****************************************************************************
***/
/*----------------------------------------------------------------------------*\
                              abs_sub           
\*----------------------------------------------------------------------------*/  
unsigned char abs_sub(unsigned char num1, unsigned char num2)
{  unsigned char  difference;
   
   if(num1>=num2){
     difference=num1-num2;
   }else{
     difference=num2-num1;
   }
  return difference;
}

void pwm_set(unsigned int dutycycle)
{  
  PWMDTY1=dutycycle&0x00FF;  
  PWMDTY0=dutycycle>>8;         
}   

void get_black_wire(void)        // used to extract black wire
{ unsigned char i;
  for(row=0;row<ROW_MAX;row++){
    for(line=LINE_MIN;line<LINE_MAX-3;line++){  
     if(image_data[row][line]>image_data[row][line+3]+VALVE){

      for(i=3;i<10;i++){
             if(image_data[row][line+i]+VALVE<image_data[row][line+i+3]){
               black_x[row]=line+i/2+2;
                i=10;
             }
        }
      line=LINE_MAX;
     } else{
        //black_x[row]=(black_x[row]/45)*78;
     }
    }  
  }
}
/*----------------------------------------------------------------------------*\

这是第一届上海交通大学CyberSmart技术报告里面的.
智能车论坛里有很多.

6

主题

713

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1498
威望
991
贡献
467
兑换币
30
注册时间
2010-4-13
在线时间
20 小时
3#
发表于 2010-5-5 18:39:09 | 只看该作者
加油
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
277
QQ
威望
240
贡献
35
兑换币
0
注册时间
2010-5-5
在线时间
1 小时
2#
发表于 2010-5-5 15:23:57 | 只看该作者
这个代码不错
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 16:39 , Processed in 0.048097 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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