PWM调速+循迹智能化小车程序

PWM调速+循迹智能化小车程序

ID:47842715

大小:105.50 KB

页数:35页

时间:2019-11-24

PWM调速+循迹智能化小车程序_第1页
PWM调速+循迹智能化小车程序_第2页
PWM调速+循迹智能化小车程序_第3页
PWM调速+循迹智能化小车程序_第4页
PWM调速+循迹智能化小车程序_第5页
资源描述:

《PWM调速+循迹智能化小车程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//T0产生双路PWM信号,L298N为直流电机调速,接L298N时相应的管脚上最好接上10K的上拉电阻。/*晶振采用12M,产生的PWM的频率约为100Hz*/#include#include#defineucharunsignedchar#defineuintunsignedintsbiten1=P3^4;/*L298的EnableA*/sbiten2=P3^5;/*L298的EnableB*/sbits1=P1^0;/*L298的Input1*/sbits2=P1^1;/*L298的Input2*/sbits3=P1^3;/*L298的Input3*

2、/sbits4=P1^2;/*L298的Input4*/sbitR=P2^0;sbitC=P2^1;sbitL=P2^2;sbitkey=P1^4;uchart=0;/*中断计数器*/ucharm1=0;/*电机1速度值*/ucharm2=0;/*电机2速度值*/uchartmp1,tmp2;/*电机当前速度值*//*电机控制函数index-电机号(1,2);speed-电机速度(0-100)*/voidmotor(ucharindex,charspeed){if(speed<=100){if(index==1)/*电机1的处理*/{m1=abs(speed);/*取速度的绝对值*/s1=

3、1;s2=0;}if(index==2)/*电机2的处理*/{m2=abs(speed);/*电机2的速度控制*/s3=1;s4=0;}}}voidBack(void){s1=0;s2=1;s3=1;s4=0;}voidGO(void){s1=1;s2=0;s3=1;s4=0;}voidTL(void){s1=1;s2=0;s3=0;s4=1;}voidTR(void){s1=0;s2=1;s3=1;s4=0;}voidSTOP(void){s1=1;s2=1;s3=1;s4=1;}/*voiddelay(uintj)/*简易延时函数*/{for(j;j>0;j--);}*/voiddel

4、ay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidmain(){uchari=0,j=0;TMOD=0x02;/*设定T0的工作模式为2,8位自动重置定时器,每过几个机器周期,计数器加一*/TH0=0x9B;/*装入定时器的初值,计数100次溢出*/TL0=0x9B;/*装入时间常数*/EA=1;/*开中断*/ET0=1;/*定时器0允许中断*/TR0=1;/*启动定时器0*/while(1){if(key==1){/*电机实际控制演示*/if(i<=100)//正转加速{motor(1,i);motor(2,i);dela

5、y(5000);i++;}else{GO();}}else{EA=0;while(1){if((L

6、C

7、R)==0)STOP();if(L&R)GO();if(L==0){while(C){TL();}}if(R==0){while(C){TR();}}}}}}voidtimer0()interrupt1/*T0中断服务程序*/{if(t==0)/*1个PWM周期完成后才会接受新数值*/{tmp1=m1;tmp2=m2;}if(t

8、;if(t>=100)t=0;/*1个PWM信号由100次中断产生*/}#include#include/**********************************************************************************宏定义区**********************************************************************************//*-------------------------------LCD模块--------------

9、----------------------*/#defineLCD_RWP2_6//读写控制端#defineLCD_RSP2_7//数据命令选择端#defineLCD_EP2_5//执行使能端#defineLCD_DataP1//P1口#defineWrite0x00//低电平写入#defineRead0x01//高电平读出#defineData0x01//高电平选择数据#defineCmd0x00//低电平选择命令#

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。