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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4503|回復(fù): 6
收起左側(cè)

求單片機(jī)程序 延時(shí)函數(shù)驅(qū)動(dòng)舵機(jī)

[復(fù)制鏈接]
ID:290141 發(fā)表于 2018-3-23 15:36 | 顯示全部樓層 |閱讀模式
20黑幣
stc12c5a60s2芯片,如何用延時(shí)函數(shù)來(lái)驅(qū)動(dòng)一個(gè)舵機(jī)的轉(zhuǎn)動(dòng),求詳細(xì)程序。舵機(jī)動(dòng)一次就行了

回復(fù)

使用道具 舉報(bào)

ID:295923 發(fā)表于 2018-3-23 15:51 | 顯示全部樓層
納秒級(jí)的延時(shí)使用空指令來(lái)封裝自己的延時(shí)函數(shù),時(shí)間很長(zhǎng)可以采用定時(shí)器,操控有邏輯時(shí)序的話,可以使用多個(gè)定時(shí)器協(xié)調(diào)工作
回復(fù)

使用道具 舉報(bào)

ID:296086 發(fā)表于 2018-3-23 18:59 | 顯示全部樓層
STC-ISP 軟件有延時(shí)函數(shù)的功能,設(shè)置相應(yīng)型號(hào)即可
回復(fù)

使用道具 舉報(bào)

ID:116400 發(fā)表于 2018-3-24 16:20 | 顯示全部樓層
我這里有兩個(gè)舵機(jī)的程序,你可以看看作為一個(gè)參考

2.舵機(jī).zip

429.75 KB, 下載次數(shù): 56

duoji.zip

21.74 KB, 下載次數(shù): 37

回復(fù)

使用道具 舉報(bào)

ID:223788 發(fā)表于 2018-3-24 16:41 | 顯示全部樓層
舵機(jī)開(kāi)
回復(fù)

使用道具 舉報(bào)

ID:223788 發(fā)表于 2018-3-24 16:42 | 顯示全部樓層
舵機(jī)轉(zhuǎn)動(dòng),
延時(shí)若干時(shí)間,
關(guān)閉舵機(jī)
回復(fù)

使用道具 舉報(bào)

ID:290141 發(fā)表于 2018-3-25 19:59 | 顯示全部樓層
#include "reg51.h"
#include <intrins.h>
#define uint8        unsigned char   
#define uint16        unsigned short int
#define uint32        unsigned long

sbit SERVO0=P1^0;                        //¿ØÖƶæ»úμÄPWMêä3ö¿ú

//uint16 Servo0PwmDuty=1500;        //PWMÂö3å¿í¶è



void InitTimer0(void)
{
        TMOD |= 0x01;                //éèÖö¨ê±Æ÷Ä£ê½
        TL0 = 0xff;                        //éèÖö¨ê±3õÖμ
        TH0 = 0x00;                        //éèÖö¨ê±3õÖμ
        TF0 = 0;                        //Çå3yTF0±êÖ¾
        TR0 = 1;                        //¶¨ê±Æ÷0¿aê¼¼Æê±
        ET0 = 1;                        //¿a¶¨ê±Æ÷0ÖD¶Ï
}


void delay100us(unsigned int a)                //@12.000MHz
{
        unsigned char i, j;

        _nop_;
        _nop_;
        i = 2;
        j = 38;
        do
        {
                while (--j);
        } while (--i);
}

void main( )
{

        InitTimer0();        //¶¨ê±Æ÷03õê¼»ˉ
        EA = 1;                        //¿a×üÖD¶Ï
        while(1)         
{
   SERVO0=1;
         delay100us(500);
         SERVO0=0;
          delay100us(1000);
         SERVO0=1;
         delay100us(500);
        }
}
我寫(xiě)的這個(gè)不行 求原程序
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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