|
在STC89c52RC的控制下,9g舵機(jī)可以自動(dòng)旋轉(zhuǎn)90度
單片機(jī)源程序如下:
- #include<reg52.h>
- sbit SG_PWM=P1^0;
- unsigned char count=0;
- unsigned char PWM_count=3; //1--0度,2--45度,3--90度,4--135度,5--180度
- unsigned char a=0;
- void Timer_Init()
- {
- TMOD=0X01; //T0定時(shí)方式1
- TH0=0Xfe;
- TL0=0X33; //計(jì)數(shù)初值設(shè)置為0.5ms
- ET0=1; //打開(kāi)定時(shí)器0的中斷
- TR0=1; //打開(kāi)定時(shí)器0
- EA=1; //開(kāi)總中斷
- }
- void Timer() interrupt 1 //特別注意此處,0--外部中斷0,1--定時(shí)器中斷0,2--外部中斷1,3--定時(shí)器中斷1,4--串行口中斷1
- {
- TR0=0;
- TH0=0Xfe;
- TL0=0X33; //重新賦計(jì)數(shù)初值為0.5ms
- if(count<=PWM_count)
- {
- SG_PWM=1;
- }
- else
- {
- SG_PWM=0;
- }
- count++;
- if(count>=40)
- {
- count=0;
- a++;
- }
- TR0=1;
- }
- void main()
- {
- Timer_Init();
- while(1)
- {
- if(a==16) //20是比較舒服的連貫動(dòng)作,20以上動(dòng)作些許不連貫 10的時(shí)候出現(xiàn)打架情況,15的時(shí)候打架幾乎沒(méi)有,16比較完美
- {
- PWM_count=1;
- }
- if(a==32)
- {
- PWM_count=3;
- a=0;
- }
- }
- }
復(fù)制代碼
hex文件下載(uv2版本的工程):
9g舵機(jī)自動(dòng)旋轉(zhuǎn)90度.zip
(3.42 MB, 下載次數(shù): 49)
2022-2-11 14:31 上傳
點(diǎn)擊文件名下載附件
|
評(píng)分
-
查看全部評(píng)分
|