「STC8A8K64D4开发板」——下载程序
开发板程序下载内容
本文档描述使用宏晶官方下载软件STC-ISP给艾克姆科技STC8A8K64D4开发板下载程序的方式。
使用STC-ISP软件只可以下载HEX文件,不可以在线仿真。如需硬件仿真需选用STC带仿真功能的MCU在Keil软件上实现,仿真部分是在其他文档中介绍。
开发板程序下载
关于HEX文件和BIN文件
单片机可被下载执行的文件常见有HEX文件和BIN文件,一般HEX文件是我们更常使用的文件,HEX文件可通过Keil软件编译生成。
下面介绍下HEX文件和BIN文件的区别。
HEX文件是包括地址信息的,而BIN文件只包括了数据本身。烧写或下载HEX文件时,一般不需要用户指定地址(因为HEX文件内部已经包含了地址信息),而烧写BIN文件时需要用户指定烧录的地址信息。HEX文件和BIN文件大小不同,HEX文件是用ASCII码来表示二进制的数值,BIN文件是最纯粹的二进制机器代码。例如8-BIT的二进制数值0x4E,用ASCII来表示就需要分别表示字符‘4’和字符‘E’,每个字符均需要一个字节,因此HEX文件至少需要2倍BIN文件的空间。注:HEX文件都是由记录(RECORD)组成的。在HEX文件里面,每一行代表一个记录。记录的基本格式在此不做介绍。艾克姆科技提供的开发板配套例程中,都会单独通过文件夹“HEX文件”的形式把对应实验的HEX文件提供出来,方便用户直接下载(不需要再使用Keil软件打开例程源码编译生成HEX文件了),并观察实验现象。
举例,按照路径“...\第3部分:配套例程源码\1 - 基础实验程序\实验2-1-3:流水灯(多个c文件)”打开后,可以看到下图所示文件,找到HEX文件。
图1:查找提供的HEX文件
使用Keil C51生成HEX文件
本节以“...\第3部分:配套例程源码\1 - 基础实验程序\实验2-1-3:流水灯(多个c文件)”为例,介绍下使用Keil C51生成HEX文件的方法和步骤。
双击打开Keil C51图标,如下图所示。图2:Keil C51图标
点击Project,然后点击Open Project File,按照路径提示找到,“...\第3部分:配套例程源码\1 - 基础实验程序\实验2-1-3:流水灯(多个c文件)\led_blinky\Project”文件夹中的led_blinky. uvproj文件,操作步骤如下图所示。图3:Keil C51打开工程文件步骤
打开工程led_blinky后的界面如下图所示。图4:Keil C51打开工程文件
根据下面操作进入HEX文件的生成配置界面,如下图所示步骤操作。图5:配置Keil C51选项生成HEX文件
注:HEX文件生成路径设置为:“...\第3部分:配套例程源码\1 - 基础实验程序\实验2-1-3:流水灯(多个c文件)\led_blinky\Project\Output”。完成上述操作之后,回到主界面,按下图所示点击编译按钮生成HEX文件。图6:编译Keil C51
注:编译后,注意观察信息窗口输出的信息,若输出信息提示无错误表示编译成功。如果编译报错,则不会生成HEX文件,此时必须先解决报错问题。Build按钮:增量编译,编译工程中上次修改的文件及其它依赖于这些修改过的文件的模块,同时重新链接生成可执行文件。如果工程之前没编译链接过,它会直接调用Rebuild All。Rebuild按钮:全部重新编译。按HEX文件生成路径打开文件夹Output,可看到HEX文件已生成,如下图所示。图7:找到生成的HEX文件
使用stc-isp-15xx-v6.86u软件下载程序
STC官方针对STC单片机提供了专用的ISP下载软件,该软件版本会在官网上不断更新,STC官网:http://www.stcmcu.com/
开发板配套资料包里面已经下载好了stc-isp-15xx-v6.90D安装文件,安装文件的位置在开发板资料包的位于“...\第2部分:开发软件工具\ 2 - STC-ISP下载软件”目录下。
程序烧写的步骤包括配置STC-ISP软件参数、打开HEX文件和烧写,详细流程如下。
配置STC-ISP软件参数打开STC-ISP软件,主要设置项目如下图所示。
图8:配置STC-ISP软件参数
选择单片机型号开发板使用的单片机型号为STC8A8K64D4或者STC8A8K48D4,所有这里应该选择STC8A8K64D4或者STC8A8K48D4。
选择串口号选择开发板USB转串口枚举的COM口,可以在电脑的设备管理器中查看。
设置晶振频率这里是选择单片机内部时钟使用的,开发板例程是基于24MHz晶振频率来的,所以选择24MHz。若选择使用外部时钟时,除需软件配置相关寄存器外,还需焊接合适的外部晶振及负载电容(开发板预留有外部晶振焊盘和2个晶振负载电容焊盘)。
勾选“复位脚用做I/O口”勾选后,单片机P5.4口会作为普通的IO口使用。单片机默认使用片内的复位电路,无需搭建外部复位电路的。而如果去掉该勾选项,单片机P5.4口则被使能为外部复位引脚,此时P5.4口不再是普通IO口,而对开发板再次下载程序就需要使用外部复位电路给P5.4复位引脚复位信号以实现下载。本开发板有外部复位电路,需断开开发板J26端子的P54与TOUCH短路帽,同时,短接开发板J26端子的P54与RESET短路帽,实现外部复位下载,外部复位按键是红色按键S1。
勾选“每次下载前都重新装载目标文件”勾选后,每次点击“下载/编程”按钮,STC-ISP软件会重新读取选定的HEX文件。这一条在开发的过程中一定要勾选,否则,当我们重新编译程序后,生产的HEX文件内容已经改变,但是下载时仍然下载的是STC-ISP软件缓存的HEX文件,而不是重新编译生产的HEX文件。
打开待下载的HEX文件。如下图所示,点击“打开程序文件”按钮,在弹出的窗口中导航到HEX文件目录,选中HEX文件后打开即可。
图9:打开待下载的HEX文件
烧写点击STC-ISP软件上的“下载/编程”按钮,点击后,STC-ISP软件开始检测单片机并自动下载程序。下载完成后,信息窗口会提示下载成功与否,如下图所示。(如果开发板J4端子选择为了手动下载,我们需要按一下开发板上的下载按键S2来启动下载)
图10:自动冷启动下载
图11:手动冷启动下载
下载成功后,观察开发板,会看到指示灯D1、D2、D3、D4循环闪烁。以上下载程序是USB下载方式,如果使用串口RS232下载程序则只需连接开发板J12端子即可。图12:开发板下载口选择
常见问题及解决办法
串口打开失败报错
故障现象: 点击下载/编译后,弹出下图界面报错信息。图13:下载报错界面,串口打开失败
注:从下面三个方面解决问题。解决方法1:检查下USB线有没有连接上,有没有连接好。解决办法2:检查下CH340的驱动有没有安装好。解决办法3:检查下串口号选择是否正确,是否是连接到的开发板对应的串口号。忘记打开目标文件报错
故障现象: 点击下载/编译后,弹出以下报错信息。图14:下载报错界面,缺少目标文件
解决方法:打开程序文件,按照HEX文件存放的路径添加要下载到MCU的HEX文件。单片机型号不对报错
故障现象: 点击下载/编译后,单片机冷启动下载没有完成,弹出以下报错信息。图15:下载报错界面,单片机型号选错
解决方法:重新添加选择单片机型号,务必注意添加新的单片机型号后,要点击“打开程序文件”按钮,将HEX文件重新选中。C#编写单片机程序,用代码唤醒ESP32的智能灵魂
简述
在编程的浩瀚星海中,C#一直以其强大的功能和优雅的语法,吸引着无数开发者的目光。而今,随着nanoFramework的诞生,C#更是拥有了在单片机领域展现身手的舞台。本文将带你走进C#与ESP32单片机的奇妙世界,探索如何用C#编写单片机程序,开启一段不同凡响的编程旅程。探索前的准备:装备你的工具箱
在这场编程探险之前,我们首先要准备好必要的工具。一块功能完备的ESP32开发板,一根数据线,这将是我们连接物理世界与数字世界的桥梁。
开发环境的搭建:构筑你的编程堡垒
接下来,让我们搭建起编程的堡垒。Visual Studio Code(VS Code)和Visual Studio 2022,这两款强大的开发工具,将是我们征服单片机世界的利器。通过它们,我们将安装并配置nanoFramework扩展,为我们的编程之旅打下坚实的基础。
设备的连接:架设硬件与软件的桥梁
将ESP32通过数据线连接到电脑,这一简单而又关键的步骤,将我们的硬件设备与软件世界紧密相连。在VS Code和VS2022中搜索并安装nanoFramework扩展,这将为我们的编程之旅提供必要的支持和便利。
项目的创建:绘制你的编程蓝图
在VS2022中,我们将创建一个新的nanoFramework项目。这就像是绘制一张蓝图,为我们的编程大厦奠定基础。
设备的配置:调整你的罗盘
使用Device Explorer配置设备,设置COM端口,这些细致的设置,将指引我们的编程之旅,确保每一步都精准无误。
驱动的安装:铺平前行的道路
在开始编码之前,别忘了安装ESP32驱动程序。这是确保你的设备能够被电脑识别并顺利运行的关键步骤。通过提供的链接下载并安装驱动,为你的编程之旅扫清障碍。
固件的更新:注入新的生命
使用.NET Core CLI命令安装nanoff工具,这是更新和烧录单片机固件的重要工具。通过它,我们可以轻松地将最新的nanoFramework固件烧录到ESP32上,为单片机注入新的活力。
烧录程序:点亮智慧的火花
使用VS Code的nanoFramework flash device功能,将我们的代码烧录到单片机上。这一过程,就像是将智慧的火花,点亮了单片机的内心。
运行与调试:倾听代码的呼吸
在VS2022中运行你的程序,观察单片机的反应。调试过程中可能会遇到问题,但每一次问题的解决,都会让你的技术更进一步。
实例演示:用代码点亮LED
让我们通过一个简单的实例,演示如何用C#控制ESP32上的LED灯。以下是一个控制LED闪烁的基础代码示例:
using System;using System.Threading;using nanoFramework.Hardware.Esp32;using Windows.Devices.Gpio;class Program{ static GpioPin ledPin; static void Main() { // Initialize the LED pin ledPin = GpioController.GetDefault().OpenPin(2); ledPin.SetDriveMode(GpioPinDriveMode.Output); // Blink the LED while (true) { ledPin.Write(GpioPinValue.High); // Turn on the LED Thread.Sleep(500); // Wait for 500ms ledPin.Write(GpioPinValue.Low); // Turn off the LED Thread.Sleep(500); // Wait for 500ms } }}
结语:加入C#单片机开发的大家庭
C#与单片机的结合,不仅仅是技术的融合,更是创新的火花。如果你对C#单片机开发感兴趣,欢迎加入我们的大家庭,与志同道合的开发者一起交流、学习、成长。在文章的最后,我们提供了作者的联系方式,期待与你的思维碰撞出更多的灵感。
相关问答
51 单片机 怎么将hex 代码下载 去 单片机 ?回答如下:要将hex代码下载到51单片机中,需要使用一个编程器,如STC-ISP、USBISP等。下面是一些大致的步骤:1.将编程器与电脑连接,并安装驱动程序。2.将51...
单片机 数字 代码 是多少?单片机数字代码是指在单片机中使用的二进制代码,用于控制单片机的各个部分和功能。单片机数字代码根据不同的单片机型号和厂家而有所不同,一般由机器码和汇编...
单片机 写 代码 是什么意思?就是往单片机里面写入程序,代码的意思也就是程序,说写代码显得高深,哈哈糊弄人的就是往单片机里面写入程序,代码的意思也就是程序,说写代码显得高深,哈哈糊弄...
开发 单片机 上位机软件,怎么写 代码 ?需要什么工具?如果是单片机上位机程序开发,基本现有的语言都可以,包括VC丶VB丶C#丶Java丶Python等等。因为上位机程序只要支持串口或USB通讯协议,就可以和下位机通信,一般...
单片机 蜂鸣器音乐 代码 怎么编写?单片机蜂鸣器音乐代码的编写主要包括以下几个步骤:确定音符的频率:根据所需播放的音符,查阅音符对应的频率值。计算定时器溢出值:根据音符的频率和单片机...
怎么把写好的 代码 烧写到 单片机 里?如果是STC这一类单片机,带有ISP功能,可以直接用串口将程序下载到单片机,如果是普通的8051单片机,那么需要编程器将程序“烧录”到单片机。如果是STC这一类单...
51 单片机 怎么写 代码 ?学习单片机很重要的一步就是为单片机烧写程序代码,烧写程序是初学者体验单片机并快速入门的第一步,51单片机由于比较简单,并且为了节省学习成本,一般很少使用...
单片机 程序怎么样将c语言源码编译成机器语言烧录到 单片机 里?...需要编译器,而且之有C代码也不行,板子必须支持C编译,你是准备烧到什么板子里,先下载个EmbestIDE或者其他的模拟环境下载一个编译器,把源程序编译成机器语言文...
会 单片机 人士进来看看,帮帮忙。HEX文件[最佳回答]HEX文件IntelHEX文件是由一行行符合IntelHEX文件格式的文本所构成的ASCII文本文件。在IntelHEX文件中,每一行包含一个HEX记录。这些记录由对应...
单片机 怎么与 代码 ?单片机与写入c程序编译后的hex文件运行单片机与写入c程序编译后的hex文件运行