已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
巡线小车源程序(MSP430,PID)首先是各种宏定义的头文件cppview plaincopyprint?1 myhead.h 2 #ifndef xxxx_xxx 3 #define xxxx_xxx 4 #define P 43 5 #define I 0.01 6 #define D 100 7 #define LeftMotorTurnNeg P3OUT|=BIT0;P3OUT&=BIT1; 8 #define LeftMotorTurnPos P3OUT&=BIT0;P3OUT|=BIT1; 9 #define RightMotorTurnNeg P3OUT|=BIT3;P3OUT&=BIT2; 10 #define RightMotorTurnPos P3OUT&=BIT3;P3OUT|=BIT2; 11 #define LeftPwmOut TACCR1 12 #define RightPwmOut TACCR2 13 #define F 10000 14 #define T (8000000/F) 15 #define BASIC 100 16 #define simpletime (unsigned int)5 17 #define LEFT 100 18 #define RIGHT 100 19 #endif 接下来就是点击驱动的头文件 cppview plaincopyprint?20 Motor.h 21 #ifndef Motor 22 #define Motor 23 #include myhead.h 24 #include msp430x14x.h 25 void MotorLeft(float left) 26 27 LeftMotorTurnPos/正转 28 if(left0) 29 30 LeftMotorTurnNeg/反转 31 left=-left; 32 33 LeftPwmOut=(int)(left*T/100); 34 35 void MotorRight(float right) 36 37 RightMotorTurnPos/正转 38 if(right100)left=100; 50 if(left100)right=100; 52 if(right=0;i-); 106 while(IFG1&OFIFG); 107 BCSCTL2=SELM_2+DIVM_0+SELS+DIVS_0;/SMCLK=MCLK=XT2;DIV=0; 108 109 float PID_Cal(float error) 110 111 float derror=error-lasterror;/微分df 112 sumerror+=error;/积分 113 lasterror=error; 114 return P*error+I*sumerror+D*derror; 115 116 float Sensor_Read()/左边传感器压线往左偏 117 118 static float ans=0; 119 float sum=0; 120 int i,sensor=0,num=0; 121 sensor=P5IN;/3.7 5.7 5.6 122 sensor=(P3IN&BIT7)1)|sensor; 123 for(i=0;i9;i+) 124 125 if(!(sensor&(1i) 126 127 sum+=Sensori; 128 num+; 129 130 131 if(num!=0&num=4)ans=sum/num; 132 if(ans0) 133 134 P6OUT=0x80; 135 P6OUT|=(int)(-(ans-0.5); 136 137 else 138 139 P6OUT=(int)(ans+0.5); 140 141 142 return ans;/运行找正常 143 144 void AvoidDetection(float left,float right)/壁障函数 145 146 int sensor=0; 147 MotorLeft(left); 148 MotorRight(right); 149 delay(200); 150 do 151 MotorLeft(right); 152 MotorRight(left); 153 sensor=P3IN&BIT7;/3.7 5.7 5.6 154 sensor=(sensor1)|P5IN; 155 while(sensor=0x1ff);/当在空白的时候,一只往里面拐。 156 157 void main( void ) 158 159 / Stop watchdog timer to prevent time out reset 160 WDTCTL = WDTPW + WDTHOLD; 161 Crystal(); 162 IO_inti(); 163 timer_inti(); 164 PID_inti(); 165 P6OUT=0XF0; 166 while(1) 167 168 if(flag) 169 170 DriveMotor(PID_Cal(Sensor_Read(); 171 172 173 174 #pragma vector=TIMERB0_VECTOR 175 _interrupt void timer_bo() 176
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 战争史复习提纲(含答案)
- 文学常识积累200题(含答案)
- 2025-2026学年新教材高中数学 第4章 概率与统计 4.2 随机变量 4.2.5 正态分布说课稿 新人教B版选择性必修第二册
- 2025年北京市安全员-《C证》考试题库及答案
- 2025年吉林省专升本考试大学艺术概论测试题含解析
- 校长在初三学生期中总结表彰会上发言:别只盯期中排名!意志磨得越硬离中考巅峰越近
- 山东潍坊中考试题历史卷(解析版)
- 2023中级育婴员理论考核试题
- 行业设备维修保养手册
- 2.3.4配置一定物质的量浓度的溶液(讲义)-2024-2025学年高一化学同步教学说课稿+讲义(人教版2019必修第一册)
- 2025年大学《林学-森林生态学》考试备考题库及答案解析
- 【《基于单片机和面部识别的考勤机系统设计》8000字】
- 2025贵州贵安商业资产运营管理有限公司招聘11人笔试考试参考试题附答案解析
- 彩泥鱼世界(课件)-广美版美术二年级上册
- 山东高速安全员考试题库及答案解析
- 质量目视管理的实施方法
- 昆山编外人员考试真题
- 中远集团办公楼施工图预算编制
- 2025年辅导员能力大赛笔试题库及答案
- 2024年初中数学新课程标准核心内容解读
- DeepSeek深度应用及创新实践培训与辅导课件
评论
0/150
提交评论