在制作自行车上的POV LED显示时,最让人头疼的是车轮的转速不匀问题,如何在随时改变转速的情况下保证能正常显示是POV制作中的难题。
经我若干时间的试验,采用自适应调节的方法,很好解决了这个问题,实际运行效果很好。并同时应用在我的新版“硬盘时钟”的程序中。
根据POV显示原理,我们需要让LED的闪亮频率与旋转的频率同步。
自适应调节的算法的思想就是在外部中断处理程序里,先给定时器T0一个合适的初始值,通过定时器T0处理程序给T0的中断的次数计数,当旋转一周完成后,根据实际中断次数与预设的N比较,根据比较结果,在外部中断处理程序中对T0的初设值进行修正,直到定时器T0的中断次数达到N为止。
整个调节过程是动态的,程序中并不需要知道旋转一周的具体时间值。
一般在中断处里程序里应尽量简化运算,减少程序代码量。我这里巧妙的使用了这样一个修正值:
D=D+(S-N)*2;
其中N为预设的固定值。
当S>N时,修正值D增大,使定时器T0的时间值增大,随之N值减小。
当S
当S=N时,修正值不产生变化。
程序程序片段如下:
/*外部中断0处理函数*/
void intersvr0(void) interrupt 0 using 1
{
D=D+(S-N)*2; //修正值
Pt=600+D; //得到定时器T0的初设值
S=0; //计数器清零,将重新计数
}
/*定时中断0处理函数*/
void timer0(void) interrupt 1 using 1
{
TH0=-Pt/256;TL0=-Pt%256; //设置定时器T0的初设值
S++; //计数
}
详解五种常见的滤波器
时间:2026-09-05
双速电机的工作原理是什么?
时间:2026-09-05
寄存器变量是什么?及它的存储种类有哪些?
时间:2026-09-05
SDRAM、SRAM与DRAM这几种内存的区别是什么
时间:2026-09-05
为什么电力电子系统中使用低压MOSFET?
时间:2026-09-05
无线通信的原理是什么?它具有哪些通信方式?
时间:2026-09-05
USB转串口与虚拟串口相关
时间:2026-09-03
陷波滤波器的基础知识
时间:2026-09-02
什么是单结晶体管,单结晶体管和场效应晶体管...
时间:2026-09-02
存储芯片的原理、分类及应用
时间:2026-09-02
电阻的单位
时间:2026-03-05
NVIDIA CPU+GPU超级芯片大升级!
时间:2026-03-09
贴片电阻怎么看阻值
时间:2026-03-05
电阻的原理和作用 电阻色环识别图 电路中电...
时间:2026-03-09
什么是室温超导?半导体时代将走向结束?芯...
时间:2026-03-09
什么是硅片或者晶圆?一文了解半导体硅晶圆
时间:2026-03-09
HTCC:半导体封装的理想方式
时间:2026-03-06
一文详解MOS管驱动电路拓扑的设计
时间:2026-03-09
半导体光刻工艺 光刻—半导体电路的绘制
时间:2026-03-09
石英灯电子变压器电路原理
时间:2026-03-06