PWM调速+循迹--智能小车c代码-51单片机

上传人:我*** 文档编号:129974169 上传时间:2020-04-24 格式:DOC 页数:4 大小:16KB
返回 下载 相关 举报
PWM调速+循迹--智能小车c代码-51单片机_第1页
第1页 / 共4页
PWM调速+循迹--智能小车c代码-51单片机_第2页
第2页 / 共4页
PWM调速+循迹--智能小车c代码-51单片机_第3页
第3页 / 共4页
PWM调速+循迹--智能小车c代码-51单片机_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《PWM调速+循迹--智能小车c代码-51单片机》由会员分享,可在线阅读,更多相关《PWM调速+循迹--智能小车c代码-51单片机(4页珍藏版)》请在金锄头文库上搜索。

1、/T0产生双路PWM信号,L298N为直流电机调速,接L298N时相应的管脚上最好接上10K的上拉电阻。 /* 晶振采用12M,产生的PWM的频率约为100Hz */ #include #include #define uchar unsigned char #define uint unsigned int sbit en1=P34; /* L298的Enable A */ sbit en2=P35; /* L298的Enable B */ sbit s1=P10; /* L298的Input 1 */ sbit s2=P11; /* L298的Input 2 */ sbit s3=P13;

2、 /* L298的Input 3 */ sbit s4=P12; /* L298的Input 4 */sbit R=P20;sbit C=P21;sbit L=P22;sbit key=P14;uchar t=0; /* 中断计数器 */ uchar m1=0; /* 电机1速度值 */ uchar m2=0; /* 电机2速度值 */ uchar tmp1,tmp2; /* 电机当前速度值 */ /* 电机控制函数 index-电机号(1,2); speed-电机速度(0-100) */ void motor(uchar index, char speed) if(speed0;j-); v

3、oid main() uchar i=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); delay(5000);i+; elseGO(); elseEA=0;while(1)if(L|C|R)=0)STOP();if(L&R)GO();if(L=0)while(C) TL();if(R=0)while(C) TR(); void timer0() interrupt 1 /* T0中断服务程序 */ if(t=0) /* 1个PWM周期完成后才会接受新数值 */ tmp1=m1; tmp2=m2; if(ttmp1) en1=1; else en1=0; /* 产生电机1的PWM信号 */ if(t=100) t=0; /* 1个PWM信号由100次中断产生 */

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号