ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:18.46KB ,
资源ID:2923036      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2923036.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(飞思卡尔智能车.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

飞思卡尔智能车.docx

1、飞思卡尔智能车Main.c#include /* common defines and macros */#include /* derivative information */#pragma LINK_INFO DERIVATIVE mc9s12db128b#include define.h#include init.h/ variable used in video processvolatile unsigned char image_dataROW_MAXLINE_MAX ; / data array of pictureunsigned char black_xROW_MAX ;

2、/ 0ne-dimensional arrayunsigned char row ; / x-position of the arrayunsigned char line ; / y-position of the arrayunsigned int row_count ; / row counterunsigned char line_sample ; / used to counter in ADunsigned char row_image ;unsigned char line_temp ; / temperary variable used in data transferunsi

3、gned char sample_dataLINE_MAX ; / used to save one-dimension array got ininterruption/ variables below are used in speed measureUnsigned char pulse5 ; / used to save data in PA processUnsigned char counter; / temporary counter in Speed detectUnsigned char cur_speed; / current speedshort stand;short

4、data;unsigned char curve ; / valve used to decide straight or turnshort 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*-*/vo

5、id transmit_sci(unsigned char transmit_data) / send data through sciwhile(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;elsedifference=num2-num1;ret

6、urn difference;void pwm_set(unsigned int dutycycle)PWMDTY1=dutycycle&0x00FF;PWMDTY0=dutycycle8;void get_black_wire(void) / used to extract black wire unsigned char i;for(row=0;rowROW_MAX;row+)for(line=LINE_MIN;lineimage_datarowline+3+VALVE)for(i=3;i10;i+)if(image_datarowline+i+VALVEimage_datarowline

7、+i+3)black_xrow=line+i/2+2;i=10;line=LINE_MAX; else/black_xrow=(black_xrow/45)*78;/*-*speed_control*-*/void speed_control(void)unsigned int sum,average;sum=0;for(row=0;rowFIRST_FIVE;row+)sum=sum+black_xrow;average=sum/FIRST_FIVE;curve=0;for(row=0;rowCURVE_MAX)curve_flag=0;speed=low_speed;elsecurve_f

8、lag=1;speed=hign_speed;/*-*steer_control*-*/void steer_control(void) unsigned int dutycycle;unsigned char video_center;unsigned int coefficient;int E,U; /currentstatic int e=0;video_center=(LINE_MIN+LINE_MAX)/2;stand=abs_sub(black_x1+ black_x9,2*black_x5);E=video_center-black_x8;coefficient=30+1*Fuz

9、zyLogic(stand);U=coefficient*E;dutycycle=Bounds(center+U);pwm_set(dutycycle);/ make sure it is within boundsshort Bounds(short data)if(dataright_limit)data = right_limit;if(dataleft_limit)data = left_limit;return data;Void speed_get(void)Unsigned char temp;Counter+;Temp=PACN1;cur_speed=temp-pulsecounter-1;pulsecounter-1=temp;if(counter=5)counter=0;Void set_speed(unsigned char desired_speed)If(desired_speedoddwhile(field_signal=0);row_count=0;row_image=0;EnableInterrupts;while(row_countevenwhile(field_signal=1);row_count=0;row_image=0;EnableInterrupts;while(row_countR

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1