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

    文章

    7530

    浏览量

    128694
  • keil
    +关注

    关注

    68

    文章

    1196

    浏览量

    165311
  • HEX
    HEX
    +关注

    关注

    0

    文章

    34

    浏览量

    16712
收藏 人收藏

    评论

    相关推荐

    关于窗口最小化的实现

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

    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

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

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

    DIY发光圣诞树相关文件(PCB板、hex文件

    电子发烧友网站提供《DIY发光圣诞树相关文件(PCB板、hex文件).rar》资料免费下载
    发表于 11-10 09:56 4次下载
    DIY发光圣诞树相关<b class='flag-5'>文件</b>(PCB板、<b class='flag-5'>hex</b><b class='flag-5'>文件</b>)

    MDK在编译输出HEX文件中,怎么修改这个HEX生成位置?

    MDK在编译输出HEX文件中,怎么修改这个HEX生成位置
    发表于 10-12 06:42

    单片机Hex文件的格式详解

    玩单片机的朋友都会使用hex文件作为烧录文件。那么当我们写一个在线升级软件要支持hex文件的升级,就需要通过
    的头像 发表于 09-24 11:50 2537次阅读
    单片机<b class='flag-5'>Hex</b><b class='flag-5'>文件</b>的格式详解

    单片机中hex、bin文件的区别

    单片机中hex、bin文件的区别
    的头像 发表于 09-21 17:38 1384次阅读
    单片机中<b class='flag-5'>hex</b>、bin<b class='flag-5'>文件</b>的区别

    SMT32的HEX文件里加入固件版本的方法

    SMT32的HEX文件里加入固件版本的方法
    的头像 发表于 09-18 15:34 402次阅读
    SMT32的<b class='flag-5'>HEX</b><b class='flag-5'>文件</b>里加入固件版本的方法

    如何在MDK中生成data flash的HEX文件

    求助:如何在MDK中生成 data flash的HEX文件???
    发表于 08-23 06:22

    LabVIEW窗口最小化至托盘菜单教程

    LabVIEW窗口最小化至托盘菜单 可以双击弹出窗口 也可以通过右击调用其功能事件
    发表于 08-10 17:11 63次下载

    Tripwire在有人经过时自动最小化选项卡

    电子发烧友网站提供《Tripwire在有人经过时自动最小化选项卡.zip》资料免费下载
    发表于 07-06 15:11 0次下载
    Tripwire在有人经过时自动<b class='flag-5'>最小化</b>选项卡

    最小化Z180板开源分享

    电子发烧友网站提供《最小化Z180板开源分享.zip》资料免费下载
    发表于 06-12 10:56 0次下载
    <b class='flag-5'>最小化</b>Z180板开源分享

    嵌入式的HEX文件怎么来的

    单片机下载程序需要将c文件通过编译器编译成o文件通过连接器连接为一个main的o文件,再将main文件生成
    的头像 发表于 05-25 15:05 1847次阅读
    嵌入式的<b class='flag-5'>HEX</b><b class='flag-5'>文件</b>怎么来的