'AT89X52.BI '用于52兼容MCU 'Const 變量和 Const 變量在編譯的時候運算完 'By 萬致遠,sdbc '定義可位尋址的數據類型 Type SFR_BIT_A Dim SFR_BIT_A As sfr '定義字節地址sfr,如果Type里有和Type名一樣的變量,則編譯器將把它當作默認變量 '比如說這個type里面有SFR_BIT_A,那么外部給這個類定位地址,事實上是給這個變量定位地址 '比如Dim P0 As SFR_BIT_A at &H80,那么P0=0就是相當于MOV #80H,0. '然后設計如果需要數字變量名,需要在前面加$,但是如果在類外/類型外引用,則不需要,with語句也需要 '類似P0.0=1。With P0 .$0=1 End With一樣 '在type內的地址聲明將在編譯時被固定處理,類似聲明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口定義結束