'AT89X52.BI '用于52兼容MCU 'Const 變量和 Const 變量在編譯的時(shí)候運(yùn)算完 'By 萬致遠(yuǎn),sdbc '定義可位尋址的數(shù)據(jù)類型 Type SFR_BIT_A Dim SFR_BIT_A As sfr '定義字節(jié)地址sfr,如果Type里有和Type名一樣的變量,則編譯器將把它當(dāng)作默認(rèn)變量 '比如說這個(gè)type里面有SFR_BIT_A,那么外部給這個(gè)類定位地址,事實(shí)上是給這個(gè)變量定位地址 '比如Dim P0 As SFR_BIT_A at &H80,那么P0=0就是相當(dāng)于MOV #80H,0. '然后設(shè)計(jì)如果需要數(shù)字變量名,需要在前面加$,但是如果在類外/類型外引用,則不需要,with語句也需要 '類似P0.0=1。With P0 .$0=1 End With一樣 '在type內(nèi)的地址聲明將在編譯時(shí)被固定處理,類似聲明P0在0x80,那么$0~$7固定為0x80~0x87 Dim $0 As sbit at &SFR_BIT_A Dim $1 As sbit at &SFR_BIT_A+1 Dim $2 As sbit at &SFR_BIT_A+2 Dim $3 As sbit at &SFR_BIT_A+3 Dim $4 As sbit at &SFR_BIT_A+4 Dim $5 As sbit at &SFR_BIT_A+5 Dim $6 As sbit at &SFR_BIT_A+6 Dim $7 As sbit at &SFR_BIT_A+7 End Type 'IO口定義 Dim P0 As SFR_BIT_A at &H80'聲明P0在0x80位置 Dim P1 As SFR_BIT_A at &H90'聲明P1在0x90位置 Dim P2 As SFR_BIT_A at &HA0'聲明P2在0xA0位置 Dim P3 As SFR_BIT_A at &HB0'聲明P3在0xB0位置 'IO口定義結(jié)束