根据集成电路引脚识别方法,缺口朝上,逆时针旋转,单片机的引脚号为1~40,如图所示。 图中还给出了每个引脚的名称。 我们不需要刻意记住这些引脚的顺序和名称。 我们可以在需要时检查它们。 如果我们用得多了,我们自然就会记住它们。
根据图中大括号的指示,我们将P0.0~P0.7这八个引脚称为一组IO口,称为P0,另外还有P1、P2、P3。 IO口(IO=Input/Output),顾名思义,就是输入输出接口。 它是单片机与外界通信的方式。 之后我们的主要学习内容也会集中在IO口上。 另外,这32个IO口还有一些用括号标注的引脚名称,称为辅助功能; 第二个功能将在特定情况下启用。 当第二个功能未启用时,它们仅用作 IO 端口。 影响。 例如,P3.0和P3.1也称为RXD和TXD。 它们充当串行端口,可用于将程序下载到微控制器。 它们还可以用来与计算机发送和接收数据,即串口通信。 除了32个IO口外,还有8个引脚:引脚29到31一般用得不多,暂时不介绍; 引脚 40 VCC、引脚 20 GND、引脚 9 RST、引脚 18 和 19 XTAL1、XTAL2 将在下面的微控制器最小系统中详细说明。
最小的微控制器系统是什么? 最小系统是指单片机能够正常工作的最简单的电路。 对于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即可。
在实际实验中,我发现即使不接复位电路,省略晶振上的两个电容,单片机一般也能工作。 但出于安全原因,如果可能的话,这些仍应连接。 我们需要严谨的科学态度。
有了最小的系统,单片机就能正常工作,连续执行我们让它执行的程序。 单片机不怕苦、不怕累的精神值得我们学习。