00问答网
所有问题
当前搜索:
51单片机定义数组
51单片机定义
一个大
数组
存在idata与xdata中有什么区别?
答:
51单片机定义一个大数组存在idata与xdata区别为:空间不同、访问不同、获取不同
。一、空间不同 1、idata:idata占用51单片机内部RAM的固定0x00-0xff空间。2、xdata:xdata占用51单片机外部RAM扩展的0x0000-0xffff空间。二、访问不同 1、idata:idata用类似C中的指针方式进行访问。2、xdata:xdata用DPTR...
51单片机定义
一个大
数组
存在idata与xdata中有什么区别?
答:
区别如下:1、位置不同 idata
定义
在高128字节中,xdata定义在外部RAM中,一些
单片机
内部集成了外部RAM。2、访问速度不一样 访问idata的速度稍快。3、最后,可能也是最重要的,二者在初始化上区分很大。在基本所有编译器下,unsigned char idata num[3]={1,2,3};可以正确编译,在idata区中,可...
51单片机数组定义
太大编译不过怎么处理
答:
51单片机数组定义太大编译不过修改方法:1、
将52单机片数组改小一点,就可以处理了。2、换一台主机,在计算51单机片数组就可以了
。
c51
单片机
,如何
定义
可变长
数组
?
答:
用int
定义
长
数组
是16位的,没有问题的,可以定义的,也没有限制的。下面的程序是定义了30元素的。用单步执行来查看数组的值,用P1口显示高8位,用P0显示低8位,即可以赋值,也可以输出值的,没有问题,这个程序测试通过的。include <reg52.h> int number[30];unsigned char i;void main(){ for...
51单片机
24c02写
数组
怎么写进去
答:
write_add(23,1);是把1写到地址23中?mm[0]=read_add(23);这个是把23地址中的数据读到
数组
mm中?所以说,没看到你怎么把数组里的数写入到24c02中。是不是每次你写到24c02的数(1,2,3...)都再次读出来通过硬件显示了?而且是错误的?大神也不是神。基础才是王道。
C51
单片机
如何用xdata
定义
整形
数组
答:
直接
定义
即可:xdata int table[20];操作也像正常的
数组
一样操作。默认的话,编译器会把地址安排在外部0x0000开始的地址,即汇编里的dptr=0x0000的地址。如果此时你外部没有存储器硬件的话,程序也能编译过,但最后的现像就是能写,但读出来都是随机值 或者全0。除此,使用指针操作外部存储器时,也...
51单片机
如何设置
数组
变量?
答:
所以,
51单片机
的位地址,就不能用
数组
来进行操作。不过,可以利用逻辑运算,进行位操作。先
定义
一个数组:a[8] = [128, 64,...8, 4, 2, 1];然后:P1 |= a[3]; ,这就是令 P1.3 置一。其实,采用数组的方法,并非是最简单的。直接:P1 |= (1 << 3); ,就可以了。
51单片机
中如何
定义
比较大的
数组
变量 比如 char[1024][10]
答:
定义这种大的数组,你首先得有这么大的RAM才可以,不然肯定不好用。内部地址空间就别想了,肯定是放在外部。如果是常数数组,可以定义到代码里面,code char cc[1024][10],这种程序只能读,不能改,像字库点阵一般用这种。如果有足够的外部RAM,xdata char xx[1024][10]; 这是把
数组定义
到外部RAM...
51单片机
汇编
数组
答:
用伪指令DB来
定义
比如我想定义一个数码管0~9的断码可以这样定义 MOV DPTR,#TAB MOVC A,@A+DPTR TAB: DB 06H,5BH,4FH,73H,66H,6DH DB 7DH,3FH,07H,7FH,6FH,40H 想显示什么数时只要把数放到A里面就可以了
51单片机
为什么
数组
变量
定义
放在main函数里面不行
答:
变量的声明有它的作用域,在main函数里面声明的只能在main函数中使用,不能再其他函数里或子函数里使用,更不能在中断服务函数里使用,
数组
也是变量的一种形式,如果是常数那他是特殊的变量,如果想在所有函数里都可以用就声明全局变量就可以了
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
c51单片机数组
51单片机 串口发送数组
c51单片机系列五个数组转换
51单片机二维数组
C51如何定义一个8字节变量
51单片机串口发送数组程序
C51数组比较
c51汉字字符串定义
ssd1315中文数据手册