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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

智能车电磁组完整程序.docx

1、智能车电磁组完整程序#include /* common defines and macros */#include derivative.h /* derivative-specific definitions */int left1=0;int left2=0;int right1=0;int right2=0;int AR_LEFT=0;/left2-right2int AR_RIGHT=0;int CR=0;/左边相加减右边相加int preCR=0;int ppreCR=0;int mkp=0;int mki=0;int mkd=0;int ideal_speed=0; /设定速度i

2、nt speed=0;int s_ideal06=75,80,42,42,42,42; /普通道、长直道、普通到弯、长直道到弯、弯内、偏离黑线int s_ideal16=70,75,42,42,42,42;int s_ideal26=62,70,42,40,41,40;int s_ideal36=54,66,42,40,41,40;int table_mkp06=30,30,30,30,30,30; /ni 16.31 ,shun 15.16int table_mkp16=25,25,25,25,25,25; int table_mkp26=5,4,4,20,20,20;int table_m

3、kp36=4,4,4,10,8,9; /稳定速度int table_mki06=0,0,20,20,20,20;int table_mki16=0,0,20,20,20,20;int table_mki26=0,0,0,10,10,20;int table_mki36=0,0,0,0,0,0;int table_mkd06=0,0,0,0,0,0;int table_mkd16=0,0,0,0,0,0;int table_mkd26=0;int table_mkd36=0,0,0,0,0,0;int s_table6;int b_mkp6=0;int b_mki6=0;int b_mkd6=0

4、;int table_rkp07=5,3,2,550,550,550,8;/普通道中间、长直道低速、长直道高速、普到弯、直到弯、弯、普通道两边int table_rkp17=7,5,4,450,450,400,9;int table_rkp27=6,3,2,150,150,150,9;int table_rkp37=5,3,2,150,150,150,9;int table_rkd07=0,0,0,400,400,400,100;int table_rkd17=0,0,0,500,500,500,100;int table_rkd27=0,0,0,200,300,400,100;int tab

5、le_rkd37=0,0,0,200,300,400,100;int b_rkp7=0;int b_rkd7=0;int rkp=0;int rkd=0;int f=0;/ pwmDTY要加的值int pref=0;int Pulse_count=0; /脉冲数int ganhuang=0;unsigned int ting=0;int i=0; int Flag_Chute=0; /道路标志int GeneralCtn=0;int CurveCtn=0;int ChuteCtn=0;int WANCtn=0;int Flag_gaosu=0;unsigned char Flag_Pwm;/知

6、道转弯道标志 int flag=0; /*/PLL超频到40MHZ*/ void PLL_Init(void) CLKSEL=0X00; PLLCTL_PLLON=1; REFDV=0X80|0X01; SYNR=0X40|0X04; POSTDIV=0X00; asm nop; asm nop; while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL=1;/延时函数 cnt*1ms;void delay(unsigned int cnt) unsigned int loop_i,loop_j; for(loop_i=0;loop_icnt;loop_i+) loop_j=

7、0x1300; while(loop_j-); /*/计数程序/*/void PACBInit() /PT7 获得脉冲值 PACTL=0X40; /PT7 PIN,PACN32 16BIT,Rising edge,NOT INTERRUPT TCTL3=0x40; /c-输入捕捉7 上升沿有效, TIE_C7I=0; /通道7 禁止中断 TIOS_IOS7=0; /每一位对应通道的: 0 输入捕捉,1 输出比较 PACNT = 0; void RTI_init(void) /RTI 产生 10ms 的中断定时 asm sei; /关闭中断 RTICTL=0xC7; /中断周期设置10ms 中断

8、一次(或者让RTICTL=0x59) CRGINT_RTIE=1; /实时中断有效,一旦RTIF=1 则发出中断请求 asm cli; /开放中断 /舵机初始化void PWM_rudder_init(void) PWME_PWME3=0; PWME_PWME2=0; PWMPRCLK_PCKB=2;/CLOCKB=BUS/4=10MHz PWMSCLB=2;/CLOCCSB=10/(2*2)=2.5MHz PWMCTL_CON23=1;/组合PWM23 PWMCLK_PCLK3=1;/PWM3使用SB PWMPER23=50000;/写PWM23的周期寄存器,周期是20ms PWMPOL_P

