电子元件准备
STC 89C52RC 单片机芯片(40Pin 直插式DIP封装) x 1
10uF铝电解电容 x 1
10K直插式电阻 x 2
11.0592MHz晶振 x 1
30pF瓷片电容 x 2
电子元件图示
STC 89C52RC 单片机芯片(40Pin 直插式DIP封装):
- 一定要是DIP封装的,如果买成贴片的是无法插在面包板上的
- 10uF铝电解电容:
- 正负极辨别:
从侧面环顾一周,纵向查看电容外壳,标有“-”符号的一侧,顺势下去,此方向的引脚为负极,相反的另一方引脚为正极
- 10K直插式电阻:
- 一般包装上会有说明,如没有,可看电阻色环计算出阻值
- 11.0592MHz晶振:
- 注意要直插式
- 30pF瓷片电容:
- 不区分正负极,直接连即可
STC 89C52RC电气特性
管脚定义
综上,使用STC 89C52RC构建51最小系统电路,STC
89C52RC的引脚一共需要连接6处。要连接的6个引脚的“管脚符号”已使用红色字体标出,各自如何连接已用注释阐明。
补充:表格注释:
电路图
这是官方文档中描述的51最小系统电路图。
这是另外绘制的高清简洁版51最小系统电路图。
最小系统电路搭建
-
按照上一个标题中另外绘制的“STC 89C52RC最小系统
电路图”,在面包板上将原件都插装好。 -
插装好后如图所示:
- 下图是后来改进的新搭建方式。比之前更清晰,该拐弯的地方拐弯腾出地方来,减少交叉,更便于观察和理解。
烧写程序
烧写程序,需要使用USB转TTL来实现。在最小系统电路上进行添加。
电路升级
-
原电路需要和USB转TTL程序下载器相连来烧写程序。因为USB转TTL下载器有5V电源输出,所以不烧写程序一直连着也充当了电源的角色。
-
USB转TTL程序下载器关键的地方在于:下载器的TXD、RXD针脚要和芯片的TXD、RXD引脚反着接。
#include <reg52.h>
sbit led = P2^0;
void main()
{
led=0;
}
-
保存后,点击以下图标设置输出hex文件:
-
在弹出的对话框中,切换到“Output”选项卡,勾选“Create HEX
File”,值保持默认,点击“OK”即可。 -
保存后,点击以下图标开始编译:
-
输出结果:
Build target 'Target 1'
assembling STARTUP.A51...
compiling hello-led.c...
linking...
Program Size: data=9.0 xdata=0 code=18
creating hex file from "hello-led"...
> "hello-led" - 0 Error(s), 0 Warning(s).
-
-
检查“串口号”是否检测出下载器的COM端口。
以上就是成功检测到下载器。 -
点击“打开程序文件”,选择刚才生成的hex文件。
-
点击“下载/编程”:
-
此时,先将USB转TTL下载器5V的电源线拔掉,然后再接上,以触发冷启动后监听重新握手来实现程序的刷入。
-
软件日志输出框内输出结果:
正在重新握手 ... 成功 [0.594"]
当前的波特率: 115200
正在擦除目标区域 ... 完成 ! [0.312"]
正在下载用户代码 ... 完成 ! [0.109"]
正在设置硬件选项 ... 完成 ! [0.016"]
更新后的硬件选项为:
. 当前的时钟频率: 11.088MHz
. 系统频率为12T(单倍速)模式
. 振荡器的放大增益不降低
. 当看门狗启动后,任何复位都可停止看门狗
. MCU内部的扩展RAM可用
. ALE脚的功能选择仍然为ALE功能脚
. P1.0和P1.1与下次下载无关
. 下次下载用户程序时,不擦除用户EEPROM区
单片机型号: STC89C52RC/LE52RC
固件版本号: 6.6.4C
操作成功 !
以上即表示程序烧写成功,程序会立即执行。
- 看到LED成功被点亮。
#include <reg52.h>
sbit led = P2^0;
void delay(int n) {
int i, j;
for(i = n; i > 0; i--)
for(j = 110; j > 0; j--);
}
void main()
{
while(1) {
led=~led;
delay(1000);
}
}
评论(0)
您还未登录,请登录后发表或查看评论