这篇文章上次修改于 471 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

在Keil创建项目

project > new project
2018-12-18_12-36-41.png
在下拉栏选择Legacy Device Database,Search中输入AT89C51
找到并确定

main.c

创建单片机的程序,简单的设置GPIO程序,以点亮LED灯

#include <reg52.h>
sbit led = P1^1; //即P1.1口

void main(void)
{
    led = 1; //高电平,启动gpio口
    while(1){
        led = 0; //低电平,用于点亮LED
    }
}

编译并生成目标hex文件
2018-12-18_12-50-13.png

仿真测试

接下来在Proteus上面创建一个工程,不选择开发板
2018-12-18_12-37-47.png
在元件库中查找并添加AT89C51芯片
放置在原理图中。并编辑元件
2018-12-18_12-56-22.png
选择对应的固件,一般在keil工程文件夹的Object下的hex文件

运行仿真
2018-12-18_12-58-57.png
P1.1脚被设置为低电平,说明程序没有问题

烧录到单片机

相对应Arduino,51单片机烧录相对要麻烦些。只是相对的,Arduino UNO R3只不过是将USB转TTL集成在开发板中,你只需要一根usb线就行了,如果你买的是Arduino mini那么操作起来跟51也差不多。
43.041.jpg
然后连接

TTL单片机
VccVcc
GndGnd
RxTx
TxRx

stc家的下载工具
吐槽下stc的官网,打开就是一张大图铺满屏幕,整个网页全是table布局.....
2018-12-18_13-24-23.png

  1. 扫描可用串口
  2. 选择串口号(一般会自动选择)
  3. 打开对应的Hex程序文件
  4. 下载/编程
  5. 下载程序开始后,重启单片机电源,不出问题的话程序便开始烧录
    IMG_20181218_13228.jpg