欢迎来到天天文库
浏览记录
ID:44201678
大小:16.44 KB
页数:6页
时间:2019-10-19
《智能循迹小车变速转弯程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#defineucharunsignedchar#defineuintunsignedintuchara,i,time_count=0,count=0,Dutycycle0=50,Dutycycle1=50,flag;ucharstate;/***定义电机控制位***/sbitINT11=P0^0;//电机控制位,左电机左,芯片中的总开关sbitINT22=P0^1;//右电机控制位,高电平有效sbitINT33=P0^2;//控制左电机,从而控制其中的车轮sbitINT
2、44=P0^3;sbitfunpwm0=P1^3;///两个控制PWM的端口sbitfunpwm1=P1^4;sbitIO4=P2^0;//ST188输出端口sbitIO1=P2^1;sbitIO2=P2^2;sbitIO3=P2^3;sbitIO5=P0^7;sfrCCON=0xD8;//PCA控制寄存器sbitCCF0=CCON^0;//PCA模块0中断标志sbitCCF1=CCON^1;//PCA模块0中断标志sbitCR=CCON^6;//PCA计数器阵列溢出标志位sbitCF=CCON^7;//
3、PCA计数器阵列运行控制位sfrCMOD=0xD9;//PCA工作模式寄存器sfrCL=0xE9;//PCA的16位计数器----低8位sfrCH=0xF9;//PCA的16位计数器----高8位sfrCCAPM0=0xDA;//PCA模块0的输出脉冲频率sfrCCAP0L=0xEA;//PCA捕获、比较寄存器——低位字节sfrCCAP0H=0xFA;//PCA捕获、比较寄存器——高位字节sfrCCAPM1=0xDB;//PCA模块1的输出脉冲频率sfrCCAP1L=0xEB;//同上sfrCCAP1H=
4、0xFB;//同上sfrPCAPWM0=0xf2;//PCA模块0的PWM寄存器sfrPCAPWM1=0xf3;//PCA模块1的PWM寄存器/*------------------------------------------------uS延时函数,含有输入参数unsignedchart,无返回值unsignedchar是定义无符号字符变量,其值的范围是0~255这里使用晶振12M,精确延时请使用汇编,大致延时长度如下T=tx2+5uS--------------------------------
5、----------------*/voidDelayUs2x(unsignedchart){while(--t);}/*------------------------------------------------mS延时函数,含有输入参数unsignedchart,无返回值unsignedchar是定义无符号字符变量,其值的范围是0~255这里使用晶振12M,精确延时请使用汇编------------------------------------------------*/voidDelayMs(
6、unsignedchart){while(t--){//大致延时1mSDelayUs2x(245);DelayUs2x(245);}}/****************************速度设定:通过改变参数a,b来来改变两路pwm的占空比数值越大占空比越小*******************************************/voidpwm0(unsignedinta){CCAP0L=a;CCAP0H=a;}voidpwm1(unsignedintb){CCAP1L=b;CCAP1
7、H=b;}voidpwm_Init(){CL=0;CH=0;CMOD=0x00;CCAP0H=CCAP0L=0x00;CCAPM0=0x42;CCAP1H=CCAP1L=0x00;CCAPM1=0x42;CR=1;}delay(i){intk,j;for(j=1000;j>0;j--)for(k=200;k>0;k--)i--;}former(){INT11=1;INT22=0;INT33=1;INT44=0;pwm0(45);pwm1(40);DelayMs(1000);}turnleft0(){pwm
8、0(130);pwm1(30);DelayMs(1000);}turnright0(){pwm0(30);pwm1(130);DelayMs(1000);}turnleft1(){pwm0(0Xff);pwm1(0);DelayMs(1000);}turnright1(){pwm0(0);pwm1(0Xff);DelayMs(1000);}stop(){INT11=1;INT22=1;INT33=1;INT44=1;}void
此文档下载收益归作者所有