C8051F320 Silicon Labs IDE / Keil µVision / IAR for 8051 开发环境搭建



一、下载相关软件和准备烧录器

1、相关软件

开发软件官网下载链接:开发软件官网下载链接

Silicon Labs IDE
在这里插入图片描述
配置向导
在这里插入图片描述
闪存编程实用工具
在这里插入图片描述
Keil µVision 软件调试驱动程序
在这里插入图片描述

2、U-EC6 仿真烧录器

烧录器照片
在这里插入图片描述
在这里插入图片描述

接口引脚

在这里插入图片描述


二、配置向导(Configuration Wizard)

        配置向导 2 实用工具通过自动生成初始化源代码以配置和启用大多数设计项目所需的片上资源,从而帮助加快开发。仅需几个步骤,此向导即可为特定的 Silicon Labs MCU 建立完整的启动代码。

1、安装配置向导

双击安装包进行安装
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

注意:这里不会提示创建桌面快捷方式,需要自己到安装路径创建桌面快捷方式。

在这里插入图片描述


2、配置向导的使用

双击打开软件
在这里插入图片描述
选择芯片型号
在这里插入图片描述
选择需要生成初始化函数的外设,这里示例初始化晶振
aaaa
使能内部晶振,不分频,点击 OK
在这里插入图片描述

自动生成晶振初始化函数,复制到工程之后,只需要在 main 函数里调用即可

在这里插入图片描述


三、Silicon Labs IDE 开发环境

1、安装 Silicon Labs IDE

双击安装包安装
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


2、使用 Silicon Labs IDE 新建工程

我的 Silicon Labs IDE 版本
在这里插入图片描述

打开软件
在这里插入图片描述

新建工程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置编译工具链
在这里插入图片描述
选择编译工具

在这里插入图片描述
这里的 Keil5 是我自定义我电脑安装的 Keil 安装路径保存的设置

A51.EXE
在这里插入图片描述
C51.EXE
在这里插入图片描述
BL51.EXE
在这里插入图片描述
设置好编译器路径之后,点击 Save As 保存设置,方便下次使用
在这里插入图片描述

Silicon Labs IDE 支持 Keil、IAR、SDCC、Hi-Tech等多种编译工具


生成 hex 文件
在这里插入图片描述
在这里插入图片描述


设置 U-EC6 仿真烧录器

在这里插入图片描述
连接设置,U-EC6 仿真烧录器勾选USB Debug Adapter,C8051F300 及以上单片机选择 C2 接口,以下选择 JTAG 接口
在这里插入图片描述

在 led.c 文件输入以下代码:

#include "si_toolchain.h"
#include "C8051F320_defs.h"
#define SYSCLK             12000000    //时钟频率

sbit LED = P2 ^ 0;                    //LED

void Oscillator_Init(void);
void Port_Init(void);

void main(void)
{
	int i, j;
	PCA0MD &= ~0x40;                    //关闭看门狗

	Oscillator_Init();                  //初始化系统时钟
	Port_Init();                        //初始化IO


	while(1) {
		LED = 0;

		for(j = 0; j < 100; j++) {
			for(i = 0; i < 3000; i++);
		}

		LED = 1;

		for(j = 0; j < 100; j++) {
			for(i = 0; i < 3000; i++);
		}
	}
}

void Oscillator_Init(void)
{
	int i = 0;
	OSCXCN    = 0x67;			//外部晶振,10MHz < f≤ 30MHz

	for(i = 0; i < 3000; i++);   //等待初始化,等待至少 1ms

	while((OSCXCN & 0x80) == 0);	//等待晶体振荡器正在运行并且工作稳定

	OSCICN    = 0x83;		//内部振荡器使能,SYSCLK 为内部振荡器输出(不分频)
}

void Port_Init(void)
{
	XBR0     = 0x08;
	XBR1     = 0x40;     

	P2MDOUT  = 0x01;     //led推挽输出
}

保存文件,编译工程

在这里插入图片描述
编译成功
在这里插入图片描述

连接仿真器

