标题: 单片机主时钟是怎么计算的啊? [打印本页]

作者: Laptop    时间: 2017-10-18 20:02
标题: 单片机主时钟是怎么计算的啊?
这个单片机程序里面的主时钟数字是什么意思?怎么得来的呢?  一般用来做什么

111.png (66.71 KB, 下载次数: 70)

111.png

作者: zl2168    时间: 2017-10-18 21:53
你不是已经有了注释?:宏定义主时钟HZ!但你提的问题却让人不懂什么意思?!
作者: 13476011951    时间: 2017-10-18 22:09
要看是什么单片机
作者: 13476011951    时间: 2017-10-18 22:10
要看是什么单片机   每个时钟不一样
作者: syw2074    时间: 2017-10-18 22:24
宏定义主时钟
作者: w322405    时间: 2017-10-18 23:22
syw2074 发表于 2017-10-18 22:24
宏定义主时钟

好像根据晶振来算,
作者: yzwzfyz    时间: 2017-10-18 23:44
任何一个自动化的处理器,都必须有一个跳动的心脏,它就是主频,主频由振荡器产生的脉冲构成。由于它决定了处理器运行的节拍,也就决定了计算机的速度。
作者: wulin    时间: 2017-10-19 09:25
这里只是对主时钟频率做了宏定义,方便程序中与此相关的运算,如软件延时、定时器设置等等。如果改用其他主时钟频率只要重新定义一下,不必把程序中所有相关程序都改动。
作者: Laptop    时间: 2017-10-26 23:39
zl2168 发表于 2017-10-18 21:53
你不是已经有了注释?:宏定义主时钟HZ!但你提的问题却让人不懂什么意思?!

我的意思是 为什么要用这个,这个时钟是怎么得来的
作者: Laptop    时间: 2017-10-26 23:40
13476011951 发表于 2017-10-18 22:10
要看是什么单片机   每个时钟不一样

那要怎么看啊?
作者: Laptop    时间: 2017-10-26 23:40
wulin 发表于 2017-10-19 09:25
这里只是对主时钟频率做了宏定义,方便程序中与此相关的运算,如软件延时、定时器设置等等。如果改用其他主 ...

嗯嗯 说的很清晰
作者: chilau    时间: 2017-10-27 01:19
11.0592M,硬件决定的,你的晶振是多少就是多少,这里只是定义来给程序参考用!
作者: HC6800-ES-V2.0    时间: 2017-10-27 14:52
以前我也回答不了这个问题。现在明白了:
楼上的回答都不全面。
芯片说明书上说的是:
主时钟可以是内部R/C时钟,也可以是外部输入的时钟或外部晶体震荡的时钟。
现在的51单片机中,低档的,一般都是外部晶振为主时钟,而高级的51单片机,可以是外部输入时钟或外部晶振的时钟,更多的是内部R/C时钟。
这个内部的时钟,是可以调节的,调节方法就是下载程序时进行设定。
看你这个程序片断,我认为可能就是高级一点的51单片机的程序。这种程序对应的单片机是内部时钟,在写程序时,先定义一个主时钟,方便计算初值,到了下载时,也好设置。以前的老芯片程序根本不会这样写,因为外部晶振基本都是确定的。
作者: xbook_ben    时间: 2017-10-28 16:10
在硬件设计的时候可以选择使用的晶体,12M的,11.0592M的都可以,根据实际情况。从你的程序来看,显然硬件上用的是11.0592M的,晶体在电路板上就在主控芯片的旁边,带有金属外壳,上面标的有11.0592字样。
程序中经常定义这种主振是为了程序便于移植。定义主振以后,程序中的波特率、定时器初值、分频器输出等,我们会直接用带主振的计算公式表示,而不是给具体的值。这样一来,即使将来我们把电路板上的主振换成12M(12000000Hz)了,只需要把主振的宏定义改一下程序就可以接着用,不需要把程序中定时器初值、波特率等等再手动计算一遍一个个的修改。
作者: zl2168    时间: 2017-10-28 22:01
Laptop 发表于 2017-10-26 23:39
我的意思是 为什么要用这个,这个时钟是怎么得来的

建议从单片机基础理论学起,补补前面的基础,否则,后面类似问题多多。
作者: Laptop    时间: 2017-11-2 22:31
zl2168 发表于 2017-10-28 22:01
建议从单片机基础理论学起,补补前面的基础,否则,后面类似问题多多。

我已经在补了...但是好像没看到这个




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1