【mcuclub】STC89C52单片机最小系统讲解

1、实物图

 

2、原理图

 

3、介绍

3.1、主芯片

STC89C52是STC公司生产的一种低功耗、高性能8位微控制器

器件参数:

1、增强型8051单片机,指令代码完全兼容传统8051

2、工作电压:5.5V~3.3V

3、工作频率范围:0~40MHz,实际工作频率可达48MHz

4、用户应用程序空间为8K字节(程序空间)

5、片上集成512 字节RAM(变量或寄存器空间)

6、通用I/O 口(32 个),所有I/O口默认状态都是高电平,复位后为:P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。

7、ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过USB-TTL模块连接串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成。

8、具有EEPROM 功能,总大小为4k,共8个扇区,每个扇区512个字节

9、共3 个16 位定时器/计数器。即定时器T0、T1、T2

10、外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒

11、通用异步串行口(UART),还可用定时器软件实现多个UART

12、工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)

VCC电源正极
GND电源负极
RST复位脚
XTAL1内部时钟电路反相放大器输入端,接外部晶振的一个引脚。当直接使用外部时钟源时,此引脚是外部时钟源的输入端。
XTAL2内部时钟电路反相放大器的输出端,接外部晶振的另一端。当直接使用外部时钟源时,此引脚可浮空,此时XTAL2实际将XTAL1输入的时钟进行输出。
EA/VPP内外存储器选择引脚
ALE/PROG地址锁存允许信号输出引脚/编程脉冲输入引脚
PSEN外部程序存储器选通信号输出引脚

3.2、复位电路

 一、复位电路的用途

单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。

二、复位电路的工作原理

在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现,那这个过程是如何实现的呢?

在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。

开机的时候为什么会复位:

在电路图中,电容的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是T=RC=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.3、晶振电路

 早期的单片机(比如经典的51单片机)系统,外接晶振是必须的,因为单片机的运行必须依赖于稳定的时钟脉冲。但是随着技术的发展,现在很多单片机都已经集成了内部时钟,所以在一般的应用场合,可以不用外接晶振电路了。不过由于内部时钟容易受外界干扰,所以在要求严格的场合,外接晶振电路还是很有必要的。

晶振介绍:

晶振有很多种,常用的有11.0592M、12M等。

选取11.0592M晶振:

使用11.0592MHz的晶振可以产生9600的波特率

波特率 = (2SMOD/32)* T1溢出率

溢出率 = (计算速率)/(256 – TH1初值)

= (fose / 12) / (256 – TH1初值)

注:机器周期 = 12个时钟周期

最终波特率 =(2SMOD/32)* (fose / 12) / (256 – TH1初值)

如果波特率=9600,SMOD=0,fose=11059200,则最终TH1=253=0Xfd,是一个整数

如果fose=12000000,要得到9600的波特率,则TH1=252.745,不是一个整数,所以不能产生标准的9600波特率。

选取12M晶振:

单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。一个机器周期包括12个时钟周期。如果一个单片机选择了12MHZ晶振,它的时钟周期是1/12us,它的一个机器周期是12x(1/12)us,也就是1US。机器周期不仅对于指令执行有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。例如一个单片机选择了12MHZ晶振,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。

电容介绍:

这两个电容一般称为“匹配电容”或者“负载电容”、“谐振电容”。晶振电路中加这两个电容是为了满足谐振条件。一般外接电容,是为了使晶振两端的等效电容等于或接近负载电容。只有连接合适的电容才能满足晶振的起振要求,晶振才能正常工作。

负载电容无法满足的话一般会使晶体频率产生偏差,严重的话晶体无法起振。电路设计中要尽量满足晶体的负载电容需求,从而使晶体工作在最佳状态。负载电容计算公式如下:

CL = C1*C2 / (C1+C2) + CS

CL为晶振的负载电容值,一般通过查询晶振的数据手册获得,一般15-30pF。CS为电路板的寄生电容,一般取 3~5pF,取C1 = C2,那么公式可以简化成如下:

CL = C1 / 2 + CS

一般情况下,增大负载电容的值会使振荡频率下降,减小负载电容的值,会使振荡频率上升。

3.4、电源

 一个type-c的插座,一个自锁按键、一个220uF的电解电容、一个1k的限流电阻和一个LED灯

这个220uF的电解电容选取:

为什么要:一是电源本身就有纹波,多加一个滤波电容更好,二是电源线有电阻,负载电流的变化会在该电阻上形成不同的电压降,进一步加大了电压的波动,因此每块电路板上都有电源滤波电容。负载电流越大,滤波电容容量也越大。至于选取多大的电容,一般是100-220uF。

灯和限流电阻:当供电正常并且自锁按键按下时,灯会点亮,表明板子处于供电状态。

3.5、下载口

 使用USB—TTL模块进行下载,使用专门的下载工具stc-isp

               

 

  • 108
    点赞
  • 954
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
STC89C52 是基于 80C51 内核的单片机,具有较高的性价比和广泛的应用。最小系统指的是单片机最基本的工作电路,包括晶振、复位电路、电源过滤电路和单片机本体。下面是 STC89C52 最小系统讲解: 1. 晶振电路 STC89C52 的晶振电路需要外部提供一个晶体振荡器,一般常用的晶体振荡器为 11.0592MHz 或 12MHz。晶振电路由晶振、负载电容和晶振接口组成。其中晶振的频率是固定的,而负载电容的大小决定了晶振的稳定性。晶振接口需要连接到单片机的 XTAL1 和 XTAL2 引脚上。 2. 复位电路 STC89C52 的复位电路由复位电路电源、复位电路接口和复位电路组成。复位电路电源需要为单片机提供一个复位电源,一般为 5V 稳压电源。复位电路接口需要连接到单片机的 RST 引脚上。复位电路可以是外部复位电路或者是单片机自带的复位电路,外部复位电路一般是由一个电容和一个电阻组成,而单片机自带的复位电路可以直接使用。 3. 电源过滤电路 STC89C52 的电源过滤电路需要为单片机提供一个稳定的电源,同时需要对电源进行过滤,以减小电源噪声和波动对单片机的影响。电源过滤电路一般由一个电容和一个电感组成,可以有效滤除电源中的高频噪声。 4. 单片机本体 STC89C52 单片机本体包括 CPU 、内部 RAM 和 Flash 存储器、IO 端口等。其中 CPU 是单片机的核心,内部 RAM 和 Flash 存储器用于存储程序和数据,IO 端口用于连接外部设备和传输数据。 以上就是 STC89C52 最小系统讲解,需要注意的是,最小系统只是单片机应用电路的基础,实际应用中需要根据具体的应用需求进行相应的扩展和优化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单片机俱乐部--官方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值