51最小系统怎么搭建
搭建最小系统,首先我们先需要了解一下 Datasheet里面的要求,这是作为我们学习某个芯片的初始:
最小核心板主要有复位电路,振荡电路(自己做的,可以加上电源电路、烧录电路【CH340G这个芯片】)
1.复位电路:
这是参照 Datasheet(规格书)里面的内容,一般规格书里面的内容基本没有什么问题,只需要参考即可(因为有问题的话他们会订正,同时这个51单片机,诞生已经很久了,有问题早就出现了)
–####----->>然后呢!复位电路我不明白为什么配10k的电阻,也不知道为什么要配10uf的电容。Datasheet里面就是这么讲的(按照它的来弄就可以了,这也是为什么有些电路硬生生的直接抄Datasheet里面的电路就可以了),你可以找下原因具体是什么<<------####–(有这种标志的都是废话,你可选择不看)
以下内容摘录自:https://www.diangon.com/thread-41497-1-1.html 你可以去看看
首先我们需要明白为什么需要复位电路:
让单片机跑飞(**跑飞:**程序不知道运行到那个地方去了,反正就是不按照我们原本假定的流程运行)了之后,重新运行程序;
跑飞影响原因有:周围环境的影响,强磁,强辐射等。
1、单片机为什么要复位?
使单片机回复初始状态,从PC指针的0地址开始执行程序
2.如何恢复单片机?(操作单片机复位的方法)
51单片机复位需要对第9引脚接个高电平持续2个机器周期(2*12=24周期)(一个机器周期等于12个时钟周期【12/f】)然后就可以实现单片机复位;即在2个机器周期内将单片机锁定在复位状态(因为两个机器周期单片机才能执行完复位命令(单片机会对里面的一些寄存器进行初始化操作))
3.上电后就立即复位吗?(上电和复位同时吗?)
3.1复位的前提是:
1#cpu正常工作【只有CPU正常工作了之后复位命令才可以被执行】而cpu正常工作需要两个前提,第一个电源稳定,第二个晶振起振。
2#CPU检测到复位信号(【上文的第9脚】RST引脚为高电平)
3.2凡是都会有开始的时候--(其实我想说的时候开始的时候都是不稳定的,一段时间之后才会趋于稳定)
晶振起振&电源稳定 是需要时间的,因此上电后并不是立即复位,但可以肯定的是(复位信号在上电的时候就有了,并且是一个回落的过程【下图 信号1.1】),从5V到1.5V,持续约0.1s的高电平);但单有复位信号也没用,要执行复位操作还需等待3.1中的的第一个条件实现,CPU不正常工作是执行不了复位命令的(--->所以说CPU正常工作是前提)而(上电时,Vcc的上升时间大约为10ms,而振荡器的起振时间取取决于振荡频率,如晶振频率为10Mhz,起振时间为1ms;晶振频率为1Mhz,起振时间为:10ms)当我们使用不符合规范的电容时就会使晶振无法起振。
综上可知单片机RST复位信号的持续时间(约0.1s)是远远长于必要的复位的2个机器周期的(去除上电前的10几ms的等待时间,其余时间 0.1s-10ms 单片机都被锁定在复位状态,单片机一直执行复位命令【也确保了复位信号能被正确执行到,又有优点,也有缺点】) ,这样也确保单片机能可靠的实现复位操作
4.复位的2个机器周期内单片机做了什么?
主要做的就是初始化每个寄存器,包括最重要的PC指针,不包括RAM,然后单片机从复位地址开始执行程序
5.复位过程分析:
在电路图中,电容的大小是10uf,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在启动的0.1S内,电容两端的电压在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间持续0.1S左右)。
按键按下的时候为什么会复位?
在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。
(解释一下疑惑:电容通交流隔直流,因为直流不能通过电容,所以压降全部给了电容,也就说电阻这个部分没有电压在它的两旁。于是一直都是低电压,直到开关闭合,使得电容短路,【电容开始放电,从5V开始下降,电阻的电压开始升高,使得9号引脚慢慢达到符合高电平的电压,具体下降到一定电压的时间可以通过时间常数来进行计算RC。】电阻两端电压上升。断开开关之后,恢复到默认初始的水平 )
信号1.1:
这个是晶振的起振时间:
这是晶振的起振时间:
In the previous post in this series, we discussed the crystal parameters including load capacitance CL, motional inductance Lm and motional capacitance Cm. Continuing on, let’s suppose you have a choice between two 32MHz crystals, one with CL=10pF and one with C-L=16pF, and all other parameters are the same. According to the SimpleLink? Bluetooth low energy CC2540 solution specification, both crystals are supported, so which should you choose? Well, it depends.
Crystal oscillator startup time approximately 7-15t, where t is:
where Lm and Rm are the motional inductance and resistance parameters we’ve already seen and Rn is the negative resistance of the oscillator.
The parameter gm is the oscillator transconductance, f is the crystal resonance frequency, and CL is the load capacitance. From this equation, it is clear that a crystal with a lower CL is going to have a faster startup time. This may save you power if you have a duty-cycled application because your system can spend more time in either sleep mode or receiving and transmitting and less time waiting for the reference clock to turn on. Also, lower CL means that the negative resistance provided by the oscillator transistor is higher so that the oscillation can be sustained with lower power. Given these power advantages, why would anyone choose a higher CL crystal? The answer is frequency stability. The unloaded oscillator frequency fs is shown below:
The oscillator frequency shift as a function of the load capacitance is given by the following equation:
Here you can see that if parasitic capacitance changes, which can be modeled as part of Co, the resulting frequency change will be less if CL is large. If a crystal with a low CL is used, small changes in parasitics will cause larger changes in frequency. In summary, choosing the crystal load capacitance is a tradeoff between power consumption and frequency stability. Further information about choosing load capacitance value is available in the MSP430? 32kHz crystal oscillation application note.
Stop by the blog in the coming weeks for part four of my series where I will discuss more considerations for choosing a crystal.
And if you missed the first two parts of this series, check them out below!
? Part 1: Frequency references 101
? Part 2: Frequency references: Crystal oscillator operation and specs
2.振荡(晶振)电路:
振荡电路的电容选择很重要,不知道原因的可以按照前辈的经验来进行选择
人们常说晶振就是单片机的心脏,可见它的重要性;(晶振的原理:压电效应【百度百科-压电效应】)
—##—>>不好意思,又飘了,开启了小差,在无脑的路途越来越远<<—##–
其实说白了就是就是在石英晶体的两个面放了两个薄片,然后通过石英晶体的压电效应,(石英晶体会被拉伸,或挤压,从而使得两个薄片(电容)发生变化)
–##–>>不说了,说了不清楚<<–##–https://www.bilibili.com/video/BV1Do4y1f7zZ?from=search&seid=8213324687447351313 和https://www.bilibili.com/video/BV12V411s7XW?from=search&seid=8213324687447351313 看下这两个视频,大概会明白一些,不要太过于纠结,也可以深入了解一下。
然后需要注意的是:
选择晶振电路的那两个小电容选择的问题可以参考datasheet中的提示来配置对应等级的电容。
首先需要说明的是,晶振电路属于高频电路,最好是使用瓷片电容(瓷片电容它的高频特性特别好)(反正就是专门用于高频电路的电容),然后呢,选择的这两个电容的容量都很小,一般都是在pF级别,按照别人的说法:对于无源晶振的稳频电容,一般容值都选在10pF到40pF之间。30pF或者22pF的瓷片电容比较好,最后呢,(我没有经过实践,但可以尝试使用这个容量的电容,具体也可以参考datasheet中的推荐的电容值)看datasheet。
最后呢,附加一张图,可以尝试理解下。
最后说明下:
晶振11.0592Mhz和12Mhz的区别,前者主要用于使用串口时的晶振,后者不使用串口的晶振,11.0592Mhz在串口计算时为整数(12Mhz不是整数,有误差,可以说,11.0592Mhz是专门给串口通信设计的)。
晶振不区分正负极。没有正负之分。
可以参考下https://blog.csdn.net/m0_37844072/article/details/107123908?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242
3.单片机电源电路:
电源电路设计:只要符合datasheet的要求就可以了。
比如:89C51单片机,可以使用,稳压5V或者是稳压3.3V来进行供电。(一般直接连接电脑USB口就可以了),可能有些小白会考虑电流问题。下面我从百度知道中帮你找到了答案。
一般单片机核心板不用太大的电流。大的负载一般直接接电源来承担。单片机不做负载的“供电电源”(只作为控制,但一些蜂鸣器,LED可以使用单片机作为“电源”。)。
这就是做一个核心板的过程。本文适用于刚刚接触单片机的同学。
作者注:转载请标明出处。上文的一些相关知识参观了一些文献,如有侵权,请联系删除。
知识有限,如有问题,请指正。
|