9、POL3=1;/极性为正 PWMCAE_CAE3=0;/左对齐 PWME_PWME3=1;/使能PWM23 /电机初始化void PWM_init_motor(void) /电机初始化 PWME_PWME0=0; PWME_PWME1=0; PWMPRCLK_PCKA=2; /Clock A=40M/4=10M PWMPOL_PPOL1=1;/通道1 正极性输出 PWMCLK_PCLK1=0;/通道1 选择A 时钟 PWMCAE_CAE1=0;/左对齐 PWMCTL_CON01=1; PWMPER01=1000;/输出频率=10M/1000=10Khz PWMDTY01=0;/通道1 占空比为

10、100/250 PWME_PWME1=1;/通道1 使能 PWME_PWME4=0; PWME_PWME5=0; PWMPRCLK_PCKA=1; /Clock A=40M/2=20M PWMPOL_PPOL5=1;/通道5 正极性输出 PWMCLK_PCLK5=1;/通道5 选择SA 时钟 PWMSCLA=1; /ClockSB=20M/(2*1)=10M PWMCAE_CAE5=0;/左对齐 PWMCTL_CON45=1; PWMPER45=1000;/输出频率=10M/1000=10Khz PWMDTY45=0;/初始通占空比0 PWME_PWME5=1;/通道5 使能 void AD_

