收藏 分销(赏)

l298n电机驱动直流电机各种程序.doc

上传人:天**** 文档编号:4615296 上传时间:2024-10-07 格式:DOC 页数:6 大小:14.71KB
下载 相关 举报
l298n电机驱动直流电机各种程序.doc_第1页
第1页 / 共6页
l298n电机驱动直流电机各种程序.doc_第2页
第2页 / 共6页
l298n电机驱动直流电机各种程序.doc_第3页
第3页 / 共6页
l298n电机驱动直流电机各种程序.doc_第4页
第4页 / 共6页
l298n电机驱动直流电机各种程序.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、(1)#include#define uchar unsigned char#define uint unsigned intsbit INPUT1 = P10; /控制口sbit INPUT2 = P11;sbit INPUT3 = P12;sbit INPUT4 = P13;sbit ENA = P14; /产生PWM波sbit ENB = P15;uint MA=0,MB=0;uint SpeedA=20;/50%占空比uint SpeedB=20;void delay(uint z) uint x,y;for(x=z;x0;x-)for(y=125;y0;y-); void main(

2、void)delay(1000);delay(1000);INPUT1=1;INPUT2=0;INPUT3=1;INPUT4=0;TH0 = 0xF4;TL0 = 0x48;TH1 = 0xF4;TL1 = 0x48;TMOD = 0x11;TR0 = 1;TR1 = 1;ET0 = 1;ET1 = 1;EA = 1; while(1) void time0_int() interrupt 1 using 1TR0=0;TH0=0xF4;TL0=0x48;MA+; if(MA SpeedA) ENA = 1;else ENA = 0;if(MA = 40) MA = 0;TR0 = 1;voi

3、d time1_int() interrupt 3 using 1TR1=0;TH1=0xF4;TL1=0x48;MB=MB + 1;if(MB SpeedB) ENB=1;else ENB = 0;if(MB = 40) MB = 0;TR1 = 1;(2)#include sbit KEY1 = P31;sbit PWM = P15;unsigned char CYCLE; /定义周期 该数字X基准定时时间 如果是10 则周期是10 x 0.1msunsigned char PWM_ON ;/定义高电平时间void delay(unsigned int cnt) while(-cnt);m

4、ain()unsigned char PWM_Num;/定义档位TMOD |=0x01;/定时器设置 1ms in 12M crystalTH0=(65536-1000)/256; TL0=(65536-1000)%256;/定时1mS IE= 0x82; /打开中断TR0=1;CYCLE = 10;/ 时间可以调整 这个是10步调整 周期10ms 8位PWM就是256步while(1) if(!KEY1) delay(10000); if(!KEY1) PWM_Num+; if(PWM_Num=4)PWM_Num=0; switch(PWM_Num) case 0:P1=0xFE;PWM_O

5、N=0;break;/高电平时长 case 1:P1=0xFD;PWM_ON=4;break; case 2:P1=0xFB;PWM_ON=6;break; case 3:P1=0xF7;PWM_ON=8;break; default:break; /*/* 定时中断 */*/void tim(void) interrupt 1 using 1static unsigned char count; /TH0=(65536-1000)/256; TL0=(65536-1000)%256;/定时1mS if (count=PWM_ON) PWM = 1; /灯灭 count+;if(count =

6、 CYCLE) count=0;if(PWM_ON!=0) /如果左右时间是0 保持原来状态 PWM = 0;/灯亮 (3)/*电子电机驱动模块直流电机控制程序*/#include sbit IN1=P10;sbit IN2=P11;sbit IN3=P12;sbit IN4=P13;sbit EN1=P14;sbit EN2=P15;unsigned int pwm_H;unsigned int pwm_L;/*初始函数函数*/*日期:2012年2月2日 */*版本号 V1.2*/*说明:初始化系统,调用速度设置函数前请先初始化*/void InitSpeed()TMOD=0X01;TL0=0;TH0=0;TR0=1;ET0=1;EA=1;/*速度设置函数*/*日期:2012年2月2日 */*版本号 V1.2*/*说明:0-1000级速度,值越高速度越快*/void SetSpeed(unsigned int num) if(num8;EN1=0; /电机1不使能EN2=0; /电机2不使能stepFlag=0;else TL0=pwm_L; TH0=pwm_L8; EN1=1; /电机1使能EN2=1; /电机2使能stepFlag=1;TR0=1;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服