|
我是新手,之前想測試一舵機,在論壇沒找到可用的程序,后來在度娘找到了,在這分享一下
- #include<reg52.h>
- typedef unsigned int uint;
- typedef unsigned char uchar;
- sbit pwm=P0^3;//輸出PWM信號
- uint pwm_value=1500;//初值為1.5ms
- uint value[]={1500,1000,1500,2000,1500};//
- void delay_ms(uint x)
- {
- uint i;
- while(x--)for(i=0;i<125;i++);
- }
- void InitTimer(void)
- {
- TMOD=0x11;//開定時器0,1
- TH0=-20000/256;//定時20MS,20MS為一個周期
- TL0=-20000%256;
- TH1=-1500/256;//定時1.5MS,這時舵機處于0度
- TL1=-1500%256;
- EA=1;//開總斷
- TR0=1;//開定時器0
- ET0=1;
- TR1=1;//開定時器1
- ET1=1;
- }
- void timer0(void) interrupt 1//定時器0中斷函數(shù)
- {
- pwm=1;
- TH0=-20000/256;
- TL0=-20000%256;
- TR1=1;
- }
- void timer1(void) interrupt 3//定時器1中斷函數(shù)
- {
- pwm=0;
- TH1=-pwm_value/256;
- TL1=-pwm_value%256;
- TR1=0;
- }
- void main(void)//主函數(shù)
- {
- uchar i;
- InitTimer();
- pwm_value=1500;
- while(1)
- {
- for(i=0;i<5;i++)
- {
- pwm_value=value[i];//通過數(shù)組就可以改變舵機的轉(zhuǎn)角度
- delay_ms(1000);
- }
- }
- }
復制代碼
|
-
-
51舵機程序.zip
2015-11-23 18:09 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
676 Bytes, 下載次數(shù): 101, 下載積分: 黑幣 -5
txt格式
評分
-
查看全部評分
|