PIC微控制器入門 PICC的指向RAM的指標

2021-07-24 09:24:02 字數 1351 閱讀 8165

將30h,31h,32h單元中最大的數放入40h。

#include static volatile unsigned char add1 @0x30;

static volatile unsigned char add2 @0x31;

static volatile unsigned char add3 @0x32;

static volatile unsigned char add @0x40;

main() //絕對位址定位

}

注意:

本例中add1、add2、add3和add本質上都是位址,因此它們都是指向ram的指標。在picc中用指標進行定址是通過fsr間接定址的,因此add1=0x51以及add=add1都是以間接定址方式進行賦值的。

以上程式中的指標add1、add2、add3和add都是指向bank0,假如要定義指向其他bank的指標也是可以的。

例如:

#include//將絕對位址定位在不同的體

static volatile unsigned char add1 @0x30 ; //實際位址=30h

bank1 static volatile unsigned char add2 @0x31; //實際位址=(80h+31h)=0b1h

bank2 static volatile unsigned char add3 @0x32 ; //實際位址=80h*2+32h=132h

bank3 static volatile unsigned char add @0x40 ; //實際位址=80h*3+40h=1c0h

int x,y,z;

void comparison()

main()

}

也可以直接對三個常數進行比較大小,然後將最大的數存放在於bank3的某單元中。

#include//符號定義

#define x_data 0xe0;

#define y_data 0x60;

#define z_data 0x90;

bank3 static volatile unsigned char add @0x40 ; //實際位址=80h*3+40h=1c0h

int x,y,z;

void comparison()

main()

}

PIC微控制器入門 PICC標頭檔案介紹

picc支援下的c程式 中一定要包含pic.h標頭檔案,該檔案安裝在ht pic include目錄下。它是很多標頭檔案的集合,c編譯器在pic.h中根據使用者選擇的晶元自動載入相應的其它標頭檔案,例如使用者選擇的晶元是pic16f877,則pic.h會把pic1687x.h載入 例如使用者選擇的晶...

PIC微控制器開發中PICC編譯環境的應用

picc基本上符合ansi標準,但是不支援函式的遞迴呼叫,其主要原因是pic微控制器特殊的堆疊結構。pic微控制器中的堆疊是硬體實現的,其深度已隨晶元固定,無法實現需要大量堆疊操作的遞迴演算法 另外在pic微控制器中實現軟體堆疊的效率也不是很高。為此,picc編譯器採用一種 靜態覆蓋 技術,以實現對...

PIC微控制器引腳

微控制器的訊號引腳是微控制器外特性的體現,在硬體上使用者只能使用引腳,通過引腳的連線組建微控制器系統。pic 8位微控制器系列和mcs 51系列微控制器一樣,其引腳除電源 vdd vss為單一功能外,其餘的訊號引腳常是多個功能,即引腳的復用功能。常見的引腳符號和主要功能如下 1 clr vpp 清除...