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

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

3天内不再提示

如何生成HEX文件和最小化系统

Wildesbeast 来源:今日头条 作者:光电客 2020-01-19 11:54 次阅读

在开始C语言的主要内容时,我们先来看看如何用KEIL uVISION2来编译生成用于烧写芯片的HEX文件。HEX文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示, 常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。我们先来打开第一课做的第一项目,打开它的所在目录,找到test.Uv2的文件就可以打开先前的项目了。然后右击图3-1中的1项目文件夹,弹出项目功能菜单,选Options for Target‘Target1’,弹出项目选项设置窗口,同样先选中项目文件夹图标,这时在Project菜单中也有一样的菜单可选。打开项目选项窗口,转到Output选项页图3-2所示,图中1是选择编译输出的路径,2是设置编译输出生成的文件名,3则是决定是否要创建HEX文件,选中它就可以输出HEX文件到指定的路径中。选好了?好,我们再将它重新编译一次,很快在编译信息窗口中就显示HEX文件创建到指定的路径中了,如图3-3。这样我们就可用自己的编程器所附带的软件去读取并烧到芯片了,再用实验板看结果,至于编程器或仿真器品种繁多具体方法就看它的说明书了,这里也不做讨论。

(技巧:一、在图3-1中的1里的项目文件树形目录中,先选中对象,再单击它就可对它进行重命名操作,双击文件图标便可打开文件。二、在Project下拉菜单的最下方有最近编辑过的项目路径保存,这里可以快速打开最近在编辑的项目。)

项目功能菜单

项目选项窗口

编译信息窗口

