單片機(jī)C語言教程:C51指針的使用
#include //預(yù)處理文件里面定義了特殊寄存器的名稱如 P1 口定義為 P1
void main(void)
{
//定義花樣數(shù)據(jù),數(shù)據(jù)存放在片內(nèi) CODE 區(qū)中
unsigned char code design[]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,
0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,
0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0,
0xE7,0xDB,0xBD,0x7E,0xFF};
unsigned int a; //定義循環(huán)用的變量
unsigned char b;
unsigned char code * dsi; //定義基于 CODE 區(qū)的指針
do{
dsi = design[0]; //取得數(shù)組第一個(gè)單元的地址
for (b=0; b32; b++)
{
}
}while(1);
}
for(a=0; a30000; a++); //延時(shí)一段時(shí)間
P1 = *dsi; //從指針指向的地址取數(shù)據(jù)到 P1 口
dsi++; //指針加一,
為了能清楚的了解指針的工作原理,能使用 keil uv2 的軟件仿真器查看各變量和存儲(chǔ)器的值。編譯程序并執(zhí)行,然后打開變量窗口,如圖。用單步執(zhí)行,就能查到到指針的變量。 如圖中所示的是程序中循環(huán)執(zhí)行到第二次,這個(gè)時(shí)候指針 dsi 指向 c:0x0004 這個(gè)地址,這個(gè)地址 的值是 0xFE。在存儲(chǔ)器窗口則能察看各地址單元的值。使用這種方法不但在學(xué)習(xí)時(shí)能 幫助更好的了解語法或程序的工作,而且在實(shí)際使用中更能讓你更快更準(zhǔn)確的編寫程序或解 決程序中的問題。
c語言相關(guān)文章:c語言教程
存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
評論