中间放了三天假,这一周就这么过去了,这一周的进展比较丢人。
我试图把LM311和51频率计整合到一起。预期效果是把LM311输出端的频率显示在1602上,如果时间来得及,把计算公式也加上去,直接一步完整最终整合。
然而,预期的效果完全没达到,反而节外生枝了不少事情。
-----------------------------------------------------------------------
首先我要说的是,我知道STC有两个时钟源可选,一个是内部RC源,一个是外部晶振源,选择是在STC的烧写软件的界面上选择的。
而我的程序里是以外部12M晶振为依据写的计算,所以,当我选用RC源时,输出的数值不对是理所当然的。(但是在比例上应该符合原比例才是正确的结果。)
我先描述一下现在的状况:
现在的情况是,同一个程序同一套硬件电路(程序是以12M晶振计算)。
如果我选择内部RC源,显示的数值是168K和111K左右,但这个值本应是506K和346K,这地方可以理解,因为内部RC源,我用的STC12C2052AD是不准确的,而且相差比较远,在4M到8M之间,大致为12M晶振的三分之一到三分之二。
但是如果我选择外部晶振源,那么,这两个值居然没变化,都是550多K,而且,我很惊讶的发现,但我用信号源去激励测试他的时候,当然那个信号源的工作状况如何我不敢保证,但是当时我选择的只有几十K和几K,它也测量了,但是,结果依然还是500多K,这一个现象让我非常怀疑这个数值的可信程度。
关于晶振电路,我是按照标准的接法连的,以前的最小系统也一直是这么做的,没见过什么问题。
一个晶振两脚连 XTAL1 XTAL2,然后分别经一个22P电容下地。
我在网上找了一些关于晶振异常的资料,并且试过一些方法,但是一点用都没有,他还是500多K。
比如说,在XTAL1 XTAL2之间并一个电阻,我焊上去的试过用51K的,用手搭在上面的则试过1M,100K,10M,但是他们依然是老样子,还是500多K,并且按下标准电容也丝毫没变化。
又比如把两个谐振电容改变一下,我改过5P,10P,在10P上再并一个22P,也就成了32P依然没用。
而且,有一件事情非常诡异,有一阵子我因为要更换电容,换了把晶振和两个电容连起来,也就是说,晶振只是连在XTAL1 XTAL2上,没有下地,就这么悬空着,可是,它居然还是500多K。
另外,一开始我的晶振电路是压根不起振,理由是,单片机没有工作,1602什么都没显示。后来尽管重焊后工作了,但有出现过几次花屏,也证明晶振电路没有稳定起振。
我试图用示波器看它的振荡情况,很可惜示波器出了问题而我无法调整,所以没能实际检查它的振荡状况。
最后我说说一些周边的情况:
1 我做的那个集合到一起的电路板不稳定?
是的,我必须的承认,它是有点儿不稳定,不过后来证明,哪只是因为我用来接入5V电源的杜邦线不好,我换了一对以后,无论我怎么摆放整个电路,基本就没出现过灭屏,误复位现象。
2 到底LM311有没有起振?
这个问题可以这么回答,假如它没有起振,为什么选择内部RC时钟源时,我按下标准电容(就是等于给LC网络并入一个1000P电容,谐振频率会下降2/根号2 倍),从168K到111K,这个数值是基本符合的。
3 缓冲器的问题
是的,一开始我用4069它是不对头的,后来我买了一个4069换上去还是不行,但与此同时我换了一个74HC04,它却起作用了,尽管缓冲效果看不出来,但至少方波可以通过它两次反相让单片机检测到。
而且我用镊子绕开它,直接输入LM311的输出信号给单片机,结果是一样的。(这似乎也证明了它是不必要的。)
此帖出自
小平头技术问答
我只希望这是随机性意外......
不然,真让我换浏览器么?
那行,假如换,我换FIREFOX,据说LINUX众都用那个
一周热门 更多>