|
由于没有分频的器件,用了单片机软件产生脉冲来供给CLK,CLK的范围是10~610K;很多人都选择了500K,曾经看到好多人这样计算过,要产生500K的脉冲,一个周期的语句是1000000/500000=2 (AT89S51单片机的时钟采用内部方式,时钟发生器对振荡脉冲进行2分频。由于时钟周期为振荡周期的两倍(时钟周期=振荡周期P1+振荡周期P2),而1个机器周期含有6个时钟,因此1个机器周期包括12个晶振的振荡周期。取石英晶振的振荡频率为11.059 2 MHz,则单片机的机器周期为12/11.059 2=1.085 1 μs。51系列单片机的指令周期一般含1~4个机器周期,多数指令为单周期指令,有2周期和
4周期指令。12分频
)
好多人选用这种来产生
void pulse(void) interrupt 1/*产生clock时序。其实不必用定时来做。直接在一个无限循环中对 clock取反即可,反正是一个机器周期*/
{
TR0=0;TH0=0xff;TL0=0xff;
clock=!clock;
}
我一看就蒙住了,进入中断的时间还有赋值的时间绝对超过1us,怎么是500K,即使向他说的那样不停的去反,也只能另一块单片机了(一块单片机就不能再做其他的事情了)
在这里讨教下,我的分析对吗,还有就是怎么用软件产生比较精确的500K(我认为只能用另一块单片机了),还有就是adc0809工作只要给他提供10~640K的随便一个脉冲就你可以工作吗,和具体的程序没有关系?(另外曾经听一强人用了2M的频率!!!) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|