1、首先在电脑上用proteus软件打开目标文件。然后用鼠标左键双击51单片机图标,如图所示。然后在出现的窗口中,点击下图中的文件夹图标。然后在电脑文件夹中找到编译好的HEX文件导入。
2、keil里编译时,设置输出文件为.HEX文件格式。然后在proteus中打开CPU属性,在程序设定栏填入HEX文件路径及名称(也可以通过后面的浏览按钮找到该文件,选中即可)。然后运行即可。
3、proteus里,双击单片机,跳出一对话框,点击programFile边上的文件夹按钮,找到你的那个HEX文件,就可以加载。
4、先在keil中把程序编好,在PROTEUS中双击单片机,之后出现这个页面在对话框中找到你keil编写的程序的文件即可。
5、,用keil生成.hex文件,在isis中右击at89c51,再左击,出现相应元件的属性对话框“ProgramFile”一项中选择要加入的.hex文件。
6、工具/原料windowsXPPROTEUS生成的HEX文件方法/步骤PROTEUS安装好后,默认不会在桌面上产生快捷方式。
2. 51单片机出编译出错,错在哪里
用 ^ 定义位是不能用define的需要改成sbit
直接用define就相当于P3^(5=0);常量不能给常量赋值,所以就会报错
#define LCM_RS P3^5
#define LCM_E P3^4
改成
sbit LCM_RS= P3^5;
sbit LCM_E = P3^4;
sbit LCM_RW = P3^1;
即可
3. 单片机程序经过汇编后生成什么文件,用它来存放什么
单片机程序经过编译后生成HEX代码文件,不是汇编后,这个HEX代码文件就是单片机可以执行的机器码。
如下图所示的HEX文件就是,给单片机烧录程序时,就是要打开这种HEX代码文件的,做仿真时也是给单片机加载这个HEX文件。
4. 主流C51单片机编译器比对
int short 的大小是因机器而异嘛(准确点应该是编译器)。你都说了人家规定的是“最小”为16位,又不是只能是16位,也没有说两者应该相等(事实上是short不超过int就OK啦)。所以当然可以short类型为半个机器字长,而int类型则为一个机器字长的啦。
“C++标准规定了每个算术类型的最小存储空间,但他并不自知编译器使用更大的存储空间 ”
说简单点就是C++规定了个最小的值,但是将你的代码编译成机器码的编译器则确定了你这个长度值为多少。因为C++是一种语言,一个规范,或者说只是一种规定,然后要将你按这种规范写的代码编译成能在机器上运行的代码的是编译器。而在不同的机器上运行的程序的实际结构是不一样的,比如单片机与PC相差就很大。要将按相同规范写的程序在各种各样乱七八糟的机器上运行,就需要相应的编译器了。所以实际的大小是由你编译代码的编译器确定的。
PS:当然当前一般的PC上int都是32位,short16位的。因为现在32位的机子是主流嘛。如果你不写什么单片机的程序可以不用太在意这个问题。但是写单片机程序时就要注意了,因为一般一个单片机的编译器可以编译很多种型号芯片的代码,而这些型号有可能从8位到32位都有……
5. 单片机仿真器跟编译器有什么区别
单片机仿真器是指以调试单片机软件为目的而专门设计制作的一套专用的硬件装置;是可以通过软件直接修改其程序的。
编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。它只能对程序进行处理,不能实现程序的功能。