(bio)}: ƬC(j)ôƶC(j)@D(zhun) [ӡ]

: shirowhite    r(sh)g: 2018-11-5 15:35
(bio)}: ƬC(j)ôƶC(j)@D(zhun)
ͨ^@ӿҰһ(g)IλC(j)D(zhun)(dng)90ȻD(zhun)ȥҰڶ(g)IλC(j)D(zhun)(dng)90ȣ5Σͨ^һ(g)C(j)Ɔ᣿ô_һ(g)ƬC(j)ƃɂ(g)C(j)

: shirowhite    r(sh)g: 2018-11-5 15:36
дЌԒڼӺڎ˸FֻͺڎϣдЎ͎æ

: ˮ001    r(sh)g: 2018-11-5 22:02
Ԍ(sh)F(xin)51ƬC(j)STM32Ե
: jiaosw410923    r(sh)g: 2018-11-6 08:54
늙C(j) (q)(dng)ģK ӆƬC(j)Ϳ
: new_hand    r(sh)g: 2018-11-6 10:22
pwm
: qingfengyu    r(sh)g: 2018-11-7 18:13
ƬC(j)Dzֱӽ늙C(j)ϵ Ҫ(q)(dng)ģKx ɂ(g)I ֱДĂ(g)Iٽo(q)(dng)ioݔD(zhun)һ ߀5εĵij򲻾ͺˆ
: xiabing0420    r(sh)g: 2018-11-7 20:00
}{(dio)l
: R    r(sh)g: 2018-11-7 20:53
pwm}_{(dio)ƣstm32̳Ԕ(x)B
: R    r(sh)g: 2018-11-7 20:56
bվж̳stm32pwmƵԔ(x)BҕlԼ

: Dremt    r(sh)g: 2018-11-8 13:03
#include <reg52.h>
unsigned char count;      //0.5msΔ(sh)(bio)R
sbit pwm =P0^1 ;          //PWM̖ݔ
sbit jia =P1^2;           //ǶӰIzyIO
sbit jan =P1^1;           //ǶȜpٰIzyIO
unsigned char jd;         //ǶȘ(bio)R
void delay(unsigned char i)//ӕr(sh)
{
  unsigned char j,k;
  for(j=i;j>0;j--)
    for(k=125;k>0;k--);
}
void Time0_Init()          //r(sh)ʼ
{
TMOD = 0x01;           //r(sh)0ڷʽ1   
IE   = 0x82;
TH0  = 0xfe;
TL0  = 0x33;     //11.0592MZ0.5ms
    TR0=1;                 //r(sh)_ʼ
}
void Time0_Int() interrupt 1 //Д
{
TH0  = 0xfe;             //xֵ
TL0  = 0x33;
    if(count< jd)              //Д0.5msΔ(sh)ǷСڽǶȘ(bio)R
      pwm=1;                  //_(sh)СPWMݔƽ
    else
      pwm=0;                  //ڄtݔƽ
    count=(count+1);          //0.5msΔ(sh)1
    count=count%40;     //Δ(sh)ʼK֞40 ڞ20ms
}
void keyscan()              //I
{
   if(jia==0)               //ǶӰIǷ
  {
    delay(10);              //ӕr(sh)
    if(jia==0)              //_(sh)
     {
      jd++;                 //ǶȘ(bio)R1
      count=0;              //I t20msڏ_ʼ
      if(jd==6)
        jd=5;               //ѽ(jng)180ȣt
      while(jia==0);        //ȴI_
     }
  }
  if(jan==0)                //ǶȜpСIǷ
  {
    delay(10);
    if(jan==0)
     {
      jd--;                 //ǶȘ(bio)Rp1
      count=0;
      if(jd==0)
        jd=1;               //ѽ(jng)0ȣt
      while(jan==0);
     }
  }
}
void main()
{
jd=3;
count=0;
Time0_Init();            
while(1)
{
  keyscan();               //I
  
}
}
: mogui37    r(sh)g: 2018-11-8 16:26
԰C(j)D(zhun)(dng)ĽǶǸpwmռձȌ(yng)
: yly1314    r(sh)g: 2018-11-8 20:26
Ƶİ
: 123liao    r(sh)g: 2018-11-8 21:45
E 1 ƬC(j)C(j)Դأ 2 Ãɂ(g)(wn)оƬM(jn)йԴ_ 3 C(j)̖˛]ֱBӆƬC(j)IOڣҴһ(g)10KҲ@һ֮ͿԿƶC(j)
: 123liao    r(sh)g: 2018-11-8 21:46
#include<REG52.H>
#define OUT P0
#define CON P2
#define ms0_5Con  461
#define ms2_5Con  2304
typedef unsigned char unit8;
typedef unsigned short unit_16;

sbit servo0=OUT^0;
sbit servo1=OUT^1;
sbit servo2=OUT^2;
sbit servo3=OUT^3;
sbit servo4=OUT^4;
sbit servo5=OUT^5;
sbit servo6=OUT^6;
sbit servo7=OUT^7;

