L298N PWN调速程序.docx
- 文档编号:10659314
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:10
- 大小:15.61KB
L298N PWN调速程序.docx
《L298N PWN调速程序.docx》由会员分享,可在线阅读,更多相关《L298N PWN调速程序.docx(10页珍藏版)》请在冰点文库上搜索。
L298NPWN调速程序
/*************************使用定时中断来实现调节PWM调加减10个控位档********************************
功能:
PWM调速、控制10个档位速度、可随时加速减速功能。
作者:
韦贤
院校:
广西师范大学
专业:
08电子信息工程
**************************************************************************************************/
#include
#include"LCD1602.h"
sbitKEY1=P1^0;
sbitKEY2=P1^1;
sbitKEY3=P1^2;
sbitKEY4=P1^3;
sbitKEY5=P1^4;
sbitEC=P3^0;//小车使能接口1
sbitEB=P3^1;//使能接口2
sbitzuo1=P2^1;
sbitzuo2=P2^2;
sbityou1=P2^3;
sbityou2=P2^4;
unsignedcharCYCLE;//定义周期该数字X基准定时时间如果是10则周期是10x0.1ms
unsignedcharPWM_ON;//定义高电平时间
unsignedcharPWM_Num;//定义档位
#defineucharunsignedchar
#defineuintunsignedint
//==========宏定义P2口====================
#defineDATA_PORTP0
/**********************************延时子程序*****************************************/
voiddelay(unsignedintcnt)
{
while(--cnt);
}
/************************************************************************************/
voidqianjin()//前进
{
zuo1=1;
zuo2=0;
you1=1;
you2=0;
}
voidhoutui()//后退
{
zuo1=0;
zuo2=1;
you1=0;
you2=1;
}
voidtingzhi()//停止
{
zuo1=0;
zuo2=0;
you1=0;
you2=0;
}
/*********************************************************************************/
voiddangwei(unsignedcharPWM_Num)//加速档位子程序
{
switch(PWM_Num){
case0:
zuo1=1;
zuo2=0;
you1=1;
you2=0;
PWM_ON=9;
Displaypstr(0,0,"Speedthreshold");//显示字符串
Displaypstr(11,1,"0");//显示字符串
break;//高电平时长
case1:
zuo1=1;
zuo2=0;
you1=1;
you2=0;
PWM_ON=8;
Displaypstr(0,0,"Speedthreshold");//显示字符串
Displaypstr(11,1,"1");//显示字符串
break;
case2:
zuo1=1;
zuo2=0;
you1=1;
you2=0;
PWM_ON=7;
Displaypstr(0,0,"Speedthreshold");//显示字符串
Displaypstr(11,1,"2");//显示字符串
break;
case3:
zuo1=1;
zuo2=0;
you1=1;
you2=0;
PWM_ON=6;
Displaypstr(0,0,"Speedthreshold");//显示字符串
Displaypstr(11,1,"3");//显示字符串
break;
case4:
zuo1=1;
zuo2=0;
you1=1;
you2=0;
PWM_ON=5;
Displaypstr(0,0,"Speedthreshold");//显示字符串
Displaypstr(11,1,"4");//显示字符串
break;
case5:
zuo1=1;
zuo2=0;
you1=1;
you2=0;
PWM_ON=4;
Displaypstr(0,0,"Speedthreshold");//显示字符串
Displaypstr(11,1,"5");//显示字符串
break;
case6:
zuo1=1;
zuo2=0;
you1=1;
you2=0;
PWM_ON=3;
Displaypstr(0,0,"Speedthreshold");//显示字符串
Displaypstr(11,1,"6");//显示字符串
break;
case7:
zuo1=1;
zuo2=0;
you1=1;
you2=0;
PWM_ON=2;
Displaypstr(0,0,"Speedthreshold");//显示字符串
Displaypstr(11,1,"7");//显示字符串
break;
case8:
zuo1=1;
zuo2=0;
you1=1;
you2=0;
PWM_ON=1;
Displaypstr(0,0,"Speedthreshold");//显示字符串
Displaypstr(11,1,"8");//显示字符串
break;
case9:
zuo1=1;
zuo2=0;
you1=1;
you2=0;
PWM_ON=0;
Displaypstr(0,0,"Speedthreshold");//显示字符串
Displaypstr(11,1,"9");//显示字符串
break;
default:
break;
}
if(PWM_Num==10)PWM_Num=0;
}
/**************************************/
/********************************/
/*定时中断*/
/********************************/
voidtim(void)interrupt1using1
{
staticunsignedcharcount;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;//定时1mS
if(count==PWM_ON)
{
EC=1;//小车使能接口1
EB=1;//使能接口2
}
count++;
if(count==CYCLE)
{
count=0;
if(PWM_ON!
=0)//如果左右时间是0保持原来状态
EC=0;//小车使能接口1
EB=0;//使能接口2
}
}
/*键位加减速主函数开始*/
/**************************************/
main()
{
Init_1602();//初始化液晶
TMOD|=0x01;//定时器设置1msin12Mcrystal
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;//定时0.5mS
IE=0x82;//打开中断
TR0=1;
CYCLE=10;//时间可以调整这个是10步调整周期10ms8位PWM就是256步
Displaypstr(0,0,"Author:
WeiXian");
Displaypstr(0,1,"PWN");
while
(1)
{
if(!
KEY1)//加速键
{
delay(25000);
if(!
KEY1)
{
Init_1602();
PWM_Num++;
Displaypstr(4,1,"-->>");//显示字符串
dangwei(PWM_Num);
}
}
if(!
KEY2)//减速键
{
delay(25000);
if(!
KEY2)
{
Init_1602();
PWM_Num--;
Displaypstr(5,1,"<<--");//显示字符串
dangwei(PWM_Num);
}
}
if(!
KEY3)//前进键
{
delay(25000);
if(!
KEY3)
{
Init_1602();
PWM_ON=0;
Displaypstr(2,0,"Allspeed");
Displaypstr(4,1,"----up");
qianjin();
}
}
if(!
KEY4)//后退键
{
delay(25000);
if(!
KEY4)
{
Init_1602();
PWM_ON=0;
Displaypstr(4,0,"Allspeed");
Displaypstr(3,1,"----down");
houtui();
}
}
if(!
KEY5)//停止键
{
delay(25000);
if(!
KEY5)
{
Init_1602();
PWM_ON=0;
Displaypstr(4,0,"speed");
Displaypstr(3,1,"----STOP");
tingzhi();
}
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- L298N PWN调速程序 PWN 调速 程序