PIC单片机PIC16F877能控制舵机吗?

来源:百度知道 编辑:UC知道 时间:2024/05/26 20:09:09
PIC单片机PIC16F877能控制舵机吗?(就是产生周期为20ms的可调脉宽的PWM信号)如果能,程序是什么,请高人指点。

pic内部不是有个ccp模块吗?它与TIMER2寄存器配合就可产生pwm啊,
不过由于PR2寄存器是8位的,因此使用ccp模块产生不了周期超过4ms的pwm,这种情况下一般要使用软件产生,例如用timer1定时器产生xms高电平,(20-x)ms低电平
给你提供个简单频率为4000hz的占空比为20%的pwm程序(c和汇编的)做参考
#include <pic.h>
void main()
{TRISC=0;
PR2=0XF3;
CCPR1L=48;
CCP1CON=0X3C;
T2CON=0;
;
T2CON|=0X08;
while(1)
{;}}

#INCLUDE"P16F877.INC"
ORG 0000H
NOP
GOTO PWM
GOTO $
PWM BSF STATUS,RP0
MOVLW 00H
MOVWF TRISC
MOVLW .249
MOVWF PR2
BCF STATUS,RP0
MOVLW .125
MOVWF CCPR1L
MOVLW 0CH
MOVWF CCP1CON
MOVLW B'00000001'
MOVWF T2CON
BSF T2CON,TMR2ON
RETURN
END

可以,软件就可以实现

可以。产生50HZ的SPWM。

877就有PWM输出功能,具体怎么写程序你应该多看应用笔记啊