avr12晶振定时器(12mhz定时1秒定时器初值)
本文目录
12M晶振的特性
12MHZ晶振是一款能够定期产生重复信号的石英晶振,频率值为12.000mhz,它产生的信号通常为正弦波,
石英晶体振荡器的最重要的特性是它的频率:单位时间内完成振动的次数。晶振频率的单位为:HZ赫兹。一赫兹是表示每秒振荡一次。一个兆赫(MHz)是表示每秒振动一万次,它的数就是时钟周期。
12MHz晶体振荡器是一款输出频率是由石英晶体控制,每秒钟产生重复12万次振动的电子单元,晶振12MHZ用途很广,常见是用在在单片机上,它可以产生12个机器周期,起到一个定时的作用,不过现在的单片机要求运行速度要快很多,可以用其内部定时器编写程序。
晶振6mhz定时器最大定时时间
应该是51单片机吧,那我按照51的步骤来说。
首先51单片机机器周期的计算方式=12/晶振(Hz),单位秒(s),你的6MHz晶振那么就是12/6M=2us,而计数器每一个机器周期计数一次,所以最短定时时长就是2us;但是最长定时可以说是无限长,若你指的是在不使用变量计时的条件下,根据工作方式1的16位计数最大为65536,因每2us计数一次,则单个计时周期时长为65536*2=131072=131.072ms。然后,之前我所说的无限长是因为当131.072计时完成后可以对一个变量进行加1,如果这个变量是uint类型的,则可以计时(65536*131.072)ms,如果这个变量计数到65535时又对另一个变量进行加1,这样在单片机内存不被膨胀的情况下可以无限计数,则定时就可以无限长。最后,总结一下,最短定时2us,在不使用变量定时的情况下最长定时131.072ms。
定时器、计数器的功能和工作方式
定时器是对内部脉冲计数,什么是内部脉冲?就是晶振12分频后送来的时钟脉冲,假设晶振为12MHz,则每一个时钟脉冲周期为T=12/12MHz=1us,每1us定时器计一个数。而计数器对外部脉冲计数,我们知道,51以机器周期为单位,1个机器周期等于12个时钟周期,6个状态周期S1~S6,每一个状态周期由2个时钟周期构成即P1、P2。假如51计数器在第一个机器周期的S3P1采样到高电平1,则51只能在下一机器周期的S2P1再次采样。因此,计数器完成一次计数需2个机器周期,故外部脉冲周期不得小于2个机器周期。所以本质上它们都是一个加一计数器,只不过脉冲源不同罢了。
晶振与机器周期的关系
【振荡周期】:单片机外接石英晶体振荡器的周期。如外接石英晶体的频率若为12MHz,这其振荡周期就是1/12微秒。
【状态周期】:单片机完成一个最基本的动作所需的时间周期。如扫描一次定时器T0引脚状态所需要的时间。一个状态周期=2个振荡周期。
【机器周期】:单片机完成一次完整的具有一定功能的动作所需的时间周期。如一次完整的读操作或写操作对应的时间。一个机器周期=6个状态周期。【指令周期】:执行完某条指令所需要的时间周期,一般需要1~4个机器周期,如MULAB指令是四机器周期指令。一个指令周期=1~4个机器周期。
dsp定时器定时周期如何计算
51单片机,根据晶振频率,计算指令周期,设置定时器的分频,然后设置定时器的工作方式TMOD,最后设置初值TH0TL0比如用的XHZ的晶振,stc的单片机有3种模式(X/12)x/6,还有单周期指令,选择12分频的,T=1/(X/12)就是一个指令周期,如果定时没有分频,(65536-Z(初值))*T就是定时的时间比如是12M的晶振那么设置TMOD=0x01;16位定时器模式TH0=(65536-20000)/256;TL0=(65536-20000)%256;就是设置了20ms的定时
12mhz定时1秒定时器初值
如果晶振是12M,那么定时器最长的定时时间是65.536毫秒,所以需要多次中断才能达到定时1秒的目的,这样的话,初值就有多种选择了。一般是定时50毫秒。初值就是:65536-50000THn=(65536-50000)/256;TLn=(65536-50000)%256;