电机测速需要一个霍尔传感器,把速度脉冲送到单片机的外部中断口线去。
测速要分2个阶段,高速部分和低速部分,高速部分的程序放在外部中的处理程序中执行,低速部分的程序放在定时器中断处理程序里面。希望你能给个满意回答
下面是12C2052AD单片机产生PWM程序:
#include
sfr CCON =0xD8;
sfr CMOD=0xD9;
sfr CL=0xE9;
sfr CH =0xF9;
sfr CCAP0L=0xEA;
sfr CCAP0H=0xFA;
sfr CCAPM0=0xDA;
sfr CCAPM1=0xDB;
sbit CR =0xDE
void main(void)
{
CMOD = 0X02;//
CL =0X00;//
CH =0X00;//
CCAP0L = 0xc0;//设置初值
CCAP0H= 0xc0;//输出占空比为25%的波形
CCAPM0 = 0x42;//PWM的输出模式
CR =1 ;启动PCA定时器
while(1){};
}