1. 关于单片机分频问题
假如CPU的时钟为1MHz,那么就是频率为1MHz,使用公式算得周期(产生一个脉冲)为1us
如果我们要利用这个时钟信号通过计数器(8位)计数得到1ms的信号,通过计算 1000us / 1us = 1000次,也就是说要算1000次才能得到1ms的信号,但是计数器最大只能到255(256次),所以我们需要分频。
把1us产生一个脉冲变成多个us产生一个脉冲(注意,这里说的是一个脉冲的周期),这个过程叫做分频。
如果设置2分频,那么就是2us一个脉冲,算得的结果是1000us / 2us = 500次,次数超过计数器的最大值,那么我们选择8分频,那么就是1000us / 8us = 125次,在计数器的范围以内
那如果是64分频呢,理论上,8分频可以,那么周期更大的64分频肯定也行,通过计算 1000us / 64us = 15.625次,虽然在计数器的范围以内,但是结果不是整数,会产生误差,因此选择8分频。
周期公式: T = 1 / f
计算次数公式: Target(目标值) / T = n(次数)
2. 晶振频率为6MHz,,51单片机的4个时间周期的具体值为多少
晶振频率为6MHz,即主频为6MHz,则振荡周期为12/6=2uS,
51单片机的4个机器周期的具体值应为4*2uS=8uS。
3. 设80C51单片机晶振频率为12MHZ,定时器作计数器使用时,其最高的输入计数频率应为
最高的输入技术频率应为500khz。
计算方法:
确认一次记数,即一次负跳变,需要2个机器周期,即24个时钟周期或震荡周期,则最高记数频率为12M/24=500khz。
或者按照时间计算,晶振频率12M的2个机器周期即2us,那么频率就是1/2*10^6=500khz,结果相同。
(3)单片机2us扩展阅读:
80C51单片机的嵌入式原理:
梯形图语言可以“一句顶一万句”,也可以“一句顶一句”。比如把一个字节或字从一个地址移动到另一个地址,这实际和汇编语言的一条指令等同。因此梯形图也可以作为普通的程序开发语言使用。
嵌入式软件的开发平台使用梯形图语言的其他功能和PLC类似, 便于“计算机外行”来编程,梯形图语言在处理计算、字符等方面显然落后于其他的软件开发系统。没有必要回避梯形图编程语言的这些缺点。这也是有一利必有一弊。
诚然,用开发平台提供指令(元件)也能完成嵌入式系统的编程,但一般不提倡这么做。用梯形图语言编程,应尽量使用系统提供的代码,尽量少的自己编程,让绝大多数代码由系统提供。这样即提高了效率,降低了成本,也保证了程序运行的可靠性。
使用“一句顶一句”编程时,是没有办法的办法。当然,必要时,也必须使用。这也增加的编程的灵活性和扩大了平台的使用范围。
其实我们把各种处理方式使用C语言、汇编语言或其他语言事先编好,放在平台中供给客户使用。客户使用梯形图语言编程,实际都是调用这些用其他语言编好的模块而已。
参考资料来源:网络-80C51