知道单片机晶振频率,如何求最大定时时间!
随着工业控制的发展需求,单片机的应用越来越广,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等
本不去探讨单片机的发展及使用,仅仅围绕单片机定时器里面的一个小点应用进行解说,希望大家能够帮助大家举一反三,学以致用!
一、必备单片机基础知识:
- 01
什么是单片机最小系统: 单片机最小系统指的是:最少的元件组成的单片机可以工作的系统。单片机最小系统一般包括:单片机、晶振电路、复位电路。如下图给出51系列单片机的最小系统电路图。
- 02
认识晶振实物: 晶振是单片机工作必不可少的器件之一,单片机一切工作无论是动作的执行还是定时、计数的完成均以晶振为基准!晶振实物如下图:
二、知道单片机晶振频率,求最大定时时间!(以51系列单片机为例)
- 01
知道单片机晶振频率和震荡周期的关系:互为倒数关系 例如:晶振频率为12MHZ,则振荡周期Tosc=1/12 uS。
- 02
知道单片机定时器/计数器工作方式:方式0、方式1、方式2、方式3 工作方式0: 定时器/计数器T0工作在方式0时,16位计数器只用了13位,即TH0的高8位和TL0的低5位,组成一个13位定时器/计数器。 工作方式1: 定时器T0工作方式1与工作方式0类同,差别在于其中的计数器的位数。工作方式0以13位计数器参与计数,工作方式1则以16位计数器参与计数。方式1是16位计数器。这是方式1与方式0在计数方式时唯一差别。 工作方式2: 定时器T0在工作方式2时,16位的计数器分成了两个独立的8位计数器TH0和TL0方式2与方式0、方式1的差别,在于方式2是一个8位的计数器。 工作方式3: 工作方式3仅对定时器T0有效。当定时器T0工作在方式3时,将16位的计数器分为两个独立的8位计数器TH0和TL0。
- 03
清楚定时器/计数器各工作方式下的最大计数值:(方式0~2) 工作方式0: 此时为13位定时/计数器,则最大计数值为2的13次方(即8192) 工作方式1: 为16位定时/计数器,则最大计数值为2的16次方(即65536) 工作方式2: 为自动重装初值的8位定时器/计数器,则最大计数值为2的8次方(即256)
- 04
求各工作方式下最大定时时间: 由于定时器/计数器每加1占用的时间为1个机器周期,可得各自最大定时时间如下: 工作方式0: 最大定时时间 TM = 8192*MC 工作方式1: 最大定时时间 TM = 65536*MC 工作方式2: 最大定时时间 TM = 256*MC 其中MC为内部机器脉冲周期(即机器周期)
- 05
带入求出各自最大定时时间如下: 以晶振12MHz为例,按常规标准的12分频的51系列单片机算,则机器周期MC = 12*Tosc = 1微秒 带入公式得: 工作方式0: 最大定时时间 TM = 8192*MC =8192 uS 工作方式1: 最大定时时间 TM = 65536*MC =65536 uS 工作方式2: 最大定时时间 TM = 256*MC = 256 uS 其中MC为内部机器脉冲周期(即机器周期)