完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、晶振与定时器
1、晶振频率 单片机开发板在成型之时,已经确定了相应的晶振频率,51单片机最常用的有11.0592MNz、12MHz。 2、时钟周期 时钟周期=晶振频率的倒数,晶振频率的值即为时钟频率的值。 3、机器周期 在计算机中,通常将一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、写操作等,每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期(注:单片机中“计数器”完成+1这个过程也为一个机器周期)。一般情况下,一个机器周期由若干个时钟周期组成,一般由12个时钟周期组成。 4、定时器初值计算 定时器被启动后,就会在预设的初值基础上+1,当计满时重新归0。51单片机的定时器寄存器为16位,如果采用的晶振频率为12MHz,则根据上面1、2、3所讲可知机器周期为12*(1/12MHz)=1us。由此我们可以得知,此51单片机的定时寄存器实现+1这个操作过程需要花费1us时间,如果此16位寄存器从0开始计数,则计到此寄存器下次为0需要2的16次方(65535)个数,所以定时器一次最多计时65536us. 如果需要的定时时间小于65536us,那么就需要给定时器寄存器预设一个初值N,N=(65535-要计时的时间)。 此外定时器寄存器分为高八位THn和低八位TLn(n代表定时器0、1、2…)将高八位THn装入N/256进行取模运算,低八位TLn装入N%256取余。 TH0=(65535-T)/256 TL0=(65535-T)%256 二、51单片机串口波特率计算 1、方式0的波特率,固定为晶振频率的1/12. 2、方式二的波特率,取决于PCON寄存器的SMOD位。(PCON除最高位SMOD外,其他位均为虚设) 计算方法如下,SMOD=0时,波特率为晶振频率的1/64;SMOD=1时,波特率为晶振频率的1/32. 3、方式1和方式3的波特率,均有定时器溢出率决定。 公式计算如下: 三、不准确的晶振频率造成的影响 1、为什么51单片机晶振为11.0592MHz? 首先介绍一下,单片机根据振荡输入端每N个周期作为一个机器周期分为1T、4T、6T、12T单片机,51单片机为12T单片机。那么当波特率为9600时,分频系数需要用时钟频率最小单位区分,即晶振频率/机器周期包含多少个时钟周期12MHz的51单片机就需要用1M去分,而1M/9600=104.167,不为整数倍,会导致数据传输的两端因为时钟误差,导致数据传输错误。而采用11.0592MHz即可解决,11.0592/12/9600=96,为整数。 2、为什么单片机不设置为1000的整倍数? (1)为了保证有效通讯,根据电、传输介质等的物理特性结合串口设备使用要求,确定RS232最大传输速率只能是115200,然后逐级二分得到57600,28800,19200,9600…为适应这些速率,设计相应的晶振频率。 (2)电话线路带通是300Hz~3KHz,用了2400Hz信号,对应波特率2400,由于基本频率确定了,以后采用的提高通讯速率的方法都是在2400基础上倍频,进而形成了9600、19200。 3、对串口通信影响 如果设置的波特率为9600,那么理想的通信速度也是9600,但是不准确的晶振会导致定时器溢出误差,进而导致波特率误差,使得通信失败。 出现此类情况,可以在不更换晶振的情况下采取两种方案进行处理,降低误差,就可以进行通信 (1)改变SMOD位状态,置0或置1。 (2)尝试使用其他波特率。 4、对pwmLED调光影响 LED调光分为模拟调光和数字调光,分别采用改变电阻值和PWM控制正向电流导通时间的方式。其中数字调光又称为PWM调光。 PWM调光,通过PWM波开启和关闭LED来改变正向电流的导通时间,以达到亮度调节的效果。当频率超过100Hz即周期0.01s,人眼看到的就是平均亮度,而不是LED在闪烁。而亮度的调节反馈到人眼是一个累计的过程,即亮的时间越长,人眼感觉LED越亮。 虽然不准确的晶振频率会使单片机有不同的机器周期,但是我们在定时器计数时,可以针对相应的晶振频率计算出相应机器周期,设计定时器初值时,设置为机器周期整数倍,进而避免误差的产生。 5、对舵机影响 与led调光不同的是,采用脉冲波对舵机进行控制时,转动角度有具体的脉冲宽度要求,因此定时器的初值固定,在这种情况下,不能根据相应晶振对应的机器周期,对脉冲宽度进行微调。那么不合适的晶振必然会导致定时器的溢出误差,进而使脉冲波受到影响,使舵机转动角度出现偏差。 |
|
|
|
只有小组成员才能发言,加入小组>>
2494 浏览 0 评论
1057浏览 2评论
673浏览 1评论
439浏览 0评论
175浏览 0评论
284浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-6 05:46 , Processed in 1.314010 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号