在这里插入图片描述
更新 U-EC6 仿真烧录器固件,这个是必须更新的,不更新连接不上
在这里插入图片描述
连接 U-EC6 仿真烧录器成功后,烧录程序按键变为可用,点击该按键,烧录程序进行调试。
在这里插入图片描述
调试工具,可以添加断点进行调试。
在这里插入图片描述
再次点击连接仿真器的按键,即可断开与仿真器的连接
在这里插入图片描述


四、Keil µVision 开发环境

1、安装 Keil µVision 软件调试驱动程序

使用 Keil µVision 烧录调试程序必须安装 Keil µVision 软件调试驱动程序,目前官网最新版的 Keil µVision 软件调试驱动程序为 V4.40,所以需要使用 Keil µVision 4

双击安装包安装驱动
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
Keil µVision 软件调试驱动程序安装路径必须和你电脑上 Keil 的安装路径一致
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


2、使用 Keil µVision 新建工程

我的 Keil C51 版本

在这里插入图片描述
新建工程

在这里插入图片描述
选择芯片型号
在这里插入图片描述

配置 U-EC6 仿真调试器和 hex 文件输出
在这里插入图片描述

输出 hex 文件
在这里插入图片描述
在 Debug 选项卡下选择 C8051F 驱动
在这里插入图片描述

点击 Settings
在这里插入图片描述

连接设置,U-EC6 仿真烧录器选择 USB Debug Adapter,C8051F300 以下单片机选择 JTAG 接口,C8051F300 及以上选择 USB Debug Adapter 就行
在这里插入图片描述
新建文件

在这里插入图片描述
在文件输入以下代码

#include <C8051F320.h>

#define SYSCLK             12000000    //时钟频率

sbit LED = P2 ^ 0;                    //LED

void Oscillator_Init(void);
void Port_Init(void);

void main(void)
{
	int i, j;
	PCA0MD &= ~0x40;                    //关闭看门狗

	Oscillator_Init();                  //初始化系统时钟
	Port_Init();                        //初始化IO


	while(1) {
		LED = 0;

		for(j = 0; j < 100; j++) {
			for(i = 0; i < 3000; i++);
		}

		LED = 1;

		for(j = 0; j < 100; j++) {
			for(i = 0; i < 3000; i++);
		}
	}
}

void Oscillator_Init(void)
{
	int i = 0;
	OSCXCN    = 0x67;			//外部晶振,10MHz < f≤ 30MHz

	for(i = 0; i < 3000; i++);   //等待初始化,等待至少 1ms

	while((OSCXCN & 0x80) == 0);	//等待晶体振荡器正在运行并且工作稳定

	OSCICN    = 0x83;		//内部振荡器使能,SYSCLK 为内部振荡器输出(不分频)
}

void Port_Init(void)
{
	XBR0     = 0x08;
	XBR1     = 0x40;     

	P2MDOUT  = 0x01;     //led推挽输出
}

保存为 led.c,添加文件到工程
在这里插入图片描述
编译构建工程
在这里插入图片描述
编译成功
在这里插入图片描述
开始调试
在这里插入图片描述
点击确定
在这里插入图片描述
调试程序
在这里插入图片描述


五、IAR for 8051 开发环境

我的 IAR for 8051 版本
在这里插入图片描述

1、使用 IAR for 8051 新建工程

新建工程
在这里插入图片描述
在这里插入图片描述
配置工程和仿真烧录器
在这里插入图片描述
选择芯片
在这里插入图片描述
选择编译库
在这里插入图片描述
输出其他文件
在这里插入图片描述
输出 hex 文件
在这里插入图片描述
选择 Silicon Labs 仿真
在这里插入图片描述

设置仿真器

在这里插入图片描述
新建文件

在这里插入图片描述

输入以下代码

#include <ioC8051F320.h>
#define SYSCLK             12000000    //时钟频率

//sbit LED = P2 ^ 0;                    //LED

void Oscillator_Init(void);
void Port_Init(void);

