单片机控制系统的开发必须经历这三个步骤:电路设计、器件选择、程序设计。这三步缺一不可,即使最简单的点亮一个发光二极管的实验也必须经历以上三步。对于单片机系统来说,其实无非就是通过控制电平输出的高低、高低电平输出的频率来实现控制外部设备,通过判断电平的高低和频率来实现检测外部设备的工作状态。而单片机实现检测和控制的方法就是通过对单片机的I/O端口设置为输出或输入来实现。单片机想要是实现对外部事件的检测或者控制外部设备进行工作,那就必须首先让单片机自己工作起来。 实现单片机工作的最简单系统就是单片机最小系统。
一个单片机的最小系统主要包括这几个方面:电源电路、复位电路、时钟电路。下面我们一一介绍:
电源电路:单片机是一个电子器件,一个电子器件能够工作的第一个前提就是要有电源,电源是一切电子器件工作的前提,对于单片机系统也不例外。
时钟电路:时钟电路一般由晶振和电容组成。单片机系统为什么需要时钟电路?单片机工作的时候要有一定规律的,这个规律就是:单片机必须在周期性的时钟信号的作用下工作,如果没有时钟信号的限制,那单片机的工作就乱套了。就像我们上班一样,我们必须在规定的时间上下班,如果我们都不按照这个规定时间上下班,那整个公司就乱套了。典型的时钟电路如下图所示:
其中X1、X2要分别接到单片机的两个时钟引脚上。两个电容是谐振电容,作用是让晶振更稳定的工作。
复位电路:就像我们看书一样,看书的时候首先我们要拿出我们要看的书,然后翻到我们想看的那一页。在单片机正式开始工作之前要有一个准备的过程,这个过程就是复位,复位对单片机系统来说,是一个准备开始工作的过程,在复位过程里,单片机要把所有需要用到的东西准备好,这样当单片机正式工作的时候就可以正常干活了。复位一般分为电源复位和手动复位两种,这个跟我们的计算机相似:有开机和重启两个按钮。电源复位是单片机系统上电到开始工作这个时间段,而手动复位就像我们重启计算机一样,是强制让它从头开始工作。AVR单片机典型的复位电路如下图所示:
AVR单片机是低电平复位,也就是说当AVR单片机的复位引脚有一个持续50ns的低电平的时候,AVR单片机就会复位。在图中单片机的复位引脚平时被连接到电源正极的电阻嵌位在高电平,当按钮按下后,复位引脚被连到电源负极,当按钮松开后,复位引脚重新变为高点平,在按钮按下和松开这个过程一般至少持续100ms,这个时间足够产生令单片机的复位脉冲了。
对于AVR单片机来说,它内部有经过校正的内部RC振荡器,所以在对时钟精度要求不高的场合,我们可以省去时钟电路。
而且AVR单片机内部也设置了复位电路,所以在一般的应用系统中,我们也可以省去复位电路。
这样来说,对于AVR单片机,我们只要给它加上正确的电源它就可以工作了。但是对于我们一般的学习来说,还是比较习惯于把时钟电路和复位电路加进来的。下面就是我们论坛推出的ATmega64单片机的最小系统图:
|