51单片机用外部中断统计开关型霍尔传感器的脉冲个数,问得有点乱。
时间:10-02
整理:3721RD
点击:
小车避障的超声波传感器用了T0定时中断,小车pwm调速用了T1定时中断,还可以用外部中断记录霍尔脉冲数作为小测测速用吗?是接到INT0、INT1还是T0、T1。找了一些霍尔测速的程序,一路测速就要一个中断,能不能跟超声波还有pwm波那些中断程序写在一起的?
/***************************************************/
///*TIMER1中断服务子函数产生PWM信号*/
void timer1()interrupt 3
{
TH1=(65536-1000)/256; //1ms定时
TL1=(65536-1000)%256;
timer++;
pwm_val_left++;
pwm_val_right++;
pwm_out_left_moto();
pwm_out_right_moto();
}、
这是一段pwm波中断程序,如果加入霍尔测速,就是收到低电平信号时在里边加上count++吗?
/***************************************************/
///*TIMER1中断服务子函数产生PWM信号*/
void timer1()interrupt 3
{
TH1=(65536-1000)/256; //1ms定时
TL1=(65536-1000)%256;
timer++;
pwm_val_left++;
pwm_val_right++;
pwm_out_left_moto();
pwm_out_right_moto();
}、
这是一段pwm波中断程序,如果加入霍尔测速,就是收到低电平信号时在里边加上count++吗?
定时器用内部时钟计数,计数器用外部脉冲计数,同一个定时器不能同时既做定时器又做计数器。
那只用一个单片机能不能实现超声波测距,pwm调速,霍尔测速这几个功能。不是用内部pwm。
换一款STC15系列(51内核)单片机,定时器3~8个,ADC8路,PWM3~8路,爱咋玩就咋玩,很便宜。
我先试试用90或者12吧,没用过15,谢谢回答!
没用过51座产品,爱莫能助
谢谢,刚学没办法只会51
那就自己想办法哦,,
89、90都有3个定时器,12有4~6个定时器,12和15使用没有多少不同,只是15功能更多,管脚排列不同。曾经把用在STC12C5204AD的程序调整管脚定义后直接用在STC15W404AS。
谢谢啦,我试试