简易循迹小车.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:5 大小:35KB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

简易循迹小车.doc

简易循迹小车.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

#include"MSP430X14X.h"#defineuintunsignedint#defineucharunsignedcharvoidSystemInitial(void);//时钟设置voidzhankongbi(unsignedintspeed1,unsignedintspeed2);//直流电机的占空比函数voidmove(unsignedintispeed1,unsignedintispeed2,unsignedintdriection);//移动函数voidpinlv(unsignedintfre);//频率函数,设置PWM波频率voidDelay(unsignedintt);//延时函数unsignedintifre;//频率uchartemp1,temp2,temp3,temp4,temp5;ucharflag;//标志位unsignedinti;//////////////////////////电机的占空比函数//////////////////voidzhankongbi(unsignedintspeed1,unsignedintspeed2){pinlv(ifre);//设置频率值CCTL1=OUTMOD_7;//比较控制寄存器的输出模式7CCR1=speed1;//占空比350/512CCTL2=OUTMOD_7;//比较控制寄存器的输出模式7CCR2=speed2;//占空比300/512TBCCTL1=OUTMOD_7;TBCCR1=speed1;//CCR1PWMdutycycleTBCCTL2=OUTMOD_7;TBCCR2=speed2;//CCR2PWMdutycycle}//////////////////////////移动函数//////////////////voidmove(unsignedintispeed1,unsignedintispeed2,unsignedintdriection){zhankongbi(ispeed1,ispeed2);P1DIR|=BIT1;//P1.1输出P1OUT|=BIT1;//P1.1为1,作为控制使能断P1DIR|=BIT0;//P1.0输出P1OUT|=BIT0;//P1.0为1,作为控制使能断if(driection==0)//正转{P1SEL|=BIT6;//P1.6TAL输出PWMP1DIR|=BIT6;//P1.6输出PWMP4SEL&=~BIT1;//P4.1为普通IO口P4DIR|=BIT1;//P4.1的PWM波输出端口设为普通端口P4OUT&=~BIT1;//p4.1置0P1SEL|=BIT7;//P1.7TAL输出PWMP1DIR|=BIT7;//P1.7输出P4SEL&=~BIT2;//P4.2的PWM波输出端口设为普通端口P4DIR|=BIT2;P4OUT&=~BIT2;//p4.2置0}if(driection==100)//左转时反转{P1SEL|=BIT6;//P1.6输出PWM波P1DIR|=BIT6;//P1.6输出P4SEL&=~BIT1;//P4.1普通IO口P4DIR|=BIT1;P4OUT&=~BIT1;//P4.1置0P1SEL&=~BIT7;//P1.7普通IO口P1DIR|=BIT7;//P1.7输出P1OUT&=~BIT7;//P1.7置0P4SEL|=BIT2;//P4.2PWM端口P4DIR|=BIT2;//p4.2输出PWM}if(driection==200)//右转时反转{P1SEL&=~BIT6;//P1.6普通IO口P1DIR|=BIT6;//P1.6输出P1OUT&=~BIT6;//P1.6置0P4SEL|=BIT1;//P4.1PWM端口P4DIR|=BIT1;//p4.1输出PWMP1SEL|=BIT7;//P1.7PWM口P1DIR|=BIT7;//P1.7输出P4SEL&=~BIT2;//P4.1普通IO口P4DIR|=BIT2;//P4.1输出P4OUT&=~BIT2;//P4.1置0}}//////////////////////设置频率函数//////////voidpinlv(unsignedintfre){CCR0=fre;//TACCROTBCCR0=fre;//TBCCRO}////////////////////////////////////////////voidmain(void){WDTCTL=WDTPW+WDTHOLD;/