ASM51無參數(shù)化調(diào)用C51函數(shù)的實(shí)現(xiàn)原理解析方案
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 ;分用符號說明
PUBLIC initial,res_ram
RSEG ?PR?sample?SAMPLE
using 0
initial:;AD7715初始化,該標(biāo)號即是C51定義外部函數(shù)
;initial()的入口地址
……
ret
;
評論