11、Init(void) ATD0CTL1=0x20; /选择AD通道为外部触发,10位精度,采样前不放电 ATD0CTL2=0x40; /标志位自动清零,禁止外部触发, 禁止中断 ATD0CTL3=0xA0; /右对齐无符号,每次转换4个序列, No FIFO, Freeze模式下继续转 ATD0CTL4=0x09; /采样时间为4个AD时钟周期,PRS=9,ATDClock=40/(2*(9+1)2MHz ATD0CTL5=0x30; /特殊通道禁止,连续转换4个通道 ,多通道转换,起始通道为0转换 ATD0DIEN=0x00; /禁止数字输入/*/检测起跑线*/void Checkstart

12、() asm sei; TIOS_IOS0=0; /输入捕捉 TSCR1=0X80; TSCR2=0X07; TCTL4=0X01;/上升沿捕捉 TIE=0X01; /允许硬件中断 asm cli; /拨码开关void boman() if(PORTA_PA0=1) b_rkp0=table_rkp00; b_rkp1=table_rkp01; b_rkp2=table_rkp02; b_rkp3=table_rkp03; b_rkp4=table_rkp04; b_rkp5=table_rkp05; b_rkp6=table_rkp06; b_rkd0=table_rkd00; b_rkd1

13、=table_rkd01; b_rkd2=table_rkd02; b_rkd3=table_rkd03; b_rkd4=table_rkd04; b_rkd5=table_rkd05; b_rkd6=table_rkd06; b_mkp0=table_mkp00; b_mkp1=table_mkp01; b_mkp2=table_mkp02; b_mkp3=table_mkp03; b_mkp4=table_mkp04; b_mkp5=table_mkp05; b_mki0=table_mki00; b_mki1=table_mki01; b_mki2=table_mki02; b_mki3

14、=table_mki03; b_mki4=table_mki04; b_mki5=table_mki05; b_mkd0=table_mkd00; b_mkd1=table_mkd01; b_mkd2=table_mkd02; b_mkd3=table_mkd03; b_mkd4=table_mkd04; b_mkd5=table_mkd05; s_table0=s_ideal00; s_table1=s_ideal01; s_table2=s_ideal02; s_table3=s_ideal03; s_table4=s_ideal04; s_table5=s_ideal05; if(POR

15、TA_PA1=1) b_rkp0=table_rkp10; b_rkp1=table_rkp11; b_rkp2=table_rkp12; b_rkp3=table_rkp13; b_rkp4=table_rkp14; b_rkp5=table_rkp15; b_rkp6=table_rkp16; b_rkd0=table_rkd10; b_rkd1=table_rkd11; b_rkd2=table_rkd12; b_rkd3=table_rkd13; b_rkd4=table_rkd14; b_rkd5=table_rkd15; b_rkd6=table_rkd16; b_mkp0=tab

16、le_mkp10; b_mkp1=table_mkp11; b_mkp2=table_mkp12; b_mkp3=table_mkp13; b_mkp4=table_mkp14; b_mkp5=table_mkp15; b_mki0=table_mki10; b_mki1=table_mki11; b_mki2=table_mki12; b_mki3=table_mki13; b_mki4=table_mki14; b_mki5=table_mki15; b_mkd0=table_mkd10; b_mkd1=table_mkd11; b_mkd2=table_mkd12; b_mkd3=tab

17、le_mkd13; b_mkd4=table_mkd14; b_mkd5=table_mkd15; s_table0=s_ideal10; s_table1=s_ideal11; s_table2=s_ideal12; s_table3=s_ideal13; s_table4=s_ideal14; s_table5=s_ideal15; if(PORTA_PA2=1) b_rkp0=table_rkp20; b_rkp1=table_rkp21; b_rkp2=table_rkp22; b_rkp3=table_rkp23; b_rkp4=table_rkp24; b_rkp5=table_r

18、kp25; b_rkp6=table_rkp26; b_rkd0=table_rkd20; b_rkd1=table_rkd21; b_rkd2=table_rkd22; b_rkd3=table_rkd23; b_rkd4=table_rkd24; b_rkd5=table_rkd25; b_rkd6=table_rkd26; b_mkp0=table_mkp20; b_mkp1=table_mkp21; b_mkp2=table_mkp22; b_mkp3=table_mkp23; b_mkp4=table_mkp24; b_mkp5=table_mkp25; b_mki0=table_m

19、ki20; b_mki1=table_mki21; b_mki2=table_mki22; b_mki3=table_mki23; b_mki4=table_mki24; b_mki5=table_mki25; b_mkd0=table_mkd20; b_mkd1=table_mkd21; b_mkd2=table_mkd22; b_mkd3=table_mkd23; b_mkd4=table_mkd24; b_mkd5=table_mkd25; s_table0=s_ideal20; s_table1=s_ideal21; s_table2=s_ideal22; s_table3=s_ide

20、al23; s_table4=s_ideal24; s_table5=s_ideal25; if(PORTA_PA3=1) b_rkp0=table_rkp30; b_rkp1=table_rkp31; b_rkp2=table_rkp32; b_rkp3=table_rkp33; b_rkp4=table_rkp34; b_rkp5=table_rkp35; b_rkp6=table_rkp36; b_rkd0=table_rkd30; b_rkd1=table_rkd31; b_rkd2=table_rkd32; b_rkd3=table_rkd33; b_rkd4=table_rkd34

21、; b_rkd5=table_rkd35; b_rkd6=table_rkd36; b_mkp0=table_mkp30; b_mkp1=table_mkp31; b_mkp2=table_mkp32; b_mkp3=table_mkp33; b_mkp4=table_mkp34; b_mkp5=table_mkp35; b_mki0=table_mki30; b_mki1=table_mki31; b_mki2=table_mki32; b_mki3=table_mki33; b_mki4=table_mki34; b_mki5=table_mki35; b_mkd0=table_mkd30

22、; b_mkd1=table_mkd31; b_mkd2=table_mkd32; b_mkd3=table_mkd33; b_mkd4=table_mkd34; b_mkd5=table_mkd35; s_table0=s_ideal30; s_table1=s_ideal31; s_table2=s_ideal32; s_table3=s_ideal33; s_table4=s_ideal34; s_table5=s_ideal35; /*/赛道特征识别/*/void Roadjudge(void) if(Flag_Chute=0) /普通弯道情况 0 GeneralCtn=0; Curv

23、eCtn=0; if(CR=-23&CR=40) /此时对应一个车轮的内侧压线 ChuteCtn+; WANCtn=0; if(CR40) / if(CR90) /对应车轮的外侧压线 ChuteCtn=0; WANCtn+; else ChuteCtn=0; WANCtn=0; if(ChuteCtn10000) / 300 Flag_Chute=1; if(WANCtn40)CurveCtn+; / 60 if(CR1|CurveCtn-23&CR1300)Flag_Chute=0; /if(GeneralCtn130)Flag_Ct=1; /else Flag_Ct=0; /if(k_abs(Turn_C-Turn54) / / Flag_Zhj=1; / / else / / Flag_Zhj=0; / / if(Flag_Pwm=1&Flag_Ct=1)Flag_Chute=1; /*/舵机控制*/void rudder_ctrl(void) if(Flag_Chute=0) /普通道 Flag_Pwm=0; if(CR-23) rkp=b_rkp0; rkd=b_rkd0; else rkp=b_rkp6; rkd=b_rkp6; else if(Flag_Chute=1) /长直道 Flag_Pwm=1; if(Flag_gaosu

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

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