ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á

QQ怬

Ö»ÐèÒ»²½£¬¿ìËÙ¿ªÊ¼

ËÑË÷
²é¿´: 4335|»Ø¸´: 6
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ
ÊÕÆð×ó²à

µ¥Æ¬»úÇý¶¯sg90¶æ»ú³ÌÐòÎÊÌâ

[¸´ÖÆÁ´½Ó]
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
t = 0.5ms¡ª¡ª¡ª¡ª¡ª¡ª-¶æ»ú»áת¶¯ 0 ¡ã      
t = 1.0ms¡ª¡ª¡ª¡ª¡ª¡ª-¶æ»ú»áת¶¯ 45¡ã
t = 1.5ms¡ª¡ª¡ª¡ª¡ª¡ª-¶æ»ú»áת¶¯ 90¡ã
t = 2.0ms¡ª¡ª¡ª¡ª¡ª¡ª-¶æ»ú»áת¶¯ 135¡ã
t = 2.5ms¡ª¡ª¡ª¡ª¡ª¡ª-¶æ»ú»áת¶¯180

//        ÎªÊ²Ã´Ö»ÄÜתһ´ÎºóÃæÓгÌÐòΪʲô²»Ö´ÐУ¿
//        delayus2x(245);      Õâ¸ö245ÖµÊÇÔõôËã³öÀ´µÄ£¿
#include<reg52.h>
sbit a=P1^0;
#define uchar unsigned char
#define uint unsigned int
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}

void delayus2x(unsigned char t)
{   
while(--t);
}

void delay500us()
{
                delayus2x(245);   //   245

}
void delay2500us()
{
                delayus2x(245);     
                delayus2x(245);
                delayus2x(245);
                delayus2x(245);
                delayus2x(245);
                delayus2x(245);

}
void main()     
{
while(1)
{
            uint i=50;
                while(--i)                           
                {
                        a=1;
                        delay500us();    //      ×ª0¶È       Ϊʲô»»³É  delay2500us(); Ò²ÊÇתһÏ   ²»Ö´ÐÐÏÂÃæµÄ³ÌÐò   
                        a=0;
                        delay(1000);

                        
                        a=1;
                        delay2500us();  //      ×ª180¶È      ÕâÀïÃ÷Ã÷»¹Óж¯×÷
                        a=0;
                        delay(1000);
                        a=1;
                        delay500us();   //      ×ª0¶È
                        a=0;
                        delay(1000);
                        a=1;
                        delay2500us();  //      ×ª180¶È
                        a=0;
                        delay(1000);
                }  
}
}

