导航:首页 > 操作系统 > 51单片机程序大小怎么算

51单片机程序大小怎么算

发布时间:2022-10-01 05:47:11

㈠ 51单片机程序空间大小

AT89C52的程序空间是8KB是确认无疑的,但指的是存放纯二进制的机器码,就是二进制数。而KeilC编译的HEX代码文件并不是纯二进制数,是以ASCII码格式存放的文件,而且其中还有一些编译信息,如地址、校验和等。所以,不能看HEX文件的大小来确定下载到单片机内的真正的程序空间大小,也就是说HEX文件的大小并不是真正下载的单片机的程序大小。而下载到单片机的代码空间大小要看Keilc编译时给出的代码数的提示,才是真正要下载到单片机内的代码空间。举个例子,下图是一个程序编译后的提示,真正的二进制代码是337个字节,而HEX文件却是1KB。这里还有一个误区,你看到的HEX文件的大小是操作系统给出的大小吧,它是取整KB的,就是说HEX文件不足1KB时,也显示是1KB。
再明确一点说吧,假如编译后的代码是750418,用纯二进制数(即BIN格式,有些汇编程序的编译器输出的就是BIN格式)的代码保存就是3个字节,而用HEX格式保存就是6个字节,因为要用6个ASCII码来表示。这来算来,HEX文件大小是BIN文件的二倍,加上一些地址信息,是大于二倍的。
好,回到你的问题来,你的HEX文件是19KB,你看一下编译后的代码大小提示,肯定是不会超过8KB的,否则编译时肯定会报错的。

㈡ 51单片机程序长度有限制吗 程序存储

51单片机理论上最大支持64K的程序寻址空间,但实际上现在有些51核心的单片机可以通过BANK的切换支持到256K的程序。但实际上的单片机空间都不会这么大,有2K,4K,8K等等很多规格,具体要查你所使用的单片机手册。
另外,HEX文件的大小与BIN文件是不一样的,因为HEX文件中还包含了实际数据的地址,长度,校验等信息,而BIN中只有实际数据,所以HEX肯定要比BIN大了。程序的长度要看BIN的大小为准。HEX而BIN是可以互相转换的,网上有很多转换的小工具。

㈢ 怎么知道自己在51单片机内编的C程序有多大,因为各种单片机内存不同,要根据程序大小来选机子。谢谢

一般情况下,根据你编译的hex的大小就可以确定了,STC89S58一般肢体模仿动作的超大程序都可以写进去,这点你也可以放心,而且STC公司出了一款类似ARM芯片的单片机,自带AD,你可以看看这一款。STC90C516RD+

㈣ 51单片机C语言程序大小

STC89C51最大支持4k大小的程序HEX,建议换大点的程序存储器的51器件. 还有STC8905X,X表示程序存储器大小,为4*X KB,还要注意内部RAM的空间大小,这直接决定数据存储的大小!

不会吧!有点旋啊,你编译 能通过么?
一般.C文件14K的话,HEX不会超过8K,52肯定是够的!

㈤ 51单片机的程序大小问题

1、4K容量的程序Flash空间,肯定是无法装载烧写5K代码的。
2、HEX文件在编程器软件打开后,可以看到实际程序容量(机器码)大小。文件大小会稍大。
3、仿真可能是没有代码限制的。

4、解决方法:去掉STARTUP.A51文件。在编译选项中,改变优化代码等级为9。并选择Favor size。重新编译程序试试。完成项目要求前提下,节省一些code常量定义。

㈥ 51单片机long,double,float,int范围是多大,各多少字节

在keilC51或者iar for c8051编译器下:

一、int 占两个字节 范围:-32768~+32767

二、long占四个字节 范围:-2147483648~+2147483647

三、float占四个字节 范围:3.40E+38 ~ +3.40E+38

四、double占8个字节 范围:-1.79E+308 ~ +1.79E+308

51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一。

(6)51单片机程序大小怎么算扩展阅读:

51单片机功能特性

1、可以仿真63K程序空间,接近64K 的16位地址空间;

2、可以仿真64Kxdata 空间,全部64K 的16位地址空间;

3、可以真实仿真全部32 条IO脚;

