專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

SDBC的特殊寄存器(可位尋址的定義方法)

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年08月29日   【字體:
'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é)束
關(guān)閉窗口

相關(guān)文章