据悉,美团、滴滴及其投资者已就合并事宜进行接触
06-18
常用的单片机编程软件有很多,其中keil单片机编程软件比较知名。
对于keil单片机编程软件,小编带来了3个系列教程。
本文对单片机编程软件的讲解也是基于keil的。
本文小编就来介绍一下单片机编程软件keil c51的变量用法。
核心单片机是在国内占有较大市场份额的通用单片机。
Keil在使用C语言进行51核微控制器的研究方面最为成功。
由于51核单片机存储结构的特殊性,Keil C51中变量的使用与标准C不同。

正确使用变量有利于获得高效的目标代码。
1。
CPU存储结构与变量的关系 变量都需要存储空间。
不同的存储空间使得使用变量时的工作效率不同。
标准C的典型运行环境是(包括IA-32系列)内核。
其存储结构是CPU内部有寄存器,外部有内存。
寄存器的访问速度远高于存储器的访问速度。
在标准 C 中,未明确定义的变量都放置在内存中。
使用寄存器可以强制变量存储在寄存器中。
对于使用频繁、数量较少的变量,可以选择这种存储方式,以获得更高的性能。
工作效率。
相比之下,51核单片机的存储结构就有点奇怪了。
它具有三个存储空间:程序存储器空间(片内和片外各64KB)、片外数据存储器空间(64KB)、片内数据存储器和特殊功能寄存器空间。
它没有真正意义上的寄存器。
其寄存器实际上是片内数据存储器(如R0~R7)和特殊功能寄存器(如A、B等)的一部分。
因此,在Keil C51中使用变量与标准C有很大不同。
2。
Keil C51变量分析 Keil C51支持标准C原有的大部分变量类型,但是为这些变量增加了多种新的存储类型,同时还增加了一些标准C中没有的新变量。
标准C中未包含的【存储类型】有6种,介绍如下: ①数据。
将变量存储在片上可直接寻址的数据存储器中。
使用这种存储模式,目标代码中访问变量的速度最快。
②b数据。
将变量存储在片上可位寻址的数据存储器中。
变量可以很容易地在目标代码中进行位处理,并且在不进行位处理时与数据相同。
③idata。
将变量存储在片上间接寻址数据存储器中。
在52核中,当片内直接寻址数据存储器不够时,可以使用字节间接寻址数据存储器。
存取速度一般比数据慢,但具有最大的片内数据存储空间;在51核心中,由于没有单独的间接寻址数据存储区域,因此idata和data没有区别。
④x数据。
将变量存储在片外数据存储器中。
在目标代码中,只能使用“MOVX A,@DPTR”和“MOVX @DPTR,A”指令来访问变量。
访问速度最慢,但存储空间最大(64KB)。
⑤pdata。
将变量存储在片外数据存储器的第一页(00H~FFH)中。
在目标代码中,可以使用“MOVX A,@Ri”和“MOVX @Ri,A”指令来访问变量。
访问速度与xdata相同,存储空间为字节。
⑥代码。
将变量存储在程序存储器中。
只能使用目标代码中的 MOVC 指令访问变量。
因变量存储在程序存储器中,并且是非易失性和只读的。
2.2 Keil C51新的指针变量存储类型 Keil C51中的指针变量形式如下: 数据类型[数据存储类型]*[指针存储类型]标识符; 其中,【数据存储类型】和【指针存储类型】不在标准C中。
【数据存储类型】定义了数据(即寻址对象)存储的空间,而【指针存储类型】定义了存储指针本身的空间。
如果不使用【数据存储类型】,则该指针为普通指针,占用3个字节;如果使用[数据存储类型],则该指针是基于内存的指针,占用1到2个字节。
2.3 Keil C51 中的新变量类型 bit:位变量。
该变量存储在片内数据存储器的位寻址字节(20H~2FH)的某一位中,在实时控制中具有较高的实用价值。
sfr:特殊功能寄存器变量。
存储在片内特殊功能寄存器中,用于读写特殊功能寄存器。
sbit:特殊功能寄存器位变量。
它存储在片内特殊功能寄存器的可位寻址字节(地址可被8整除)的某一位中,用于读写特殊功能寄存器的可位寻址位。
sbitl6:16位特殊功能寄存器变量。
存储在片内特殊功能寄存器的连续2个字节的低地址,该变量类型很少使用。
上述Keil C51中的新变量类型不支持数组和指针操作。
以上就是小编这次带来的“单片机编程软件”相关内容。
通过这篇文章,希望大家对单片机编程软件Keil C51中变量的使用有一定的了解。
如果您喜欢这篇文章,不妨继续关注我们的网站。
小编后续还会带来更多精彩内容。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-17
06-18
06-18
06-18
06-18
06-17
06-18
最新文章
使用电子管有哪些注意事项?如何检查电子管之间是否短路?
博通支付1200万美元和解SEC财务欺诈指控
八名运营商高管确认加入虚拟运营商
内蒙古农牧区雷电灾害成因分析及防雷对策
北京联通将5G应用于世园会远程医疗急救
TD-SCDMA最后一轮冲刺测试启动,产业前景更加光明
专访阿里云总裁王健:云计算服务平台梦想成真
USB2.0控制器CY7C68013的接口设计与实现