用keil生成HEX文件
- 格式:doc
- 大小:668.50 KB
- 文档页数:12
Proteus运行Keil编写的C语言步骤
Proteus 运行Keil 编写的C 语言步骤1.在Keil 编写好程序以后,在左侧
项目栏中单击鼠标右键,如图
点击Options for TargetTarget1 选项,弹出下列窗口
在Target 标签中将Xtal(MHz)中的晶振频率改为12.0;再在Output 标签中勾选Create HEXFi 复选框。
完成上面两项设置后点击确定。
再点击编译,生成Hex 文件。
再在Proteus 中双击的51 芯片,按下图修改晶振频率,添加hex 文件即可运行。
protues 元件库中英文对照表:7407 驱动门1N914 二极管74Ls00 与非门74LS04 非门74LS08 与门74LS390 TTL 双十进制计数器7SEG 4 针BCD-LED 输出从0-9 对应于4 根线的BCD 码7SEG 3-8 译码器电路BCD-7SEG 转换电路ALTERNATOR 交流发电机AMMETER-MILLI mA 安培计AND 与门BATTERY 电池/电池组BUS 总线CAP 电容CAPACITOR 电容器CLOCK 时钟信号源CRYSTAL 晶振D-FLIPFLOP D 触发器FUSE 保险丝GROUND 地LAMP 灯LED-RED 红色发光二极管tips:感谢大家的阅读,本文由我司收集整编。
仅供参阅!。
流水灯(电路和汇编)-P r o t e u s和K e i l仿真演示实例示例要求:在80C51单片机的P2口连接8个发光二极管指示灯,编程实现流水灯的控制,轮流点亮指示灯。
在KEIL 51中编程序,形成HEX文件;在PROTEUS中设计硬件,下载HEX文件,运行看结果。
第1篇:PROTEUS电路设计1、打开PROTEUS的ISIS软件,如图1所示。
新建电路图文件,将文件保存到E:\projectio (新建文件夹projectio)下面,文件基本名为io,扩展名默认。
选择元图1 ISIS窗口图2、在component mode模式下单击选择元件按钮P,打开元件选择对话框,如图2所示。
图2 元件选择窗口在元件选择对话框的keywords窗口中输入元件关键字可换搜索元件,找到元件后,双击元件则可选中元件,添加元件到图3的device列表栏。
在这里依次添加元件单片机80C51、电阻RES、电容CAP、按键BUTTON、晶振CRYSTAL、发光二极管LED-RED,如图3所示。
图3 添加元件的device列表栏3、选择devices元件列表中的元件放到工作窗口,注意放置在工作窗口合适的位置,在元件放置时可对元件进行移动、旋转等操作;如图4所示。
电源(POWER)与地(GROUND):(右键-放置-终端里选)。
图4 放置元件图4、连接导线,如图5所示。
连接后存盘。
图5 连接元件图5、在Keil软件中设计软件程序,形成HEX文件(具体过程见第2篇Keil软件编程)。
保存软件项目到电路文件相同的文件夹E:\projectio下。
6、在PROTEUS电路图中,单击单片机80C51芯片,选中,再次单击打开单片机80C51的属性对话框,在属性对话框中的program file框中选择下载到80C51芯片中的程序。
这里是同一个文件夹下面的shili.hex文件。
如图6所示。
图6 下载程序到单片机7、单击仿真运行按钮play,运行程序。
技巧总结——Keil如何生成bin文件
使用过Keil的同鞋都知道,现在Keil中默认可以输出.axf的调试文件和可以通过钩选输出的.hex可执行文件,没有bin(二进制)文件的输出选项。
可是偏偏某些时候需要或者习惯性的使用.bin文件来进行烧写,下面各举一例:
1.一直使用ADS的用户习惯性的使用.bin文件;
2.某些烧写器带的应用软件只支持.bin文件;
3.正如笔者遇到的情况,我在使用STM32公司提供的网络更新固件程序的例程时,需要用到.bin文件(.hex文件通过网络更新后遇到某些问题,而且用Hex2Bin软件转换后的也不行)。
其实Keil也自带了工具软件,只要进行适当配置便可以输出bin文件了,不过在介绍具体方法前,请仔细阅读下面这一段关于Keil中自带的fromelf.exe工具说明:该工具的语法为:fromelf[options]input_file
其中options中的选项及说明如下:
讲完了工具的语法,下面就讲如何在Keil中运用该自带的工具,以使在工程编译后能生成.bin格式的文件:
1.打开一个建好的工程文件,就不举例说明了。
2.打开OptionsforTarget‘工程名称’对话框,可直接点图标,如下图:
3.选择User标签页,并进行如下图一样的配置:
4.根据User页的配置还要配置Output页面,具体如下:
5.点击OK确定,然后再重新编译则会按照上图中的配置路径生成.bin格式的文件了:。
慧净电子51编程软件学习笔记(基于HJ-1G学习板)一:安装方法1、打开CD光碟找到目录E:\HJ-1G_V5.0光碟\2、应用软件\2、编程软件\慧净_Keil_中文版。
2、打开后目录后,找到并双击一次,会出现下面的画面。
2、请点击上图的Next出现下面的画面。
3、再点击上图中的Next,出现下面画面软件装在C:\Keil目录下面。
4、点击上图中的Next在下图中输入名字,还有邮箱就可以了5、再点一下上图中的Next,软件就可以自动安装了,装好后出现下面的画面,点击Finish 后完成安装。
二:启动软件1、在桌面找到,双击打开K软件。
在文件中打开授权管理,不会的请看下面的图片。
3、打开光碟里的出现下面的画面。
4、请做以下设置,做好后,直接点Generate就可以了5、点Generate后会出现下面的画面请复制图中的WH7X4-FCWM6-Y7FRN-BYCV2-BAC2A-N252E到刚才打开的K软件上6、输入正版授权ID码(LIC)7、把刚才生成的ID码放到下面的位置上,还要点一下尜加授权就可以了9、出现如下画面完成注册本Keil软件网上收集,请24小时试用后删除,购卖正版软件。
三:打开工程项目1、还是看图,找到慧净光碟中的HJ-1G_V5.0光碟\1、实验源码\配套程序\【实验1】点亮第一个发光管,IO输出项目,直接打开就可以了,提示,可以把光碟里的实验程序复制到你的硬盘上,把只读去掉,再打开项目工程。
2、打开后可以在里面修改程序了3、点下面的可以进行编译四:新建立一个工程序项目1、新建一个工程文件,点击“Project->New Project…”.2、选择工程文件要存放的路径,并且输入工程文件名,这里我们用hlmcu作为工程文件名,这里就不用在后面加.c了。
图片如下:3、点击Save后弹出选择CPU及型号的对话框:4、由于HJ-1G学习板所配的单片是STC公司的,而KEIL中并没有STC公司的产品,不过STC公司的单片机和传统的51单片机是兼容的,所以这里我们就选择Atmel公司的AT89S52。
Keil uVision2软件使用说明编译软件Keil uVision2的安装:程序开发过程中采用keil uVision2编译器进行编译,这里介绍keil uVision2的基本使用。
您可以用它进行程序的修改。
打开文件夹,点击文件夹,双击进行安装。
1、打开up51v706a.txt记下安装序列号,进入setup目录点击setup.exe进行安装;选择InstallSupport....全新安装,此选项为以前没有安装过或者放弃以前的序列号安装;选择Update Current Installation升级安装,此选项将可以保持原来的序列号,不必再次输入;2、选择Full Version安装;单击Next->Yes(接受版权信息)。
3、选择安装目录->Next->输入序列号、姓名、公司等,除了序列号以外,都随意,可以如实输入你的姓名等。
4、点击Next,一直进行下去,直到安装完毕。
等待进度条结束:Keil uv2的安装完成。
启动keil uv2:安装后在桌面双击如下图标,即可进入keil开发环境。
本文仅以c语言程序介绍其使用方法。
1、点击Project(工程)菜单,选择New Project(新工程),在"文件名"中输入需要创建的项目名称,此例中我们用文件名为"newproject",单击保存后的文件扩展名为uv2,这是KEIL uVision2项目文件扩展名,这时会弹出让你选择单片机型号的对话框,我们选择ATMEL —AT89C51。
在教学板中我们实际使用的是89s51, 它们的资源基本是一致的,不必理会。
接下来开发系统会提示你复制标准8051启动代码,对于C51程序,必须复制,否则稍后编译不通过。
2、源程序文件的建立:点击FILE(文件)菜单中的NEW...(新文件)命令新建一个文本编辑窗口,在里面输入一个程序范例如流水灯程序。
3、点击FILE(文件)菜单中的SAVE(保存)命令保存文件,注意必须输入文件的后缀名.c,例如此例保存为newfile.c。
一、实验目的1. 熟悉数码管的结构和工作原理。
2. 掌握数码管与单片机的连接方法。
3. 学习使用动态扫描显示技术实现多位数码管的显示。
4. 培养动手能力和编程能力。
二、实验原理数码管是一种常用的显示器件,由多个发光二极管组成,通过控制发光二极管的亮与灭来显示数字、字母或符号。
本实验采用共阴极数码管,当对应的段码为低电平时,该段发光。
三、实验设备1. 单片机实验箱一台2. 共阴数码管8位3. 电阻若干4. 连接线若干5. 编译器(如Keil uVision)6. 仿真软件(如Proteus)四、实验内容1. 实验电路搭建根据实验原理图,连接单片机、数码管、电阻等元件。
具体连接方法如下:(1)将单片机的P0口与数码管的段码相连。
(2)将单片机的P1口与数码管的位选相连。
(3)将数码管的公共阴极与地相连。
(4)将电阻分别串联在数码管的段码和位选上,用于限流。
2. 编写程序(1)初始化单片机IO口,将P0口设置为输出模式,P1口设置为输出模式。
(2)编写数码管显示函数,根据输入的数字,计算对应的段码,并输出到P0口。
(3)编写动态扫描显示函数,按照一定的时间间隔依次显示各个数码管。
3. 编译程序使用Keil uVision编译器将编写的程序编译成hex文件。
4. 仿真实验使用Proteus软件进行仿真实验,观察数码管显示效果。
五、实验步骤1. 搭建实验电路。
2. 编写程序,实现数码管显示功能。
3. 编译程序,生成hex文件。
4. 在Proteus软件中导入hex文件,进行仿真实验。
5. 观察数码管显示效果,分析实验结果。
六、实验结果与分析1. 实验结果通过仿真实验,数码管能够按照程序的要求显示数字、字母或符号。
2. 实验分析(1)数码管显示原理:数码管通过控制发光二极管的亮与灭来显示数字、字母或符号。
当对应的段码为低电平时,该段发光。
(2)动态扫描显示原理:动态扫描显示是通过依次点亮各个数码管,使多位数码管同时显示。
Keil 软件的使用随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使用高级语言开发,其中主要是以C 语言为主,市场上几种常见的单片机均有其C 语言开发环境。
这里以最为流行的80C51单片机为例来学习单片机的C 语言编程技术。
大家都有C 语言基础,但是编单片机程序,大家还得找专门的书来学习一下。
这里我们只介绍Keil 这种工具软件的用法。
学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。
Keil 软件是目最流行开发80C51系列单片机的软件,Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(µVision )将这些部份组合在一起。
下面我以一个实验举一个例子,一步一步学习Keil 软件的使用。
首先我们看硬件原理图:很明显,要点亮使发光二极管,必须使单片机的I/O 口P1.0输出低电平。
于是我们的任务就是编程序使P1.0输出地电平。
1. 使用Keil 前必须先安装。
安装过程简单,这里不在叙述。
2. 安装好了Keil 软件以后,我们打开它。
打开以后界面如下:3.我们先新建一个工程文件,点击“Project->New Project…”菜单,如下图,:3.选择工程文件要存放的路径,输入工程文件名LED, 最后单击保存.4.在弹出的对话框中选择CPU 厂商及型号5. 选择好Atmel 公司的AT89S52 后, 单击确定1.在接着出现的对话框中选择“是”。
5.新建一个C51 文件, 单击左上角的New File 如下图所示:6.保存新建的文件,单击SA VE如下图:2.在出现的对话框中输入保存文件名MAIN.C(注意后缀名必须为.C),再单击“保存”,如下图;7.保存好后把此文件加入到工程中方法如下: 用鼠标在Source Group1 上单击右键, 然后再单击Add Files to Group …Source Group 1'如下图:8.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击 Close9.在编辑框里输入如下代码 :10.到此我们完成了工程项目的建立以及文件加入工程 , 现在我们开始编译工程如下图所示 : 我们先单击编译, 如果在错误与警告处看到 0 Error(s) 表示编译通过;11.生成 .hex 烧写文件,先单击Options for Target,如图;12.在下图中,我们单击 Output, 选中 Create HEX F。
Keil软件使用手册(本手册参考keil 4版本)一安装到网上下载一个安装包,里面必须包含以下内容:1:(安装包文件,圈选的文件为安装说明,请务必仔细阅读) 2:(打开安装文件)3:(点击下一步)4:(勾选同意,并点击下一步) 5:(浏览选择到你想安装的地方,然后选择下一步)6:(两个空可以随便打,不重要,填完后点击下一步)7:(正在安装中)8:(点击完成)9:(进入安装的文件夹,点击UV4)10:(打开Keil4的执行文件)11:(点击File,再选择License Management)Pic 12:(复制右上角的ID号)12:(打开注册机文件)13:(将复制的ID号粘贴在此处)14:(点击Generate,在上方会生成一组ID,复制下来)15:(将复制好的ID粘贴在圈选出,并点击Add LIC)16:(当你看见这两组单词,那么恭喜你,注册成功,准备开始你的奇妙程序之旅吧!)二新建工程1.单击Project,选择New Project2.选择保存位置,输入工程的名字3.选择CPU。
紧接着,Keil C51提示您选择CPU器件。
8051内核片机最早是由Intel公司发明的,后来其他厂商如Philips、Atmel、Winbond等先后推出其兼容产品,并在8051的基础上扩展了许多增强功能,根据芯片的实际情况,选择相应的器件(本例程选择Atmel公司下的AT89C52),如图:注:选择8051也可以,8051与8052有一点的差别,可以说8052是8051的升级版,主要有以下不同:1.内部RAM,8051单片机为128Byte(00H—7FH),8052单片机为56 Byte (00H—0FFH)2. 内部ROM,8051单片机为4KB,8052单片机为8KB3. 8051有两个Timer:T0和T1。
8052除了有T0和T1以外,还有一个Timer2 4。
8051有5个中断源8052有6个。
初学ARM7,想在仿真的基础上学习ARM编程,就下载了Keil的ARM版本——MDK。
程序都是网上下载的最简单的最基础的点LED的程序,用的Keil自动生成的Startup.s,编译后生成hex文件放到Proteus的MCU中,但是灯却不亮。
打开别人的例程(uV2版本的),把hex文件放到Proteus中,可以仿真;但是用我的uV4编译后,重载hex文件后,仿真失败。
看来是新版本编译器的问题。
后来在网上看到有人也遇到和我一样的问题,解决方法有2种,我都试了下能成。
方法1:把生成的*.axf文件复制一份,修改后缀名*.elf。
然后把这个elf文件加载到MCU中。
方法2:用记事本打开生成的*.hex文件,删除倒数第2行,保存。
然后把这个hex 文件加载到MCU中(MDK较高版本不用删除也行)。
实验一使用Keil输入和调试程序(一)实验目的:通过实验掌握Keil C51集成开发环境输入程序和调试程序的方法。
(二)实验仪器:计算机一台STC12学习板一套STC单片机仿真器一套USB连接电缆一根(三)实验内容及步骤:Keil C51 IDE又叫Keil集成开发环境或Keil C51μVision3。
实验要求使用Keil集成开发环境完成实验程序的输入、调试。
Keil是以工程项目的方法管理文件。
所有的文件(源程序文件、头文件和各种技术文档)都是放在工程项目里的统一管理。
下面通过一个实验程序学习使用Keil IDE建立应用程序和调试程序的步骤:✓新建一个工程项目。
✓为工程项目选择目标器件。
✓建立源程序文件,输入程序代码并保存。
将源程序文件添加到工程项目里。
✓为工程项目设置软件、硬件的调试环境。
✓输入、调试和运行实验程序。
要创建的工程项目是:设计一个程序,使学习板上的LED1灯闪亮,电路图如图2-1所示(在第14页)。
该实验工程项目的建立过程如下:1、启动Keil C51的IDE开发环境并建立一个工程项目双击计算机桌面上的Keil C51 IDE图标即可启动Keil C51 IDE开发环境。
如果以前已经建立了工程项目,Keil51 IDE启动后会直接显示原来打开的工程项目。
也可以打开原来已经存在的工程项目。
打开已经存在的项目方法是,从“Project”菜单中选择“Open Project”菜单项,从弹出的对话框中选择要打开的项目。
新建项目文件时,从“Project”菜单中选择“New Project”菜单项,将打开“Create New Project”对话框。
如图1-1所示。
在“Create New Project”对话框中做以下的工作:✧为工程项目选择一个存放路径,在此选择STC51文件夹(若计算机中没有STC51文件夹,则需要建立它)。
✧在文件名输入框里输入,这是为实验工程项目取的工程项目文件名(扩展名是.uv2)。
keil软件的使用
有关“Keil uVision2”软件的使用:
开发单片机的第一步就是用Keil软件编写汇编程序,并形成最终的“*.hex”目标文件,然后用编程器将该文件烧写到单片机中就行了,最后将烧写好的单片机插到电路板上,一接通电源就可以工作了。
下面以编写小灯闪烁的程序为例介绍KILL软件的使用方法:
1、双击桌面上的图标,打开以下窗口:
点“工程”,新建工程:
给工程起一个名字,我用“xiaodeng”就是小灯的意思,然后点保存:
选择你使用的芯片型号,我用的是Atmel公司生产的89s51,双击Atmel:
在下面找到At89S51后,点击它,然后确定:
点击确定后,接下来再为你的工程新建一个文件
弹出以下窗口:
在弹出的窗口里面写入你的汇编程序:
然后点文件,另存为:
为你的文件起一个名字,我这里名字为“xiaodeng.asm”。
注意文件的扩展名不能省略,而且必须是“.asm”:
点击保存,出现以下界面:
将左边Target 1前面的“+”号展开,在它下面的字符“Source Group 1”上点击鼠标右键,再点击增加文件到组:
在文件类型中点击asm源文件:
在文件中找到你刚才新建的xiaodeng.asm文件,然后点击Add加入:
只需要加入一次就够了,如果再次加入,将出现以下画面,不要紧,点确定就好了:
这时候,左边的文件夹“Source Group 1”前面就有了一个“+”号:
点击该“+”号展开后,下面就出现了一个名为“Xiakdeng.asm”的文件,说明已经将文件加进来了。
接下来将鼠标移到“Target 1”上,点击右键,再点击“目标‘Target 1’属性”:
弹出以下窗口:
点“输出”,在新弹出的窗口中,一定要确保“E生成 HEX文件”前面的小方格内有一个勾“√”,即选中该项,然后再点击“确定”:
最后点击下面的符号:
即“构造所有目标文件夹”,当出现以下画面时,说明目标文件“xiaodeng.hex”文件已经生成了:
这个“xiaodeng.hex”文件就是往单片机89s51里面写的文件。
有了这个文件,就可以用编程器将该文件烧写到89S51单片机中了,一个廉价的通用编程器要300元左右,我自己制作的仅花费了几十元,如果没有编程器,也可以找修理电脑主板的那些师傅代为烧写,他们应该都有的,因为这是烧写“BIOS” 的常用工具。