『壹』 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裡面就可以了
『貳』 單片機C語言中如何在外RAM中定義數組
unsigned char xdata arr[];數組定義在外部
arr[0] = XBYTE [0000]; 數組的起氏櫻始殲纖叢地豎悶址
『叄』 c51 如何定義數組
code 為關鍵字,表示asbp[]數組是存在在ROM空間中,是不可改變的(只讀),主程序或函數可以讀取裡面的值但不能寫。這是用於存放一些常量數據、字表一類所使用的。
unsigned char data asb[]
data表示:在片內RAM空間定義了一個無符號字元型數組asb[]
相應xdata 在片外RAM。
idata:在52單指握轎片機中的128-256位元組RAM(片內)區別於SFR
bdata:51系列有16位元組的位定址區,有邏輯標志位時可定義在這里,可大大減少皮嫌data的佔用
還有pdata,個人覺得用唯肆得少
『肆』 51單片機定義數組
不確定你如何用數線呢?51單片機不支持動態數組,本身只有那麼一點兒內存,你必須先明確需要多大數組。
一個辦法是聲明足夠用的數組,比如text[16],並在程序中判斷不要超出數組范圍。
『伍』 如何在單片機程序中如何定義一個數組,用矩陣鍵盤輸入裡面的數組裡面的變數(我想用鍵盤掃描)
矩陣掃描?正常我是用翻轉法來檢查按鍵的,下面貼出代碼,希望能給你一些幫助
typedefunsignedcharu8;
typedefunsignedintu16;
sbitkey=P1;
u8key_scan()
{
u8key_value=0;
key=0x0f;
if(key!=0x0f)
{
if(key==0x0e) key_value=1;
elseif(key==0x0d) key_value=2;
elseif(key==0x0b)key_value=3;
elseif(key==0x07) key_value=4;
key=0xf0;
if(key==0xe0) key_value+=0;
elseif(key==0xd0) key_value+=4;
elseif(key==0xb0)key_value+=8;
蘆顫升elseif(key==0x70) key_value+=12;
while(key==0xf0);
}
returnkey_value;
}
u8 key_scan()這個函數返回的就是鍵洞冊值,key是一個埠,請自行改(可以在最後加上10ms的延時,消抖用)。
其中key_value就是鍵值,從1-16,你需要時檢測或者在定時器里檢測。陪老
『陸』 單片機如何正確定義一維數組
看你需要定義什麼類型的數組,
8位
的是
char
array[20];
16位的是
int
array[20];
20表示數組的大小
賦值的話可以
array[0]=100;
表示
數組的第一個元素
的值=100
『柒』 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;
}
}
}
『捌』 單片機數組的定義和使用方法
單片機數組的定義和使用方法,單片機數組的定義就是說他是通過一個單機片組成個主板,然後使用方法是相對來說比較簡單的,然後可以參照使用說明來操作
『玖』 51單片機中如何定義比較大的數組變數 比如 char[1024][10]
定義這種大的數組,你首先得有這么大的RAM才可以,不然肯定不好用。內部地址空間就別想了,肯定是放在外部。
如果是常數數組,可以定義到代碼裡面,code char cc[1024][10],這種程序只能讀,不能改,像字型檔點陣一般用這種。
如果有足夠的外部RAM,xdata char xx[1024][10]; 這是把數組定義到外部RAM,需要用MOVX訪問。
『拾』 51單片機C語言編程怎樣創建一個空的數組,之後我要把數據放到數組里
很簡單,定義一個指定長度(戚敏必須有)的數組,不初始化就可以了,最好指定一下櫻仔基存儲段,在訪問時可以優化一些。
例:
int data address[20]; /* 整型數組,名稱 address,長度 20,存儲在 data 段 */
char idata name[10]; /* 字元數組,名稱 name,長度 10,存儲在 idata 段 */
long xdata table[100]; /* 長整型數組,名稱 table, 長度 100,存儲在脊謹 xdata 段 */