网上查了很多解释关于51单片机硬件定时设定的文章,发现说的不是特别透彻,可能大家觉得一些类似基本感念的问题就不用澄清了,所以对于我这样的入门小白理解起来有些障碍,这里我把自己的理解解释的细致多一些,希望能给同道中人一些帮助。
说到定时前需要澄清几个概念:震荡周期,状态周期,机器周期,指令周期。(学习什么知识概念必须掌握清楚,否则就“糊”了!)
震荡周期:(来自百度百科)在单片机系统中,定时器需要借助单片机内部提供的脉冲进行定时,此时,定时的依据是CPU提供的周期性振荡,振荡一次所需的时间称为振荡周期。单片机系统也可以通过外部晶体振荡器(也被称为晶振)提供振荡进行工作。
对于震荡周期的理解:计算机系统中通常需要同时处理多个任务,想要协调这些任务,就必须在制定一个时间基准。电影里有这么一个场景:在执行一项特殊任务前,特种部队的每个成员需要“对表”,其实就是这个道理。因为这个时间基准是最基本的时间依据,所以它的周期是最短的,频率是最快的(周期和频率的概念请大家自行学习),同时也是最小的时间单位。为了产生这个震荡周期的时间基准,人们使用两种方法,一种是采用CPU内部的基础电路(比如LC振荡电路)实现,另外一种是采用晶体(石英)本身的物理特性实现,采用外部晶振比采用CPU内部基础电路可以提供更加准确、稳定的时间基准。
物理指标:振荡频率 f_osc,单位MHz(兆赫兹),f 是英文 frequency(意