sbit KEY1=CON^0;
sbit KEY2=CON^1;

unit_16 pwm[8]={1382,1382,1382,1382,1382,1382,1382,1382}; //??90?,(???1382.4,???1382)  

void Inter_Form()
{
        TMOD|=0x01;
        TH0  =0xf7;
        TL0  =0x00;
        TR0  =1;
        ET0  =1;
        EA   =1;
}

void delay(unit8 x)
{
        unit8 i=0;
        while(x--)
        {
                for(i=0;i<125;i++);
        }
}
/*------------------------?????--------------------------*/
/*unit_16 Transform(uchar val)
{
//0?=0.5ms, 45?=1ms, 90?=1.5ms, 135?=2ms, 180?=2.5ms
//2.5 ms??? F700, (12n/11059200=2.5/1000, n=2304, X=65536-2304=63232 > F700)
//return (unit_16)(((float)(2/180)*X+0.5)/1000*11059200/12);
unit_16 a = (val+46)*10;
if(a<ms0_5Con)
a=ms0_5Con;
if(a>ms2_5Con)
a=ms2_5Con;
return a;
}  */

/*-------------------------???---------------------------*/  

void Steering_UP(unit8 val)
{
if(pwm[val]>ms2_5Con)
pwm[val]=ms2_5Con;
pwm[val]=pwm[val]+10;
}

void Steering_Down(unit8 val)
{
if(pwm[val]<ms0_5Con)
pwm[val]=ms0_5Con;
pwm[val]=pwm[val]-10;
}

void main(void)
{
Inter_Form();
while(1)
{
if(!KEY1)
   {
   delay(2);
   if(!KEY1)
   Steering_UP(0);
   }
   else if(!KEY2)
   {
        delay(2);
   if(!KEY2)
   Steering_Down(0);
   }                 
}
}

/*------------------------??????--------------------------*/
void SteeringGear() interrupt 1
{
        static unit8 pwm_flag=0;
switch(pwm_flag)
{
case 1: servo0=1; TH0=-pwm[0]>>8; TL0=-pwm[0]; break;
case 2: servo0=0; TH0=-(ms2_5Con-pwm[0])>>8; TL0=-(ms2_5Con-pwm[0]); break;
case 3: servo1=1; TH0=-pwm[1]>>8; TL0=-pwm[1]; break;
case 4: servo1=0; TH0=-(ms2_5Con-pwm[1])>>8; TL0=-(ms2_5Con-pwm[1]); break;
case 5: servo2=1; TH0=-pwm[2]>>8; TL0=-pwm[2]; break;
case 6: servo2=0; TH0=-(ms2_5Con-pwm[2])>>8; TL0=-(ms2_5Con-pwm[2]); break;
case 7: servo3=1; TH0=-pwm[3]>>8; TL0=-pwm[3]; break;
case 8: servo3=0; TH0=-(ms2_5Con-pwm[3])>>8; TL0=-(ms2_5Con-pwm[3]); break;
case 9: servo4=1; TH0=-pwm[4]>>8; TL0=-pwm[4]; break;
case 10: servo4=0; TH0=-(ms2_5Con-pwm[4])>>8; TL0=-(ms2_5Con-pwm[4]); break;
case 11: servo5=1; TH0=-pwm[5]>>8; TL0=-pwm[5]; break;
case 12: servo5=0; TH0=-(ms2_5Con-pwm[5])>>8; TL0=-(ms2_5Con-pwm[5]); break;
case 13: servo6=1; TH0=-pwm[6]>>8; TL0=-pwm[6]; break;
case 14: servo6=0; TH0=-(ms2_5Con-pwm[6])>>8; TL0=-(ms2_5Con-pwm[6]); break;
case 15: servo7=1; TH0=-pwm[7]>>8; TL0=-pwm[7]; break;
case 16: servo7=0; TH0=-(ms2_5Con-pwm[7])>>8; TL0=-(ms2_5Con-pwm[7]); break;
default:TH0=0xff; TL0=0x80; pwm_flag=0;
}
pwm_flag++;
: 123liao    r(sh)g: 2018-11-8 21:47
E
1 ƬC(j)C(j)Դ
2 Ãɂ(g)(wn)оƬM(jn)й늣Դ_
3 C(j)̖˛]ֱBӆƬC(j)IOڣҴһ(g)10KҲ@һ֮ͿԿƶC(j)
: 999999999t    r(sh)g: 2018-11-17 12:34
https://download.csdn.net/download/chenshm/2656320?web=web
: Z1235789    r(sh)g: 2018-11-18 20:35
[DƬ][DƬ] һ(g)
: Сī    r(sh)g: 2018-11-19 17:57
ͨ^I팍(sh)F(xin)ģͨ^һ(g)C(j)팍(sh)F(xin)




gӭR (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1