单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。下面给出一个51单片机的最小系统电路图。
说明:
复位电路:由电容串联电阻构成,由图并结合“电容电压不能突变”的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。
晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)
单片机:一片AT89S51/52或其他51系列兼容单片机
特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行。这一点是初学者容易忽略的。
- 复位电路的用途
单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。
单片机复位电路如下图:
- 复位电路的工作原理
在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现,那这个过程是如何实现的呢?
在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。
开机的时候为什么为复位?
在电路图中,电容的的大小是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引脚又接收到高电平。单片机系统自动复位。
总 结
1、复位电路的原理是单片机RST引脚接收到2US以上的电平信号,而只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。
2、按键按下系统复位,电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起系统复位。
3、51单片机最小系统电路介绍
(1)51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。
(2)51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
(3)51单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好
(4)P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。
4、设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。
5、设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2 ms。
Max232串口下载电路
Stc89命名规则
说明:
1、8K的程序存储空间是下载你写的程序生成的HEX文件的,相当于C盘。512字节相当于内存,掉电后数据丢失,2Keeprom相当于硬盘,数据写入后掉电不丢失,但是要用iap程序写入数据
2、51单片机P0口需上拉电阻输出是什么意思? P0口作为I/O口输出的时候时输出低电平为0输出高电平为高组态(并非5V,相当于悬空状态)。也就是说P0口不能真正的输出高电平,给所接的负载提供电流,因此必须接上拉电阻(一般电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。
3、T是指令周期,,一般51内核是12个时钟周期是1个指令周期也就是说晶振跳12下运行一个指令。1T就表明是晶振跳1下就运行一个指令比12T的快12倍,STC一般情况下是可以设置的随你设置12T6T1T时钟周期是一个时间的量,人们规定10纳秒(ns)为一个时钟周期。时钟周期表示了SDRAM所能运行的最高频率。更小的时钟周期就意味着更高的工作频率。
4、stc10、stc11、stc12、stc89系列各有什么特点? Stc10是新出的替代89的1T单片机,Stc12是原来的1T单片机资源比较丰富89和ATMEL等一般的51可以兼容6T模式,,内存有1K,带EEPROM等。
5、8051一般理解是是一个大类的名字,泛指所有51内核的单片机。AT89系列51是指ATMEL出的51单片机,特点是AT发挥了自己在FLASH上的特长,把flash储存器集成到单片机里(老51单片机内部是没有flash储存器的,裸核,AT89单片机也是很久以前就出了的),STC单片机可以理解成是把传统51单片机+AD芯片+定时芯片+复位芯片全做到一个芯片里,同时还内置RC振荡(是RC振荡电路,不是晶振),单片机的运行速度也比传统51快了12被(晶振频率除以12了)用起来自然比51要方便的多!