·ÖÏíµ½:  QQºÃÓѺÍȺQQºÃÓѺÍȺ QQ¿Õ¼äQQ¿Õ¼ä ÌÚѶ΢²©ÌÚѶ΢²© ÌÚѶÅóÓÑÌÚѶÅóÓÑ
ÊÕ²ØÊÕ²Ø ·ÖÏíÌÔÌû ¶¥¶¥ ²È²È
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ɳ·¢
ID:282850 ·¢±íÓÚ 2020-3-2 11:31 | Ö»¿´¸Ã×÷Õß
¶æ»úÇý¶¯Ô­ÀíÊÇ£º20msÖÐ¸ßµçÆ½Õ¼¶àÉÙ£¬¶ÔÓ¦¶àÉٽǶȣ¬²»ÊÇ·¢Ò»¸öÂö³å¾ÍÄܵ½Î»µÄ£¬Ô­ÔòÉÏÊÇ·¢¶à¸öÏàͬµÄÂö³å£¬µ½ÁËÏàÓ¦½Ç¶È£¬¶æ»úÍ£Ôڴ˽Ƕȣ¬Èç¹ûÓÐÍâÁ¦ÆÆ»µÁ˴˽Ƕȣ¬ËüÄÜÖØÐÂÐÞÕýµ½´Ë½Ç¶È¡£
¡°¶à¸öÏàͬµÄÂö³å¡±Êǹؼü¡£»òÕß˵·´¸´¡¢Öظ´Ò»Ö±·¢Âö³å¡£
Äã  while(--i)                           
                {
ÖÐÊÇÖ»ÓÐÒ»¸öÂö³åµÄ×ö·¨£¬Ë¼Â·ÐèÖØÀí
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

°åµÊ
ID:682002 ·¢±íÓÚ 2020-3-2 11:40 | Ö»¿´¸Ã×÷Õß
Õâ¸öÊÇÄ£Äâ¶æ»ú£¬ÐèÒª×Ü¿í¶ÈΪ20msµÄÕ¼¿Õ±ÈÁ¬ÐøÐźš£
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

µØ°å
ID:342451 ·¢±íÓÚ 2020-3-2 11:45 | Ö»¿´¸Ã×÷Õß
ÕâÊÇÎÒµ±Ê±Ð´µÄÒ»¸ö¼òµ¥µÄ51¶¨Ê±Æ÷Êä³öPWM·½Ê½¿ØÖÆÈý¸ö¶æ»ú°´Ë³ÐòÒÀ´ÎÐýת¡£Äã¿ÉÒÔ½è¼øÏ£¬²»ÍƼöÓÃÑÓ³Ùº¯ÊýµÄ·½Ê½È¥¿ØÖƶæ»ú

#include "reg51.h"//´ËÎļþÖж¨ÒåÁ˵¥Æ¬»úµÄÒ»Ð©ÌØÊ⹦ÄܼĴæÆ÷

typedef unsigned int u16;//¶ÔÊý¾ÝÀàÐͽøÐÐÉùÃ÷¶¨Òå
typedef unsigned char u8;

sbit KEY=P3^1;//¿ØÖư´¼ü

sbit Servo_1=P2^0;//¶æ»úÊä³ö
sbit Servo_2=P2^1;//¶æ»úÊä³ö
sbit Servo_3=P2^2;//¶æ»úÊä³ö

u16 Servo_PWM1,Servo_PWM2,Servo_PWM3;//Èý¸ö¶æ»úµÄPWMÖµ

//PWM:5-22  
//¶ÔÓ¦0-180¡ã
#define LOW 5
#define HIGH 22

u8  Flag_step;//¶æ»ú¶¯×÷²½Öè
bit start;//Ëæ×Ű´¼ü°´Ï¿ªÊ¼¶¯×÷

void delay_ms(u16 j)  //j=1£¬1ms
{
        u8 i=250;
        for(;j>0;j--)
        {
                 while(--i);
                 i=249;
                 while(--i);
                 i=250;
        }
}

void step(void)//¶æ»ú¶¯×÷
{
        if(start==1)//°´¼ü°´Ï£¬±ê־λÖÃ1£¬Âú×ãÌõ¼þ½øÈëif()
        {
                if(Flag_step==1)//µÚÒ»²½
                {
                        Servo_PWM1=HIGH;//Ò»¶æ»úתµ½180
                        delay_ms(500);//ÑÓʱһ¶Îʱ¼ä£¬¸ù¾ÝÐèÇó¸ü¸Äʱ¼ä£¬Áé»î¿Éµ÷
                        Flag_step=2;        //ÏÂÒ»²½                               
                }
                if(Flag_step==2)//µÚ¶þ²½
                {
                        Servo_PWM1=LOW;//Ò»¶æ»úתµ½0
                        delay_ms(500);//ÑÓʱһ¶Îʱ¼ä
                        Flag_step=3;//ÏÂͬ£¬·Ö±ðÊǶþÈý¶æ»ú¶¯×÷
                }
                if(Flag_step==3)
                {
                        Servo_PWM2=HIGH;
                        delay_ms(500);
                        Flag_step=4;                       
                }
                if(Flag_step==4)
                {
                        Servo_PWM2=LOW;
                        delay_ms(500);
                        Flag_step=5;                       
                }
                if(Flag_step==5)
                {
                        Servo_PWM3=HIGH;
                        delay_ms(500);
                        Flag_step=6;                       
                }
                if(Flag_step==6)
                {
                        Servo_PWM3=LOW;
                        delay_ms(500);
                        Flag_step=1;//ÐγÉÒ»¸öÑ­»·£¬»Øµ½µÚÒ»²½
                        start=0;//½«±ê־λÖÃ0£¬µÈ´ýÏÂÒ»´Î°´¼ü°´Ï£¬½«±ê־λÖÃ1£¬ÖØÐ¿ªÊ¼Ò»ÖÜÆÚ
                }
        }
}
/*******************************************************************************
* º¯ Êý Ãû         : Timer1Init
* º¯Êý¹¦ÄÜ                   : ¶¨Ê±Æ÷1³õʼ»¯
* Êä    Èë         : ÎÞ
* Êä    ³ö         : ÎÞ
*******************************************************************************/
void Timer1Init()
{
        TMOD|=0X10;//Ñ¡ÔñΪ¶¨Ê±Æ÷1ģʽ£¬¹¤×÷·½Ê½1£¬½öÓÃTR1´ò¿ªÆô¶¯¡£
        TH1=0XFF;        //¸ø¶¨Ê±Æ÷¸³³õÖµ£¬¶¨Ê±0.1ms
        TL1=0X9C;       
        ET1=1;//´ò¿ª¶¨Ê±Æ÷1ÖжÏÔÊÐí
        EA=1;//´ò¿ª×ÜÖжÏ
        TR1=1;//´ò¿ª¶¨Ê±Æ÷                       
}
/*******************************************************************************
* º¯ Êý Ãû       : main
* º¯Êý¹¦ÄÜ                   : Ö÷º¯Êý
* Êä    Èë       : ÎÞ
* Êä    ³ö             : ÎÞ
*******************************************************************************/
void main()
{       
        Timer1Init();//¶¨Ê±Æ÷1³õʼ»¯
        start=0;//³õʼ״̬¶æ»ú²»¶¯×÷
        Flag_step=1;//³õʼµÚÒ»²½
        Servo_PWM1=5;//½«Èý¸ö¶æ»ú³õʼ»¯³É0¡ãλÖÃ
        Servo_PWM2=5;
        Servo_PWM3=5;
        while(1)
        {
                if(KEY==0)//°´¼ü°´ÏÂ
                {
                        start=~start;//ÖØÐ¿ªÊ¼Ò»¸öÖÜÆÚ
                        while(!KEY);//µÈ´ý°´¼üËÉ¿ª
                }
                step();//¶æ»ú¶¯×÷
        }               
}
/*******************************************************************************
* º¯ Êý Ãû         : void Timer1() interrupt 3
* º¯Êý¹¦ÄÜ                     : ¶¨Ê±Æ÷0ÖжϺ¯Êý
* Êä    Èë         : ÎÞ
* Êä    ³ö         : ÎÞ
*******************************************************************************/
void Timer1() interrupt 3
{
        static u16 t;
        TH1=0XFF;        //¸ø¶¨Ê±Æ÷¸³³õÖµ£¬¶¨Ê±0.1ms
        TL1=0X9C;
        t++;
        //¸ù¾Ý¸Ä±äServo_PWM1ÄÚÈÝ£¬¸Ä±äÕ¼¿Õ±È£¬´Ó¶ø´ïµ½¿ØÖƶæ»ú´ïµ½²»Í¬µÄ½Ç¶È
        //¡ª¡ª¡ª¡ª      ¡ª¡ª¡ª¡ª
        //    ¡ª¡ª¡ª¡ª¡ª¡ª    ¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª.......
        if(t<Servo_PWM1)Servo_1=1;//¸ßµçƽÊä³ö
        if(t>=Servo_PWM1)Servo_1=0;//µÍµçƽÊä³ö
       
        if(t<Servo_PWM2)Servo_2=1;
        if(t>=Servo_PWM2)Servo_2=0;
       
        if(t<Servo_PWM3)Servo_3=1;
        if(t>=Servo_PWM3)Servo_3=0;       
       
        if(t>200)t=0;//¶æ»ú¿ØÖÆÆµÂÊ50HZ,200*0.1=20ms
}

»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

5#
ID:697917 ·¢±íÓÚ 2020-3-2 15:49 | Ö»¿´¸Ã×÷Õß
¶æ»ú²»ÊÇÖ±Á÷µç»ú£¬¸øµç¼´×ߣ¬ËûÊÇͨ¹ýÂö³åÕ¼¿Õ±ÈÀ´Çý¶¯µÄ¡£
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

6#
ID:687694 ·¢±íÓÚ 2020-3-2 22:33 | Ö»¿´¸Ã×÷Õß
ÏÈ×ÐϸÁ˽âһ϶æ»úÇý¶¯Ô­Àí°É£¬ÄãÕâ¸ö´úÂëÇý¶¯²»Á˵ġ£ÁíÍâÑÓ³Ùº¯Êý1¸ö¾Í¹»ÁË£¬¸ãÄÇô¶àÑÓ³Ù¸ÉÂïÄØ¡£
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

7#
ID:679425 ·¢±íÓÚ 2020-3-4 15:33 | Ö»¿´¸Ã×÷Õß
ÏÈ×ÐϸÁ˽âһ϶æ»úÇý¶¯Ô­Àí°É£¬ÄãÕâ¸ö´úÂëÇý¶¯²»Á˵ġ£
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ÄúÐèÒªµÇ¼ºó²Å¿ÉÒÔ»ØÌû µÇ¼ | Á¢¼´×¢²á

±¾°æ»ý·Ö¹æÔò

СºÚÎÝ|51ºÚµç×ÓÂÛ̳ |51ºÚµç×ÓÂÛ̳6Ⱥ QQ ¹ÜÀíÔ±QQ:125739409;¼¼Êõ½»Á÷QQȺ281945664

Powered by µ¥Æ¬»ú½Ì³ÌÍø

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí