51单片机STC8G系列开发环境配置并编写第一个hello world程序
目录
本文只要介绍如何搭建51单片机的开发环境和编写第一个51程序「hello world」
资料准备
STC 新官网(新手推荐):
https://www.stcai.com/
STC 旧官网(此官网的软件下载地址失效):
http://www.stcmcudata.com/
芯片手册下载页面:
https://www.stcai.com/cp_stc8gxl
芯片手册STC8G系列直接下载地址:
https://www.stcai.com/filedownload/625773
软件准备
操作系统
WINDOWS 系列操作系统
STC-ISP 软件
STC-ISP 是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC8G系列、STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便。
STC 软件下载页面:
https://www.stcai.com/gjrj
烧写器stc-isp-15xx-v6.90U-完整版直接下载地址:
https://www.stcai.com/filedownload/625753
(新手建议使用完整版本,包含Keil所用到头文件,配置对话框等多个主要功能)
下载并安装 keil
https://www.keil.com/download/product/
选择C51版本进行下载
此时,需要填写一些信息,填写好点击「Submit」就可以进入下载页面
打开keil安装程序,不断的按「Next」,遇到信息填写时再填一遍,直到「Finnish」即可。
安装完成,在桌面可以看到keil的快捷图标
硬件准备
STC8G1K08A 开发板
STC8G系列和以往的STC单片机比较好的地方是,更加简单易用。
优先选项:建议购买开发板
这么做省事,省心。
其次选项:手动制作使用STC8G最小系统
若果没有购买开发板的话,其实芯片自身就可以是最小系统,可以参考芯片手册上的最小系统(加2个电容即可)搭建测试环境。凌顺实验室(lingshunlab.com)也试过直接使用芯片,也是可行的,但不建议这么做,时间久了可能会烧坏芯片。
下载器/编程器/烧录器
「STC单片机程序自动下载器/编程器/烧录器 免手动冷启的USB-TTL」
一般在8-13元之间,请自行购买。(PS:价格参考于2022年11月)
开发软件Keil 配置STC
STC-ISP 和 Keil 都安装完成后,就需要添加STC芯片的型号和头文件到Keil中。
1,关闭Keil程序(如果已经打开了的话)
2,打开STC-ISP
- 1,选择「Keil仿真设置」对话框
- 2,单片机型号选择所使用的,例如本文使用的是「STC8G1K08A-8PIN」
- 3,点击「添加型号和头文件到Keil中」
3,此时,会弹出一个路径选择的对话框,选择Keil安装路径的「UV4」文件夹(根据安装Keil不同版本可能是UV2/UV3),点击「确定」。
4,会有提示框弹出,提示「STC MCU型号添加成功!」。
这就已经把STC的芯片在Keil配置好了。
编写「hello world」51程序
1,打开Keil
2,菜单栏选择「Project」--> 「New uVision Project」
3,选择project的存放位置
4,选择正确的芯片型号,「STC8G1K08」
5,在项目中新建2个文件,mian.c(程序文件) 和 STC8G.h (头文件)
6,在STC-SPI的头文件配置复制到项目中的「STC8G.h」文件中
7,复制以下程序到「main.c」文件,演示效果是单片机上电后在串口输出“hello”:
#include "stc8g.h"
#include "intrins.h"
#include "stdio.h"
void UartInit(void) //115200bps@12.000MHz
{
SCON = 0x50; //8位数据,可变波特率
AUXR |= 0x40; //定时器时钟1T模式
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器
TMOD &= 0x0F; //设置定时器模式
TL1 = 0xE6; //设置定时初始值
TH1 = 0xFF; //设置定时初始值
ET1 = 0; //禁止定时器%d中断
TR1 = 1; //定时器1开始计时
TI = 1; // enable printf
}
void main() {
UartInit();
printf("hello\r\n");
while(1){
}
}
8,配置输出HEX文件,用于上传。
点击「Options for Target......」,选择「output」选项,把「Creade HEX File」勾选,即可。
9,点击「Build」或者「Rebuild」都会进行编译,生成HEX文件。
该HEX文件保存在项目目录的"Objects"文件夹里面