⑴ 51單片機能不能定義位數組 比如:bit i;//定義一個位變數i
不可。
位定址,只能使用直接定址。
就像特殊功能寄存器一樣,不可用數組。
⑵ 51單片機中如何定義比較大的數組變數 比如 char[1024][10]
定義這種大的數組,你首先得有這么大的RAM才可以,不然肯定不好用。內部地址空間就別想了,肯定是放在外部。
如果是常數數組,可以定義到代碼裡面,code char cc[1024][10],這種程序只能讀,不能改,像字型檔點陣一般用這種。
如果有足夠的外部RAM,xdata char xx[1024][10]; 這是把數組定義到外部RAM,需要用MOVX訪問。
⑶ 51單片機定義數組
不確定你如何用數線呢?51單片機不支持動態數組,本身只有那麼一點兒內存,你必須先明確需要多大數組。
一個辦法是聲明足夠用的數組,比如text[16],並在程序中判斷不要超出數組范圍。
⑷ c51單片機,如何定義可變長數組
用int定義長數組是16位的,沒有問題的,可以定義的,也沒有限制的。下面的程序是定義了30元素的。用單步執行來查看數組的值,用P1口顯示高8位,用P0顯示低8位,即可以賦值,也可以輸出值的,沒有問題,這個程序測試通過的。
#include <reg52.h>
int number[30];
unsigned char i;
void main()
{
for(i=0;i<30;i++)
{
number[i]=256*i+2*i;
}
while(1)
{
for(i=0;i<30;i++)
{
P0=number[i]%256;
P1=number[i]/256;
}
}
}
⑸ 單片機數組的定義和使用方法
單片機數組的定義和使用方法,單片機數組的定義就是說他是通過一個單機片組成個主板,然後使用方法是相對來說比較簡單的,然後可以參照使用說明來操作
⑹ 單片機C語言數組最多能定義多少個元素
原則上,C語言中數組所包含的元素個數理論上多少都行,如果要開一個很大的數組,比如int arrayint[10000][10000];在main()中聲明該數組就會使應用程序退出,但是如果你把該數組的聲明放在所有函數體之外,讓它變成一個全局變數,就沒有任何限制了,你想開多大的數組都可以。
但在單片機c語言程序中,實際上還是有限制的,原因在於單片機的存儲空間是有限的,數組最多能有幾個元素取決於單片機型號。
你定義了一個全局的數組,unsigned char型的數組,最多隻能有93個元素,說明你還有其他變數佔用存儲空間。如果需要一個512個元素的數組,用的單片機是stc15f2k60s2,可在定義數組時進行XDATA聲明,將數組存儲於外部RAM當中。
⑺ 單片機如何正確定義一維數組
看你需要定義什麼類型的數組,
8位
的是
char
array[20];
16位的是
int
array[20];
20表示數組的大小
賦值的話可以
array[0]=100;
表示
數組的第一個元素
的值=100
⑻ 51單片機如何設置數組變數
因為,51單片機的位地址,只能直接定址,不能間接定址。
所以,51單片機的位地址,就不能用數組來進行操作。
不過,可以利用邏輯運算,進行位操作。
先定義一個數組:a[8] = [128, 64,...8, 4, 2, 1];
然後:P1 |= a[3]; ,這就是令 P1.3 置一。
其實,採用數組的方法,並非是最簡單的。
直接:P1 |= (1 << 3); ,就可以了。
⑼ 怎麼確定STC單片機可定義數組的大小
試驗一下 unsigned int pdata Data[90],
指定存儲類型為pdata,用寄存器間接定址才能訪問高128位元組的ram