|
mega128單片機(jī)是一款控制舵機(jī)很好的芯片,這里給51黑電子論壇的朋友們分享一個(gè)我做的舵機(jī)仿真,帶程序源碼.下面是仿真原理圖:
0.png (32.29 KB, 下載次數(shù): 103)
下載附件
2016-9-12 00:11 上傳
程序源碼:
- #include<avr/io.h>
- #include<util/delay.h>
- //實(shí)現(xiàn)舵機(jī)正轉(zhuǎn)反轉(zhuǎn),proteus中舵機(jī)是按照高電平1ms到2ms控制位置,可修改
- void pwm_init()
- {
- DDRE|=(1<<PE5);
- TCCR3A=0X0A;//PE5輸出pwm,快速14模式,匹配時(shí)清零,PE5輸出
- TCCR3B=0x1a;//14模式,64分頻
- OCR3C=6000;//
- ICR3=6000;
- }
- void xz( unsigned int r)//按從0到180角度位置輸出,就是proteus電機(jī)里的-90到+90
- {
- OCR3C=2000+r*200/18;//2000是高電平1ms
- }
- int main()
- {
- pwm_init();
- unsigned char r=0;
- while(1)
- {
- xz(r);//改變角度
- r++;//角度增加
- _delay_ms(5);//實(shí)際應(yīng)用應(yīng)中考慮具體延時(shí),5ms太快
- if(r==180)
- {
- _delay_ms(1000);
- while(r!=0)
- {
- xz(r);
- r--;
- _delay_ms(5);
- }
- _delay_ms(1000);
- }
- }
- return 0;
- }
復(fù)制代碼
0.png (72.01 KB, 下載次數(shù): 119)
下載附件
2016-9-12 00:10 上傳
|
|