单片机的最小系统是由连接在芯片外部的时钟电路、复位电路和电源组成的基本应用系统。 主要包括时钟电路和复位电路。
单片机由中央处理器(包括一些特殊功能寄存器)、内部RAM、程序存储器、各种外设(IO口、定时器、串行接口、中断处理电路等)以及相应的控制寄存器、时钟电路、复位电路组成。 它由几个部分组成。
单片机又称单片机,不是完成某种逻辑功能的芯片,而是将计算机系统集成到一块芯片上。 它相当于一台微型计算机。 与计算机相比,微控制器仅缺少 I/O 设备。 简而言之:芯片变成了计算机。 其体积小、重量轻、价格便宜,为学习、应用和开发提供了便利的条件。
最小的微控制器系统的功能是什么?
最小的微控制器系统怎么样? 最小系统是指单片机能够正常工作的最简单的电路。 对于51单片机来说,最小系统一般包括:电源、单片机、时钟电路和复位电路。 电路图如下:
下面我就为大家介绍一下这些电路的作用。
电源电路:51单片机作为电子设备,当然少不了电源。 一般采用5V电源。 我们可以从熟悉的USB接口获取5V电源。 图中各VCC符号公共接5V电源正极; 所有GND符号连接在一起,共同连接到电源负极。 图中之所以没有将它们连接在一起,而是使用多个VCC和GND符号,是为了使电路图看起来更清晰简洁(VCC = Volt Current Condenser,表示供电电压;GND = Ground,表示接地,你可以简单理解为接电源负极,我们用GND作为参考电压,GND的电压值始终为0V)。
特别注意不要将单片机连接到过高的电压,或者电源正负极接反,否则可能会烧坏单片机,甚至引起爆炸。 如果单片机插在芯片插座上,由于VCC和GND位置对称,如果插反了,供电就会接反。 请小心避免这种情况。
这里补充一点就是,如果需要了解某个芯片所使用的供电电压,通常可以查看官方的芯片手册。 芯片手册稍后会介绍。
时钟电路:XTAL1、XTAL2、GND 引脚之间连接的电路为时钟电路(XTAL=External Crystal Oscillator,表示外部晶振)。 前面的电源比较容易理解,但是什么是时钟电路呢? 它是干什么用的? 时钟电路就像人的心脏,时刻跳动,对单片机至关重要。 就像心脏不断地将血液和氧气输送到我们的身体,让身体各个器官正常工作一样,时钟电路是单片机内部各部分电路正常工作的驱动力。
时钟电路由晶体振荡器和电容器组成。 晶体振荡器是一种由石英制成的电子元件。 当通电时,其表面会以特定频率振荡。 最后可以通过电路输出频率非常稳定的时钟信号,驱动单片机工作。 我们人类的心脏每分钟跳动几十到几百次,但对于微控制器来说,这实在是太慢了。 图中晶振频率为12MHz(1MHz=1,000,000Hz)。 正常工作时,每秒振荡12,000,000次! 其实时钟电路的晶振不一定非得是12M,也可以是其他的,但需要注意的是STC89C51单片机的最大工作频率不能超过80M(这个也可以在芯片手册上查到) )。 事实上,我们使用更多的是11.0592M晶振。 为什么频率这么奇怪? 相信后面讲到串口的时候读者就会明白了。
时钟电路还使用两个电容器C2和C3。 如果您对电容器不了解,可以查找常见电子元件的相关资料,这里不再介绍。 这两个电容通常采用陶瓷电容,容量一般为30pF。
顺便说一下,如果自己设计时钟电路,晶振和单片机之间的连线不宜太长,否则可能会导致电路无法正常工作(无法起振)。
时钟每次振荡的时间称为一个时钟周期; 对于我们使用的51单片机来说,每12个时钟周期,单片机执行一步操作,称为一个机器周期(STC也推出了1T单片机,每1个时钟周期执行一步操作)。 如果是12M晶振,时钟周期是1/12us,机器周期正好是1us。
大家应该还记得前面提到的古老而庞大的计算机ENIAC吧。 ENIAC每秒可以进行5000次加法运算,这在当时已经是一个很高的水平了。 但与我们的51单片机相比,实在是小巫见大巫了。 51单片机在一个机器周期内可以执行一次加法运算(即汇编指令ADD)。 采用12M晶振,一秒最多可以进行一百万次加法运算,是ENIAC的200倍(不考虑寄存器和内存中的数据)。 看到这里,你是不是暗自庆幸自己能用上这么高科技的东西呢? ^_^
复位电路:图中与RST引脚相连的电路部分是复位电路,由电阻和电容组成。 复位电路的作用是在单片机第一次上电时向其发送一个信号(对于51单片机来说,至少连续两个机器周期为高电平),告诉单片机现在可以开始工作了。 于是单片机从初始状态开始,不知疲倦地执行特定的程序,直到断电或者出现特殊情况导致程序终止。 正常情况下,单片机正常工作时程序执行不应终止。 这个问题将在稍后讨论单片机程序的特性时进行解释。
复位电路的原理是在上电时通过电阻对电容充电,使RST引脚所连接的电容电压由5V变为0V,即由高电平变为低电平。 电阻和电容的值可以根据图中给出的参考值来确定。 如果你对模拟电路有了解,也可以自己计算确定它们的值。
另外,图中的EA/VPP引脚用于访问内部或外部程序存储器选择信号以及提供编程电压,一般用得不多。 直接连接VCC即可。