專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

51單片機(jī)2路舵機(jī)驅(qū)動(定時器法)

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年04月13日   【字體:

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

sbit PWM1=P3^6;
sbit PWM2=P3^7;

uint aa;

void tuoji_init()
{
 TMOD=0x01;
 TH0=(65536-38)/256;//定時50us 
 TL0=(65536-38)%6;
 EA=1;
 ET0=1;
 TR0=1;
 PWM1=1;
 PWM2=1;
}

void chudong_pwm(uchar temp1,uchar temp2)
{

 if(aa==temp1) // 取值13-28-45(右轉(zhuǎn)90度,正中間,左轉(zhuǎn)90度);
  PWM1=0;
 if(aa==temp2) // 取值13-21-25(根據(jù)機(jī)械人性化要求,確定下面控制角度);
  PWM2=0; //(仰視最大14,人性化俯視16,平視19,人性化俯視21,俯視最低25);
}
    
void main()   
{
 tuoji_init();
 while(1)  
  chudong_pwm(18,25); 
}
 
void dingshi0() interrupt 1
{
 TH0=(65536-38)/256;//定時50us 計算初值46
 TL0=(65536-38)%6;
 aa++;
 if(aa==460)
 {
  aa=0;
  PWM1=1;
  PWM2=1; 
 }
}

關(guān)閉窗口

相關(guān)文章