利用全局及外部變量實(shí)現(xiàn)C51無能數(shù)化調(diào)用A51函數(shù)
//以下變量為采樣程序模塊ZTDJLY.A51中所用到的變量
bit write_alw,vz_bit,fs_bit;//write_alw=1,寫放FLASH允許,vz_bit,fs_bit是零標(biāo)定及滿刻度標(biāo)定的標(biāo)志
uchar sample_w[12];//4路連零點(diǎn)采樣值,每路2個(gè)字節(jié)共10個(gè)字節(jié),另外2個(gè)字節(jié)作定改62256前把采樣值添加通道號(hào)處理所需單元
uchar xdata *ram_point;//62256的指針
uchar sa_p,sa_vzt[8];//sa_p為采樣當(dāng)前路,sa_vzt[8]為4路的零點(diǎn)
uchar sa_timer[8]={1,1,1,1,1,1,1,1}; //4路的轉(zhuǎn)儲(chǔ)速率,前為子,后為母本
……
void disp_int0() interrupt 0 using 2 //用中斷0,使用寄存器2組
{
sample();//C51無參數(shù)化調(diào)用A51函數(shù)
}
main()
{
…
initial();
while(1) //主循環(huán)
{
……
}
}
A51程序如下:
NAME ztdjly.a51
ram_cs bit 090h.2 ;p1.2 ;62256片選
b373 bit 090h.1 ;p1.1
bit_dog bit 0b0h.4 ;3.4
;以上3個(gè)是AD7715的引腳定義
data_bit bit 0a0h.6 ;P2.6
adsclk_bit bit 0b0h.5 ;P3.5
drdy_bit bit 0b0h.3 ;P3.3
?PR?sample?SAMPLE SEGMENT CODE ;定義程序代碼段
EXTRN DATA (sample_w) ;聲明外部變量,在C51程序定義分配在DATA區(qū)
EXTRN DATA(sa_p)
EXTRN DATA(ram_point)
EXTRN DATA (sa_timer)
EXTRN DATA (sa_vzt)
EXTRN BIT (write_alw) ;聲明外部變量,在C51程序定義分配在可位尋址區(qū)
EXTRN BIT (vz_bit)
EXTRN BIT (fs_bit)
PUBLIFC sample ;分用符號(hào)說明
PUBLIC initial,res_ram
RSEG ?PR?sample?SAMPLE
using 0
initial:;AD7715初始化,該標(biāo)號(hào)即是C51定義外部函數(shù)
;initial()的入口地址
……
ret
;
sample: ;采樣程序,該標(biāo)號(hào)即是C51定義外部函數(shù)
;sample()的入口地址
……
ret
……
res_ram: ;62256指針復(fù)位,該標(biāo)號(hào)即是C51定義外部函數(shù)res_ram()的入口地址
……
ret
end
評(píng)論