4、完全兼容keilC51 UV2 调试环境,可以通过UV2 环境进行单步,断点, 全速等操作;

5、可以使用C51语言或者ASM汇编语言进行调试 ;

6、可以非常方便地进行所有变量观察,包括鼠标取值观察,即鼠标放在某 变量上就会立即显示出它此的值;

7、可选 使用用户晶振,支持0-40MHZ晶振频率;

8、片上带有768字节的xdata,您可以在仿真时选 使用他们,进行xdata 的仿真;

9、可以仿真双DPTR 指针;

10、可以仿真去除ALE 信号输出. ;

11、自适应300-38400bps 的所有波特率通讯;

12、体积非常细小,非常方便插入到用户板中.插入时紧贴用户板,没有连接电缆,这样可以有效地减少运行中的干扰,避免仿真时出现莫名其妙的故障;

13、仿真插针采用优质镀金插针,可以有效地防止日久生锈,选择优质园脚IC插座,保护仿真插针,同时不会损坏目标板上的插座. ;

14、仿真时监控和用户代码分离,不可能产生不能仿真的软故障;

15、RS-232接口不计成本采用MAX202集成电路,串行通讯稳定可靠,绝非一般三极管的简易电路可比。

㈦ 如何计算单片机的程序存储空间

1.单片机的位数取决于其CPU寄存器一次能处理的数据宽度,比如51单片机是8位的,因为其ACC是8位,一次只能处理8位数据,STM32的R寄存器是32位的,一次能处理最大32位的数据,所以是32位单片机。

2.程序存储空间在在严格意义上讲是取决于其程序计数器(PC)的宽度,比如51单片机的PC是16位的,所以就是64KB存储空间。像STM32单片机的PC是32位的,所以可以有4G的存储空间,但实际上使用只是其中很小的,几百KB的空间。

㈧ 51单片机程序的大小怎么看好想不是看hex文件的大小的。

keil编译后,可以看到
如 Program Size: data=14.0 xdata=0 code=177
data区是14个字节 code区 177个字节

㈨ 51单片机 用汇编语言怎么编程:几个有符号数的比较大小

51单片机中,没有专门的有符号数比较指令,只能通过一些变通的方法来实现,比如:
比较30H和40H中有符号数的大小,结果放在R2中,大于则为1,等于为0,小于为128:
CMPDAT:
MOV A,30H
JB ACC.7,CMPF1
MOV B,A
MOV A,40H
JB ACC.7,CMPZ2 ;30H正,40H负所以30H>40H
CJNE A,B,CMPZ1 ;均为正,比较大小
MOV R2,#0
RET
CMPZ1:
JC,CMPZ2
CMPZ11:
MOV R2,#128
RET
CMPZ2:
MOV R2,#1
RET
CMPF1:
ANL A,#7FH
MOV B,A
MOV A,40H
JNB ACC.7,CMPF3 ;30H负,40H负
SJMP CMPZ11 ;30负,40H正,所以30H<40H
CMPF3:
ANL A,#7FH
CJNE A,B,CMPF10 ;两个均为负数
MOV R2,#0
RET
CMPF10:
JC CMPZ2 ;30H<40H(负数小者大)
SJMP CMPZ11 ;30H>40H

阅读全文

与51单片机程序大小怎么算相关的资料

热点内容
mac安装不了python库 浏览:257
现代父子训诫墨唯瑾 浏览:289
linux应用防火墙 浏览:500
百度云服务器白嫖 浏览:270
韩国同志电影肉多的有哪些 浏览:643
床戏很厉害的电影 浏览:893
苏州追觅科技程序员 浏览:919
程序员我最多等你两天 浏览:175
梁家辉电影在线观看 浏览:277
好看的电影地址 浏览:838
福州爱琴海电影院 浏览:626
男主角是白头发的日本电影 浏览:967
androidhtml滚动条 浏览:679
在线电影网站推荐 知乎 浏览:383
python多长时间能学习 浏览:884
java正则图片 浏览:601
怎么对u盘的文件夹加密 浏览:320
手机为什么自动卸载app 浏览:51
只有一个程序员的公司 浏览:27
php敏感词检测工具 浏览:607