0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

keil单片机编程软件的使用方法说明

Wildesbeast 来源:21IC 作者:21IC 2020-08-15 11:26 次阅读

单片机编程软件的使用尤为必要,每一款单片机编程软件都有各自特色。大家在选用单片机编程软件时,可依据自身情况而定。本文对单片机编程软件的介绍基于Keil,主要在于介绍keil单片机编程软件如何将hex下载STM32,如何烧写hex文件以及如何直接使用二进制数。如果你对本文内容具有兴趣,不妨继续往下阅读哦。

一、使用Keil下载Hex文件进STM32

初学STM32时,是通过串口1把Hex文件下载进STM32的,需要一个串口模块,而且还要设置BOOT0和BOOT1电平,然后通过FlyMcu软件进行下载,这也是一种不错的方法,这里我要介绍的是使用JLink调试器和Keil MDK-ARM来下载Hex文件,无需源代码,只需要一个调试器。

所需要的工具和软件

Hex文件,如Demo_STM32.hex

Keil软件,v4或v5版本,如Keil v5.16a

ARM调试器,Jlink或ST-Link,如Jlink v9

STM32开发板,如STM32F103RET6

1.准备一个完整的工程

准备一个完整的工程,注意,这个工程的芯片型号、开发板的芯片型号、Hex文件对应的芯片型号,这三者的芯片型号要保持一致,否则会出现不能正确运行的问题。如都是STM32F103RET6。

2.确定Jlink已经检测到芯片

如图,先选择调试器类型,然后点击 Setting,如果连接上芯片,会在右侧显示芯片的ID号。

3.确定这个工程的Hex文件的输出路径

打开工程配置界面中的,Output选项,可以看出我这个工程输出文件存放的路径是在OBJ目录下,名称是NiceDay

打开OBJ目录可以看到这个工程生成的hex文件名称为NiceDay.hex

4.把要下载的Hex文件放到OBJ目录下

5.把Output界面的NiceDay改为Demo_STM32.hex

注意末尾的扩展名.hex不要少。

6.不要编译工程,直接点击下载按钮。

在输出窗口可以看到下载完成:

如果程序没有运行,可以在下载界面查看是否勾选了下载完成后复位运行。

二、烧写hex文件

开发单片机的第一步就是用Keil软件编写汇编程序,并形成最终的“*.hex”目标文件,然后用编程器将该文件烧写到单片机中就行了,最后将烧写好的单片机插到电路板上,一接通电源就可以工作了。

1、将hex文件转成elf文件,方法要自行先搜索一下。

2、新建一个工程,选好CPU,不要添加启动代码。

3、把生成的hex文件或elf文件复制到新工程的目录下。

4、在工程的opTIons-》Output选项里,把Name of Executable:设成您的hex文件名。

5、设置好opTIons-》UTIliTIes的选项。

5、直接点Load就行了。

三、Keil C51使用二进制数

在Keil C51中数不能直接以二进制形式赋值,虽然在8051的汇编中是可以的。二进制数虽然书写长,易出错,但是由于是一位位写的,所以程序设计者能够很明确的看到每一位的状态,看得比较直观。于是很多人怀念了8051的汇编,很想在C51中使用二进制。没猜错的话搜到本篇日志的人很可能就是来找这种解决办法的,下面两种办法都是不错的选择。

方法一:

建立一个头文件,将所有的二进制数宏定义列举出来,用的时候直接使用宏定义,头文件定义:binary(右键》》“目标另存为”》》下载)。

方法二:

做一个带参数宏定义,将输入的类二进制数变换为对应的16进制数,整个定义和使用实例请见下文,可以直接使用,如果想研究原理又看不懂带参宏定义的朋友们请参考谭浩强的《C程序设计》预处理命令一章内容(第三版在P204-P211)。

#define LongToBin(n)

((n 》》 21) & 0x80) |

((n 》》 18) & 0x40) |

((n 》》 15) & 0x20) |

((n 》》 12) & 0x10) |

((n 》》 9) & 0x08) |

((n 》》 6) & 0x04) |

((n 》》 3) & 0x02) |

((n ) & 0x01)

#define Bin(n) LongToBin(0x##n##l)

void main(void)

{

unisigned char c;

c = Bin(10101001); //相当于c = 0xA9

}

