智能循迹小车变速转弯程序_第1页
智能循迹小车变速转弯程序_第2页
智能循迹小车变速转弯程序_第3页
智能循迹小车变速转弯程序_第4页
智能循迹小车变速转弯程序_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include #define uchar unsigned char#define uint unsigned intuchar a,i,time_count =0, count = 0,Dutycycle0 =50,Dutycycle1= 50,flag; uchar state;/*定义电机控制位 */sbit INT11= P00;/电机控制位,左电机 左,芯片中的总开关sbit INT22 =P01;/右电机控制位,高电平有效sbit INT33 =P02;/ 控制左电机,从而控制其中的车轮sbit INT44 =P03;sbit funpwm0 =P13;/ 两个控制 PWM 的

2、端口sbit funpwm1 = P14;sbit IO4=P20; /ST188 输出端口sbit IO1=P21;sbit IO2=P22;sbit IO3=P23;sbit IO5=P07;sfrCCON = 0xD8;/ PCA 控制寄存器sbitCCF0= CCON0;/ PCA 模块 0中断标志sbitCCF1 = CCON1;/ PCA 模块 0中断标志sbitCR= CCON6;/ PCA 计数器阵列溢出标志位sbitCF= CCON7;/ PCA 计数器阵列运行控制位sfrCMOD = 0xD9;/ PCA 工作模式寄存器sfrCL= 0xE9;/ PCA的 16位计数器 -

3、低 8位sfrCH= 0xF9;/ PCA的 16位计数器 -高 8位sfrCCAPM0 = 0xDA;/ PCA 模块 0的输出脉冲频率sfrCCAP0L= 0xEA;/ PCA 捕获、比较寄存器 低位字节sfrCCAP0H= 0xFA;/ PCA 捕获、比较寄存器 高位字节sfrCCAPM1 = 0xDB;/ PCA 模块 1的输出脉冲频率sfrCCAP1L= 0xEB;/同上sfrCCAP1H = 0xFB;/同上sfrPCAPWM0 = 0xf2;/ PCA 模块 0的 PWM 寄存器sfrPCAPWM1 = 0xf3;/ PCA 模块 1的 PWM 寄存器专业文档供参考,如有帮助请下

4、载。/*-uS延时函数,含有输入参数 unsigned char t ,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振 12M,精确延时请使用汇编 ,大致延时长度如下 T=tx2+5 uS-*/void DelayUs2x( unsigned char t)while(- t);/*-mS延时函数,含有输入参数 unsigned char t ,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振 12M,精确延时请使用汇编-*/void DelayMs(unsigned char t)while(t

5、- )/ 大致延时 1mSDelayUs2x(245);DelayUs2x(245);/*速度设定 :通过改变参数 a,b 来来改变两路 pwm 的占空比数值越大占空比越小 */void pwm0(unsigned int a)CCAP0L =a;CCAP0H= a;专业文档供参考,如有帮助请下载。void pwm1(unsigned int b)CCAP1L= b;CCAP1H=b;void pwm_Init()CL =0;CH= 0;CMOD=0x00;CCAP0H= CCAP0L =0x00;CCAPM0= 0x42;CCAP1H=CCAP1L=0x00;CCAPM1=0x42;CR=1

6、;delay(i)int k,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()pwm0(130);pwm1(30);DelayMs(1000);turnright0()pwm0(30);pwm1(130);DelayMs(1000);turnleft1()pwm0(0Xff);pwm1(0);DelayMs(1000);turnright1()pw

7、m0(0);pwm1(0Xff);专业文档供参考,如有帮助请下载。DelayMs(1000);stop()INT11= 1;INT22= 1;INT33= 1;INT44=1;void turnleft2()INT11= 1;INT22= 0;INT33= 0;INT44=1;pwm0(0);pwm1(30);void turnright2()INT11= 0;INT22= 1;INT33= 1;INT44=0;pwm0(30);pwm1(0);/*主函数 */main()while(1)pwm_Init();DelayMs(20);专业文档供参考,如有帮助请下载。while(1)if (IO

8、5= 1)turnright2();elseINT11= 1;INT22= 1;INT33= 1;INT44=1;/*if(IO3=0&IO2=0&IO1=0&IO4=0) former(); if(IO3=0&IO2=0&IO1=0&IO4=1) turnright1(); if(IO3=0&IO2=0&IO1=1&IO4=0) turnright0(); if(IO3=0&IO2=0&IO1=1&IO4=1) turnleft2(); if(IO3=0&IO2=1&IO1=0&IO4=0) turnleft0(); if(IO3=0&IO2=1&IO1=0&IO4=1) turnright1(); if(IO3=0&IO2=1&IO1=1&IO4=0) former(); if(IO3=0&IO2=1&IO1=1&IO4=1) turnleft2(); if(IO3=1&IO2=0&IO1=0&IO4=0) turnleft1(); if(IO3=1&IO2=0&IO1=1&IO4=0) turnleft0(); if(IO3=1&IO2=0&IO1=0&IO4=1) former(); if(IO3=1&IO2=0&IO1=1&IO4=1) turnright1(); if(IO3=1&IO2=1&IO1=0&IO4=0) turnright2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论