标题:
为什么这个pwm调不了速度,而是会停了在动,现在测试的是循迹前两个,大神帮我改进...
[打印本页]
作者:
zq啊啊啊
时间:
2018-12-10 12:39
标题:
为什么这个pwm调不了速度,而是会停了在动,现在测试的是循迹前两个,大神帮我改进...
#include<reg52.h>
#define uchar unsigned char
#define uint usigned int
//???????????
#define zuo_qian IN1 = 1; IN2 = 0
#define zuo_hou IN1 = 0; IN2 = 1
#define you_qian IN3 = 0; IN4 = 1
#define you_hou IN3 = 1; IN4 = 0
//????????λ??
sbit zuo = P0^1;
sbit zhong = P0^2;
sbit you = P0^3;
//????in1~4,????io??
sbit IN1 = P1^1;
sbit IN2 = P1^2;
sbit IN3 = P1^3;
sbit IN4 = P1^4;
sbit ENA = P1^5;
sbit ENB = P1^6;
sbit led = P1^0;
//????????
uchar zkb_zuo = 0;
uchar zkb_you = 0;
uchar t = 0;
void timer()
{
TMOD = 0x01; //????????λ????????
TH0 = (65535-100)/256;
TH0 = (65535-100)%256;
ET0 = 1;
TR0 = 1;
}
//??pwm???ε??????100???ж??????ж?100us?????pwm??????????????б???zkb_????
void timer0() interrupt 1
{
TH0 = (65535-100)/256;//?????趨???
TH0 = (65535-100)%256;
if(t<zkb_zuo)//?????????t????????????????????
ENA = 1;
else
ENA = 0;//?????1/100
if(t<zkb_you)//?????????t????????????????????
ENB = 1;
else
ENB = 0;//?????1/100
t++;
if(t>=100)
t = 0;
}
/*//???????????????????????????????????????
??1 ??1 ??1
0 1 1 ????? ?????
0 0 1 ????? С????
1 0 1 ???
1 0 0 ????? С????
1 1 0 ????? ?????
*/
void xunji()
{
if((zuo==1)&&(zhong==0))
{
zkb_zuo = 100;
zkb_you = 100;
zuo_hou;
you_qian;
led = 0;
}
else if((zuo==1)&&(zhong==1))
{
zkb_zuo = 40;
zkb_you = 100;
zuo_qian;
you_qian;
led = 1;
}
/* if((zuo==0)&&(zhong==1))
{
led = 0;
}
else if((zuo==0)&&(zhong==0))
{
led = 1;
}
else if((zuo==0)&&(zhong==1)&&(you==1))
{
zkb_zuo = 20;
zkb_you = 100;
zuo_hou;
you_qian;
}
else if((zuo==1)&&(zhong==0)&&(you==1))
{
zkb_zuo = 80;
zkb_you = 80;
zuo_qian;
you_qian;
}
else if((zuo==1)&&(zhong==0)&&(you==0))
{
zkb_zuo = 20;
zkb_you = 100;
zuo_qian;
you_hou;
}
else if((zuo==1)&&(zhong==1)&&(you==0))
{
zkb_zuo = 100;
zkb_you = 100;
zuo_qian;
you_hou;
} */
}
void main()
{
timer();//??????????
EA=1;//?????ж?
while(1)
{
xunji();
}
}
作者:
zq啊啊啊
时间:
2018-12-11 08:19
急救大神,我是小白,想弄个循迹小车
作者:
天下为家129
时间:
2018-12-11 09:46
我也是小白,请问差速的程序是怎样写的啊?比如要写左转,左边的轮子速度20,右边的轮子速度80,请问要怎样写。求大神指教。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1