void main(void)
{
    int i, j;
    PCA0MD &= ~0x40;                    //关闭看门狗

    Oscillator_Init();                  //初始化系统时钟
    Port_Init();                        //初始化IO


    while(1) {
        P2 = 0x00;

        for(j = 0; j < 100; j++) {
            for(i = 0; i < 3000; i++);
        }

        P2 = 0x01;

        for(j = 0; j < 100; j++) {
            for(i = 0; i < 3000; i++);
        }
    }
}

void Oscillator_Init(void)
{
    int i = 0; 
    OSCXCN    = 0x67;			//外部晶振,10MHz < f≤ 30MHz

    for(i = 0; i < 3000; i++);   //等待初始化,等待至少 1ms

    while((OSCXCN & 0x80) == 0);	//等待晶体振荡器正在运行并且工作稳定

    OSCICN    = 0x83;		//内部振荡器使能,SYSCLK 为内部振荡器输出(不分频)
}

void Port_Init(void)
{
    XBR0     = 0x08;
    XBR1     = 0x40;

    P2MDOUT  = 0x01;     //led推挽输出
}

保存文件为 main.c ,保存工程,添加文件到工程

在这里插入图片描述
编译构建工程
在这里插入图片描述
构建成功
在这里插入图片描述
开启调试
在这里插入图片描述

更新 U-EC6 固件,我这个版本的 IAR for 8051 支持到最新版的固件为39,这个是必须更新的。
在这里插入图片描述
点击确定
在这里插入图片描述
调试工具

在这里插入图片描述
停止调试

在这里插入图片描述


六、闪存编程实用工具(Flash Programming Utility)

1、安装闪存编程实用工具

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建桌面快捷方式
在这里插入图片描述


2、使用闪存编程实用工具烧录程序

双击打开
在这里插入图片描述

连接仿真烧录器,U-EC6 仿真烧录器选择 USB Debug Adapter,C8051F300 及以上选择 C2 接口,以下选择 JTAG 接口

在这里插入图片描述
点击 Connect 连接烧录器,第一次连接可能会提示更新固件,连接成功
在这里插入图片描述
点击 Disconnect 断开连接
在这里插入图片描述
烧录 Hex 程序文件,选择 hex 文件
Flash Programming Utility 可直接烧录 IAR for 8051、Silicon Labs IDE、Keil 生成的 hex 文件,不用设置 HEX 地址
在这里插入图片描述

点击 Download

在这里插入图片描述
烧录成功,断开设备之后,程序开始运行

在这里插入图片描述

擦除器件
在这里插入图片描述
点击是
在这里插入图片描述
擦除成功
在这里插入图片描述

C8051F320是一种基于8051内核的单片机,可以用于开发各种嵌入式系统应用。作为C2下载器,C8051F320可以与PC之间进行通信,用于程序烧录和调试。 为了实现C2下载器功能,需要在C8051F320上实现C2协议的通信。C2协议是基于RS232串口通信的一种通信协议,用于与目标芯片进行通信,可以进行烧录程序、读取芯片信息等操作。 首先,我们需要使用C8051F320内置的UART模块来实现RS232串口通信。通过配置UART模块的参数,如波特率、数据位、停止位等,可以与PC进行通信。 然后,编写C8051F320的程序,在程序中实现C2协议的通信逻辑。通过串口接收PC发送的C2指令,解析指令,执行相应的操作。例如,当PC发送烧录指令时,C8051F320可以接收程序数据并烧录到目标芯片中。 在C8051F320的程序中,我们还可以实现其他功能,如读取目标芯片信息、擦除芯片数据等。同时,可以添加相应的命令响应机制,将执行结果反馈给PC。 此外,为了方便调试和使用,可以使用外部存储器(如EEPROM、Flash)保存程序数据,以便长期保存和复用。还可以添加相应的状态指示灯或显示模块,用于显示当前状态或执行结果。 总结来说,将C8051F320用作C2下载器,需要在单片机中实现C2协议的通信逻辑,并与PC进行RS232串口通信。通过编写程序,实现烧录、读取芯片信息等功能,并提供相应的操作反馈。除此之外,还可以添加一些方便调试和使用的功能,使其更加实用和便捷。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菠萝蚊鸭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值