编译单片机文件
A. 单片机程序经过汇编后生成什么文件,用它来存放什么
单片机程序经过编译后生成HEX代码文件,不是汇编后,这个HEX代码文件就是单片机可以执行的机器码。
如下图所示的HEX文件就是,给单片机烧录程序时,就是要打开这种HEX代码文件的,做仿真时也是给单片机加载这个HEX文件。
B. linux下怎么编译单片机c代码,怎么下载到51单片机上呢
1.编译软件用sdcc
2.sdcc不支持keil51c 的一些语法。要做以下修改:
sbitled1=P1^0; 改为 #define led1 P1_0
中断函数interrupt改为__interrupt
单个位 P1^0 改为P1_0
若vim安装插件YCM的话,要在.ycm_extra_conf.py加入以下两个路径
/usr/share/sdcc/include
/usr/share/sdcc/include/mcs51
没创建一个工程都要拷贝一份.ycm_extra_conf.py到该工程的目录下。
3.编译用命令
` sdcc 目标文件
4.烧录软件用stcflash.py,该软件只能支持stc89c52rc,不支持stc89c52。我自己亲自试过。
sudo python ./stcflash.py 目标文件
C. 学习单片机,Keil无法编译.asm文件和.c文件
你只是打开了源文件,但是没有将源文件导入你的工程,所以提示这个错误
导入文件的选项在右边project框里面,右键点Source Group 1,选Add Files... 添加你的源文件就行了
D. 单片机内部基本原理 bin文件如何跑起来 编译器做了什么
无论是单片机还是cpu内部主要有三种部件 ALU 控制器 寄存器。
这个要从编译器开始讲起,编译器会给你编写的软件增加一个头部,无论是MDK还是IAR等等,这个头部是做了什么工作那?头部主要利用单片机寄存器上电后从FLASH将全局变量以及全局未初始化变量搬移倒RAM,增加堆栈 复位 中断向量表 才开始从flash读取你编写的程序,因为编译器已经把程序整个编码为机器码放在flash,有不太了解机器码的可以再去了解,机器码主要是运算加减搬移的那些操作,只不过单片机它就认识了。
单片机内部的控制器读取flash的机器码,通过内部R0-R15做数据中转和RAM交换数据,通过ALU做运算,ALU非常擅长做逻辑的运算,寄存器是存放需要暂存处理的数据,使得它跑了起来。
编译器----编译器的程序----bin文件----机器码----运行
E. 单片机:在keil里从新建工程——书写程序——编译——生成HEX文件,步骤是这样的越详细越好!拜托了各位大
第1步:打开Keil uVision2/3
第2步:新建工程
project->new project
将弹出 creat new project框,写入工程名称,例如 test。为了便于集中管理建议新建一个文件夹(上面第二个图标)。
点击确定后 弹出一个芯片选择项,你可以选一个。例如选atmel AT89C51。很多单片机,上面可能没有列举,我们任意选一个即可,51单片机选AT89C51代表即可。
然后 弹出一个框,选择“否”
第3步:新建文件。
file--new
将弹出一个文本框,你可以写入程序。例如
#include <reg51.h>
main()
{
P1=0XAA;
}
然后保存这个文件
file--save
弹出框save as 填写你要保存的文件名。例如main.c。注意一定要带上后缀.c。切记
第4步:加载程序。把我们编写的c文件加载进入
看到左边 source group1,点击右键,选择倒数第四项 “add files....”进入add框,选择你刚才保存的main.c文件,然后add
看到 左边source group1下面是不是加载上main.c了
第5步:编译。
编译前要进行一个重要的操作。生成HEX文件。
右边 target 1 右键弹出框,找到output,再找到creat hex fi:前面复选框选中 OK
开始编译了,
project--build target或者按F7或者看到上面图标(一个图标有两个方向向下的箭头)
编译的时候,你会发现最先面编译结果,0 Errors
恭喜你,你已经成功编译了程序。
打开你先前建立的test文件夹,你会发现有个test.hex文件
记住步骤,慢慢就很熟练了,用快捷方式或图标更方便
祝好
F. 编译单片机不生成hex文件怎么回事
你应该有protues这个软件的吧
双击dsn文件用protues打开,就是protues的仿真原理图,图形类似于protel原理图。
如果你打不开的话就是你的protues版本和dsn文件的版本不对。
而hex只能用在protues仿真图里可编程的东西如8051单片机
双击单片机,里边有个选项“打开文件”,你把hex文件路径填进去,
然后就可以仿真单片机了
G. 用MPLAB IDE编译PIC单片机程序,如何才能生成.hex文件
如果是汇编程序,直接点击build图标即可编译成HEX文件。如果是C语言,因为MPLAB上没有C编译器,所以你还需要下载并安装一个C编译器。如果是PIC10/12/16等系列单片机的程序,可以用HI-TECH的PICC编译器。如果是PIC18系列,则需要装MICROHIP出的MCC18或者HTITECH的PICC18编译器,如果是PIC24系列或者dsPIC系列,则需要装MICROHIP出的MCC30或者HTITECH的PICC24编译器
H. 单片机:怎么从asm文件编译出hex文件,用keil
用KEIL建立工程,设置工程选项卡的options fot target
再点OUTPUT选项卡,把Creat hex前打勾,然后将你的ASM文件添加到工程中进行编译构造目标,在ASM的文件夹里就会产生你要的HEX文件了