上面预处理指令中使用了反斜杠,这里解释一下:每一条预处理语句总是以“#”字符开始,并且不能超过一行,一旦遇到换行符语句就被当做结束,唯一的一种能将预处理语句扩展到多行的办法就是在换行符之前加一个反斜杠(‘’)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6044

    文章

    44631

    浏览量

    639145
  • 编程
    +关注

    关注

    88

    文章

    3642

    浏览量

    94051
  • keil
    +关注

    关注

    69

    文章

    1214

    浏览量

    167399
收藏 人收藏

    相关推荐

    AB伺服软件使用方法

    AB伺服软件使用方法
    发表于 12-24 14:45 0次下载

    单片机Debug工具性能对比 单片机调试常用命令

    。以下是对单片机调试工具性能的简要对比以及一些常用的调试命令。 单片机Debug工具性能对比 Keil uVision 性能 :Keil uVision 是一款功能强大的集成开发环境(
    的头像 发表于 12-19 09:56 538次阅读

    单片机编程语言有哪些选择

    单片机(Microcontroller Unit,MCU)编程是指为单片机编写程序的过程,这些程序控制单片机的行为和功能。单片机广泛应用于嵌
    的头像 发表于 11-01 14:13 1041次阅读

    单片机调试常见问题与解决方法

    烧录到单片机时,烧录软件显示无法与单片机通信。 解决方法: 检查单片机的电源是否正常,确保电源电压在规定的范围内。 检查烧录线的连接是否正确
    的头像 发表于 11-01 14:11 1258次阅读

    基于51单片机的手动数字时钟

    按键,可实现秒复位。仿真演示视频:基于51单片机的手动数字时钟-仿真视频设计介绍51单片机简介51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash
    的头像 发表于 10-22 14:12 305次阅读
    基于51<b class='flag-5'>单片机</b>的手动数字时钟

    如何将hex文件烧录进单片机

    :确保你的计算机上安装了适用于你单片机型号的开发环境,如Keil、IAR Embedded Workbench等。以Keil为例,你需要从Keil官网下载并安装适合你
    的头像 发表于 09-02 10:34 2629次阅读

    keil可以读出单片机的程序吗

    Keil是一款广泛应用于单片机程序开发的软件,它提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。然而,关于Keil是否能直接“读出”
    的头像 发表于 09-02 10:32 1291次阅读

    keil软件怎么运行写好的程序

    Keil软件是一款功能强大的嵌入式开发工具,广泛应用于单片机、ARM、DSP等嵌入式系统的开发。本文将介绍如何使用Keil软件运行写好的程序
    的头像 发表于 09-02 10:29 2433次阅读

    stm32单片机用什么软件编程

    STM32单片机是一种广泛应用于嵌入式系统领域的微控制器,具有高性能、低功耗、丰富的外设接口等特点。要对STM32单片机进行编程,需要选择合适的软件工具。 概述 STM32
    的头像 发表于 09-02 10:16 2038次阅读

    单片机图形化编程软件有哪些

    单片机图形化编程软件为开发者提供了一种更加直观、易于上手的编程方式,尤其适合初学者和教育领域。以下是一些常见的单片机图形化
    的头像 发表于 09-02 10:14 1817次阅读

    如何用keil单片机烧录程序

    以下是详细的步骤: 安装Keil软件 : 首先,您需要从Keil官网下载适合您单片机型号的MDK-ARM软件。 安装过程中,请按照提示操作,
    的头像 发表于 08-22 09:28 4138次阅读

    51单片机烧录软件怎么用

    准备工作 确保您已经安装了51单片机烧录软件,如Keil、IAR等。 准备好51单片机开发板和烧录器,如STC-ISP等。 确保您的计算机已经安装了相应的驱动程序。 安装烧录
    的头像 发表于 08-22 09:26 1545次阅读

    编程电源使用方法

    编程电源使用方法编程电源使用方法 摘要:本文详细介绍了可编程电源的使用方法,包括其基本概念
    的头像 发表于 06-10 15:29 1180次阅读

    fpga编程单片机编程的区别

    FPGA编程单片机编程的主要区别体现在以下几个方面。
    的头像 发表于 03-14 17:16 1141次阅读

    单片机编程和plc编程有什么区别

    单片机编程和PLC编程是两种不同的嵌入式系统开发领域。在这篇文章中,我们将详细探讨这两种编程方式的区别。首先,我们将简要介绍单片机和PLC的
    的头像 发表于 02-22 10:23 3018次阅读