11问答网
所有问题
当前搜索:
c51编译器支持哪些数据类型
在
c51
的
数据类型
中与机器硬件最接近的数据类型是
什么
?
答:
当然是8位或1位二进制数了。即unsigned char 和bit
类型
。因其内部寄存器和RAM都是8位的,某些寄存器是可位寻址的,可以单独进行位操作,因此bit类型也常用。
我用Keil
C51编译
通过了的程序,但是转换不成二进制文件
答:
内部RAM
数据
溢出.你可以将一些常用到的或者经常要数据处理数据定义成 data
类型
(存储DATA中),一些不常处理的数据定义成 xdata 类型.这样可以减少一些DATA的空间的使用,这里我要指出这里1楼回答的有些不妥的地方,,虽然能用局部变量的地方尽量用局部变量,这个是提倡的,,但是在KEIL中
编译
的结果是指在堆栈...
一7
C51
中指针的定义与 ANSI C有何异同?
答:
指针大小:在ANSI C中,指针的大小通常是根据所使用的计算机体系结构确定的。在8051中,指针通常被定义为8位或16位整数
类型
,具体取决于所使用的单片机型号和
编译器
。空指针:在ANSI C中,空指针通常定义为一个具有值NULL的指针。在8051中,由于该微控制器通常不
支持
空指针,因此需要使用其他方式来表示未...
关于
c51
的问题,为什么在main函数外定义这样一个变量:unsigned char n...
答:
你看看你的项目的配置,在option for target "xxxx"->target页,Memory Model选项,如果是LARGE的话,那么当不写存储
类型
时,默认是xdata,如果是Compact 那么默认pdata,如果是small,那么默认是data
C51
中出现多个float定义
类型
的
数据
组成的公式为什么会报错
答:
你的程序,是可以通过
编译
的,没有错误的。你用到了uint temp,这个uint 需要用#define uint unsigned int 做个宏定义。AD转换的平均值 AD_num 应该是 uint
类型
的变量。编译结果如下图,很正常的。
C51
uchar
类型
的数怎么进行个、十、百位单独加减?
答:
uchar,准确的说是unsigned char
类型
,表示的
数据
大小范围为0~255。具体操作方法,举例说明一下,比如说定义一个uchar i,通过除以100得到百位,除以10得到十位,通过对10取余得到个位,然后就可以单独对这些位进行操作了。
C51
存储
器类型
与MCS-51单片机物理存储器区域的关系?
答:
C51
存储
器类型
有bit sbit data xdata bdata pdata sfr code等,可能不全面有遗漏 对应的物理存储器是:bit,即位
数据
:数据存储器位寻址区,即20H~2FH的范围,共16个字节,16*8=128个位,位地址00h~7fh,连续的。sbit:特殊功能寄存器中的位数据:只有能够被8整除的那些特殊功能...
课程设计题目:电子计数器
答:
单片机
C51
计数器要求:编写一个计数器程序,将T0作为计数器来使用,对外部信号计数,将所计数字显示在数码管上。 该部分的硬件电路如图所示,U1的P0口和P2口的部份引脚构成了6位LED数码管驱动电路,数码管采用共阳型,使用PNP型三极管作为片选端的驱动,所有三极管的发射极连在一起,接到正电源端,它...
c51
定义十六进制数只能两位么
答:
楼上错了
C51
中的
数据类型
定义不同于C语言 char 是一个字节 int是两个字节 long是4个字节,有时候这还与使用的
编译器
有关 i=0xabcd; i>>=8; a=0xff&i; 结果i是0呢 可能是你把i定义为char行了吧 如果是char型i的值就不是0xabcd而是0xcd (高位被舍去) 右移8位就变成了0。
C51
中,左移和右移不工作是怎么回事~~~
答:
贴出完整的程序,只有你写错,没有不工作的道理
棣栭〉
<涓婁竴椤
6
7
8
9
10
11
12
13
15
涓嬩竴椤
14
其他人还搜