了解这个问题之前首先需要知道什么是晶振。
1
晶振,顾名思义晶体振荡器的意思。它起到的作用是为单片机系统提供基准时钟信号,类似于我们人的心跳。单片机内部所有的工作都是以这个时钟信号为步调基准来进行工作的。
之前的文章第一次认识压电换能器中简单描述了晶体的压电效应。那么这里还有一个概念,一般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。但是,当交变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。这一特定频率就是石英晶体的固有频率,也称为谐振频率。
stc89c52单片机的18脚和19脚是晶振引脚,一般我们会接一个11.0592mhz的晶振(它每秒钟振荡11,059,200次),外加两个20pf的电容,电容的作用是辅助晶振起振,并维持振荡信号的稳定。
51单片时钟源硬件连接原理图
2
计算机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。一个机器周期包括12个时钟周期。我们算一下一个机器周期是多长时间。设一个单片机工作于11.0592m晶振,它的时钟周期是1/11.0592mhz(微秒)。它的一个机器周期是12*(1/11059200)微秒。计算出来并不是一个整数,这为什么还要选用它呢?
3
51单片机里有非常重要的概念——定时器和计数器。定时器和计数器是单片机内部的同一个模块,通过配置 sfr(特殊功能寄存器)可以实现两种不同的功能,我们大多数情况下是使用定时器功能,来完成比如延时、中断等任务。
tmod寄存器:定时器模式寄存器(地址0x89、不可位寻址)
tmod定时器模式列表
那么这个又跟选用11.0592mhz的晶振有什么关联?
4
在这里需要借助串口(串行数据通信接口)做说明,串口收发数据有一个非常重要的概念——波特率(比特率baud)。波特率就是发送一位二进制数据位的速率,即发送一位二进制数据的持续时间为1/baud。这也是两个独立的系统之间进行串行数据通信前需要确定的一个重要因素。
以定时器t1作为波特率发生器来讲解,方式 1 下的波特率发生器必须使用定时器t1的模式2,也就是自动重装载模式,定时器的重载值计算公式为:
th1 = tl1 = 256 - 晶振值/12 /2/16 /波特率
和波特率有关的还有一个寄存器,是一个电源管理寄存器 pcon,他的最高位可以把波特率提高一倍,也就是如果写 pcon |= 0x80 以后,计算公式就成了:
th1 = tl1 = 256 - 晶振值/12 /16 /波特率
公式中数字的含义这里解释一下,256是8位定时器的溢出值,也就是tl1的溢出值,晶振值就是11059200,12是说1个机器周期等于12个时钟周期,16是说把一个信号采集16次。
由此可以知道当时钟频率选用11.0592mhz时,是很容易获得标准波特率的,所以很多单片机系统会选用这个看起来比较怪参数的晶振了。
定时器t1工作于模式2时的常用波特率及初值
单片机的定时器一直是一个非常重要的部分,无论是51单片还是其它架构的单片机,熟悉和理解定时器都是非常有必要的。
盘点沃德十佳发动机
高速数模转换器AD9712B/13B的结构功能和电路设计应用
圆弧光栅广泛应用在哪些领域?
小米6plus、小米X1、小米mix2、红米pro2最新消息汇总,小米6plus、小米X1、小米mix2和红米pro2你最期待谁的到来?
北京自动驾驶路测里程超200万公里
为什么在设计51单片机硬件时都会选用11.0592MHz作时钟源呢?
连接器的基础简介与发展历程
电子工业静电防护原理 静电防护的作用和意义
专家:我国新能源汽车的技术水平已经进入了世界先进之列
嵌入式物联网设备应用的MCU正在迅速增加
无人机管理条例出台,大疆对新规定表示支持
量子计算的介绍和运用方向的详细概述
计算机的简单理论模型到有限状态机
AI家居实现全屋定制整装新模式,提高了安装成功率
探索电路板制造:pcb工艺有哪几种
浅谈静电的应用和危害 静电测试仪的原理
基本知识讲解:零序电流和零序保护原理
“智能、互联——赋能产业新发展”中国工博会开幕
电流源的分类及其工作原理
细梳新能源汽车产业近年的发展变化