或许您已把编译好的文件烧到了芯片上,如果您购买或自制了带串口输出元件的学习实验板,那您就可以把串口和PC机串口相联用串口调试软件或Windows的超级终端,将其波特率设为1200,就可以看到不停输出的“Hello World!”字样。也许您还没有实验板,那这里先说说AT89C51的最小化系统,再以一实例程序验证最小化系统是否在运行,这个最小化系统也易于自制用于实验。图3-4便是AT89C51的最小化系统,不过为了让我们可以看出它是在运行的,我加了一个电阻和一个LED,用以显示它的状态,晶振可以根据自己的情况使用,一般实验板上是用11.0592MHz或12MHz,使用前者的好外是可以产生标准的串口波特率,后者则一个机器周期为1微秒,便于做精确定时。在自己做实验里,注意的是VCC是+5V的,不能高于此值,否则将损坏单片机,太低则不能正常工作。在31脚要接高电平,这样我们才能执行片内的程序,如接低电平则使用片外的程序存储器。下面,我们建一个新的项目名为OneLED来验证最小化系统是否可以工作(所有的例程都可在我的主页下面下载到,网址:http://cdle.yeah.net 或http://www.cdle.net )。程序如下:

#include 《AT89X51.h》 //预处理命令

void main(void) //主函数名

{

//这是第一种注释方式

unsigned int a; //定义变量a为int类型

/*

这是第二种注释方式

*/

do{ //do while组成循环

for (a=0; a《50000; a++); //这是一个循环

P1_0 = 0; //设P1.0口为低电平,点亮LED

for (a=0; a《50000; a++); //这是一个循环

P1_0 = 1; //设P1.0口为高电平,熄灭LED

}

while(1);

}

AT89C51最小化系统

这里先讲讲KEIL C编译器所支持的注释语句。一种是以“//”符号开始的语句,符号之后的语句都被视为注释,直到有回车换行。另一种是在“/*”和“*/”符号之内的为注释。注释不会被C编译器所编译。一个C应用程序中应有一个main主函数,main函数可以调用别的功能函数,但其它功能函数不允许调用main函数。不论main函数放在程序中的那个位置,总是先被执行。用上面学到的知识编译写好的OneLED程序,并把它烧到刚做好的最小化系统中。上电,刚开始时LED是不亮的(因为上电复位后所有的IO口都置1引脚为高电平),然后延时一段时间(for (a=0; a《50000; a++)这句在运行),LED亮,再延时,LED熄灭,然后交替亮、灭。第一个真正的小应用就做完,呵呵,先不要管它是否实用哦。如果没有这样的效果那么您就要认真检查一下电路或编译烧写的步骤了。

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

    关注

    180

    文章

    7596

    浏览量

    135971
  • keil
    +关注

    关注

    68

    文章

    1211

    浏览量

    166620
  • HEX
    HEX
    +关注

    关注

    0

    文章

    36

    浏览量

    16785
收藏 人收藏

    评论

    相关推荐

    hex文件怎么能转回去c语言

    将 .hex 文件直接“转回去”为原始的C语言代码是不可能的,因为 .hex 文件是编译后的二进制文件,它包含了机器码,这些机器码是处理器可
    的头像 发表于 09-02 10:46 1374次阅读

    hex文件如何查看原c语言代码

    直接将 .hex 文件转换回原始的 C 语言代码是不可能的,因为 .hex 文件是二进制文件,它包含了单片机程序编译后的机器码,这些机器码与
    的头像 发表于 09-02 10:37 1291次阅读

    最小化启动期间的输出纹波

    电子发烧友网站提供《最小化启动期间的输出纹波.pdf》资料免费下载
    发表于 08-26 11:44 0次下载
    <b class='flag-5'>最小化</b>启动期间的输出纹波

    TSMaster 中 Hex 文件编辑器使用详细教程

    TSMaster软件的Hex文件编辑器提供了文件处理的功能,这一特性让使用TSMaster软件的用户可以更便捷地对Hex、bin、mot、s19和tsbinary类型的
    的头像 发表于 06-01 08:21 646次阅读
    TSMaster 中 <b class='flag-5'>Hex</b> <b class='flag-5'>文件</b>编辑器使用详细教程

    使用psoc编程器写入Modus生成Hex文件时,Hex文件解析失败的原因?

    我们正在使用 pSoC6 CY8C6137BZI-F14 做软件, 我们使用 Modus 集成开发环境。 但当我们使用 psoc 编程器写入 Modus 生成Hex 文件时, psoc 编程器显示以下错误:
    发表于 05-21 06:57

    Eclipse和MDK编译代码后Eclipse生成HEX文件太大了怎么办?

    Eclipse 和 MDK 编译代码后 Eclipse生成HEX文件太大 ,怎么破?
    发表于 04-29 08:09

    STVD如何设置才能生成HEX文件呢?

    请教大家,如何设置才能生成HEX文件呢?我百度一下,按网上的方法,其实是不行。所以在次求助,谢谢了
    发表于 04-28 07:50

    STM32单片机最小化系统设计原理

    STM32最小系统,就是能让STM32单片机能够正常工作所必须拥有的组成部分的集合,也是STM32单片机正常运行的必要环境。
    发表于 04-23 14:54 2548次阅读
    STM32单片机<b class='flag-5'>最小化</b><b class='flag-5'>系统</b>设计原理

    关于窗口最小化的实现

    我想实现一个按钮然后窗口最小化,为什么一运行就直接最小化了呢
    发表于 04-16 10:56

    用于最小化个人计算机开关电源的外部组件系统TPS3510 TPS3511数据表

    电子发烧友网站提供《用于最小化个人计算机开关电源的外部组件系统TPS3510 TPS3511数据表.pdf》资料免费下载
    发表于 03-13 14:29 1次下载
    用于<b class='flag-5'>最小化</b>个人计算机开关电源的外部组件<b class='flag-5'>系统</b>TPS3510 TPS3511数据表

    hightec编译生成hex文件要怎么操作?

    一些烧写工具需要.hex文件那么就需要在HIGTEC GNU编译器中进行设置,来产生想要的.hex文件。请教各位,该怎么设置?
    发表于 02-20 08:22

    如何使用tasking编译生成两个hex文件

    如何使用tasking编译生成两个hex文件,一段地址范围内的代码放到一个hex,另外一段范围的代码放到另一个hex,请问可以实现吗
    发表于 02-06 07:11

    请问PSoC Creator生成Hex文件,如何不添加0x9030_0000 ~ 0x9060_0000信息?

    请问 PSoC Creator生成Hex文件,如何不添加0x9030_0000 ~ 0x9060_0000 的信息? 默认IDE生成hex
    发表于 02-01 08:00

    labview的opc生成配置文件

    LabVIEW 是一款非常强大的图形编程软件,它在工业自动领域应用广泛。而 OPC(OLE for Process Control)是一种用于工业自动系统的标准通信协议,它能够实
    的头像 发表于 12-26 17:57 1644次阅读

    如何最小化毛刺尺寸?如何控制毛刺方向?

    如何最小化毛刺尺寸?如何控制毛刺方向? 为了得到高质量的产品或工艺品,我们通常需要把毛刺的尺寸最小化,并控制其方向。毛刺会影响制品的外观质量、功能性能以及使用寿命。本文将介绍毛刺的形成原因、影响因素
    的头像 发表于 12-07 14:24 706次阅读