1,STC15W4Kxxxx系列单片机可以定义多少个char类型变量

看最后的2字母,,,,,如果是s4 可以。。。。。。。。。。

STC15W4Kxxxx系列单片机可以定义多少个char类型变量

2,STC89C52单片机里面可以定义多少个位变量也就是bit型的我定

unsigned char是定义字符,以字节为单位,与位没有关系。位只能定义128的原因是系统定义了为寻址区为16个字节,即128位。如果想用200个位变量的话,完全可以先定义字节变量,然后对字节里的位进行处理,也很方便。

STC89C52单片机里面可以定义多少个位变量也就是bit型的我定

3,一个单片机可以申请多少位域变量不能无限制申请吧

单片机内部只有20H-2FH空间可以定义位变量但是用间接寻址配合位变量,的确是除堆栈和运行时必要的变量之外所有空间都能当位变量使用。
位变量有128个,20~2F中存储,位地址为00H~7FH,所以你最多可以申请128个位变量。再看看别人怎么说的。
除去堆栈和运行时必要的变量占用的空间之外,剩下的都可以当位域使用。

一个单片机可以申请多少位域变量不能无限制申请吧

4,单片机怎么定义变量

这么改:#define uchar unsigned char #define uint unsigned int 注意没有分号
头两行应该是#define uchar unsigned char #define uint unsigned char你这个原先的第六行的uchar是个变量而不是函数,仔细想想看是不是

5,8位单片机可以定义16和32位的变量吗

单片机的位和变量的位不是同一概念。单片机的位指的是单次处理数据的位宽。8位单片机无法单次处理16位或32位的数据,是分成多次拆开处理的。这个过程用户完全不用关心。以上,8位单片机完全正常使用16位或32位包括浮点类型数据,只是速度上比16位或32位慢很多。怎么处理的用户不用关心。
当然可以定义16位数据或32位数据类型了, 如int型的,与c语言是相同的,很正常,不会出现什么情况。

6,单片机C语言中延时程序中的int究竟能定义几个变量

int 是定义变量的大小,和定义多少变量无关。大小一般是-32768~32767。定义变量理论上想定义多少就定义多少。
一般单片机在c语言中很难得到精确的延时,所以一般对时间要求高的都用计时器中断来做了。如果时间要求不严格可以用for循环来做,你可以实际测试一下,把时间延时到大概一秒左右,然后烧进单片机里运行,比如一个灯亮灯灭的程序,看着灯计数,同时用秒表计时,几个几十次后取平均值就能知道大概时间了。
那要看你程序自身占用了多少ram了

7,keil单片机里的C语言一次可以定义几个变量

我试过,一次定义变量可以定义很多个,问题可能在于你定义的变量总数超过了存储区大小,你可以试试在别的函数里面减少个变量,再看一次定义4个变量能通过不,顺便可以把你的错误信息发上来看看。
程序本身是没有问题的,我已经把你的程序在我使用的keil编译,0警告,0错误随便要指出的就是,在p1_1口上的led点亮的时间太短了,你可以适当延长一下那个时间,以下是我稍微修改后的程序,供你参考:#include //预处理命令 void main(void) //主函数名 { unsigned int a; //定义变量a为unsigned int类型 unsigned int b; //我修改为 int 类型了 do { //do while组成循环 for (a=0; a<65535; a++) p1_0 = 0; //65535次设p1.0口为低电平,点亮led p1_0 = 1; //设p1.0口为高电平,熄灭led for (a=0; a<30000; a++); //空循环 for (b=0; b<10000; b++) p1_1 = 0; //10000次设p1.1口为低电平,点亮led p1_1 = 1; //设p1.1口为高电平,熄灭led for (a=0; a<30000; a++); //空循环 } while(1); }
可以啊,我这个就可以.

文章TAG:单片机能定义多少个变量单片机  机能  定义  
下一篇