<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機c語(yǔ)言教程:C51變量

單片機c語(yǔ)言教程:C51變量

作者: 時(shí)間:2012-09-11 來(lái)源:網(wǎng)絡(luò ) 收藏

void main(void)
{
unsigned int a;
unsigned char b;
do{
for (a=0;a50000;a++)
P1_0 = 0; //點(diǎn)亮P1_0
for (a=0;a50000;a++)
P1_7 = 0; //點(diǎn)亮P1_7
for (b=0;b255;b++)
{
for (a=0;a10000;a++)
P1 = b; //用b的值來(lái)做跑馬燈的花樣
}
P1 = 255; //熄滅P1上的LED
for (b=0;b255;b++)
{
for (a=0;a10000;a++) //P1_1閃爍
P1_1 = 0;
for (a=0;a10000;a++)
P1_1 = 1;
}
}while(1);
}

. Keil c51指針

c支持一般指針(Generic Pointer)和存儲器指針(Memory_Specific Pointer).

1. 1. 一般指針

一般指針的聲明和使用均與標準C相同,不過(guò)同時(shí)還能說(shuō)明指針的存儲類(lèi)型,例如:

long * state;為一個(gè)指向long型整數的指針,而state本身則依存儲模式存放。

char * xdata ptr;ptr為一個(gè)指向char數據的指針,而ptr本身放于外部RAM區,以上的long,char等指針指向的數據可存放于任何存儲器中。

一般指針本身用3個(gè)字節存放,分別為存儲器類(lèi)型,高位偏移,低位偏移量。

2. 2. 存儲器指針

基于存儲器的指針說(shuō)明時(shí)即指定了存貯類(lèi)型,例如:

char data * str;str指向data區中char型數據

int xdata * pow; pow指向外部RAM的int型整數。

這種指針存放時(shí),只需一個(gè)字節或2個(gè)字節就夠了,因為只需存放偏移量。

3. 3. 指針轉換

即指針在上兩種類(lèi)型之間轉化:

l 當基于存儲器的指針作為一個(gè)實(shí)參傳遞給需要一般指針的函數時(shí),指針自動(dòng)轉化。

l 如果不說(shuō)明外部函數原形,基于存儲器的指針自動(dòng)轉化為一般指針,導致錯誤,因而請用“#include”說(shuō)明所有函數原形。

l 能強行改變指針類(lèi)型。

的存儲類(lèi)別

一、static(靜態(tài)局部)。

1、靜態(tài)局部變量在程序整個(gè)運行期間都不會(huì )釋放內存。

2、對于靜態(tài)局部變量,是在編譯的時(shí)候賦初值的,即只賦值一次。如果在程序運行時(shí)已經(jīng)有初值,則以后每次調用的時(shí)候不再重新賦值。

3、如果定義局部變量的時(shí)候不賦值,則編譯的時(shí)候自動(dòng)賦值為0。而對于自動(dòng)變量而言,定義的時(shí)候不賦值,則是一個(gè)不確定的值。

4、雖然靜態(tài)變量在函數調用結束后仍然存在,但是其他函數不能引用。

二、用extern聲明外部變量。

用extern聲明外部變量,是為了擴展外部變量的作用范圍。比如一個(gè)程序能由多個(gè)源程序文件組成。如果一個(gè)程序中需要引用另外一個(gè)文件中已經(jīng)定義的外部變量,就需要使用extern來(lái)聲明。

正確的做法是在一個(gè)文件中定義外部變量,而在另外一個(gè)文件中使用extern對該變量作外部變量聲明。

c語(yǔ)言相關(guān)文章:c語(yǔ)言教程


單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理


存儲器相關(guān)文章:存儲器原理


塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理
激光器相關(guān)文章:激光器原理


關(guān)鍵詞: 變量 C51 教程 語(yǔ)言 單片機

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>