找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1621|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

為什么這個(gè)pwm調(diào)不了速度,而是會(huì)停了在動(dòng),現(xiàn)在測(cè)試的是循跡前兩個(gè),大神幫我改進(jìn)...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:439927 發(fā)表于 2018-12-10 12:39 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
100黑幣
#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();
}
}



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:424741 發(fā)表于 2018-12-11 09:46 | 只看該作者
我也是小白,請(qǐng)問(wèn)差速的程序是怎樣寫的啊?比如要寫左轉(zhuǎn),左邊的輪子速度20,右邊的輪子速度80,請(qǐng)問(wèn)要怎樣寫。求大神指教。
回復(fù)

使用道具 舉報(bào)

樓主
ID:439927 發(fā)表于 2018-12-11 08:19 | 只看該作者
急救大神,我是小白,想弄個(gè)循跡小車
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表