por simplicio » 15 Fev 2008 00:51
Encontrei sua resposta:
1º Crie um arquivo com o nome: 89C51ED2.dat e salve na pasta C:\...\MCS Electronics\BASCOM8051. Com o seguinte conteúdo:
89c51ed2.dat
[BIT]
ACC = E0 , 00
B = F0 , 00
CCON = D8,00
IE = A8 , 00
IP = B8 , 00
P0 = 80 , FF
P1 = 90 , FF
P2 = A0 , FF
P3 = B0 , FF
IPL0 = B8 , 00
P4 = C0 , FF
PSW = D0 , 00
SCON = 98 , 00
TCON = 88 , 00
T2CON = C8 , 00
PI2 = F8 , 03
[BYTE]
SP = 81 , 07
DPL = 82 , 00
DPH = 83 , 00
PCON = 87 , 10
TMOD = 89 , 00
TL0 = 8A , 00
TL1 = 8B , 00
TH0 = 8C , 00
TH1 = 8D , 00
AUXR = 8E , 10
CKCON0 = 8F , 00
CKRL = 97 , FF
SBUF = 99 , 00
BRL = 9A , 00
BDRCON = 9B , 00
KBLS = 9C , 00
KBE = 9D , 00
KBF = 9E , 00
AUXR1 = A2 , 00
WDTRST = A6 , 00
WDTPRG = A7 ,00
SADDR = A9 , 00
CKCON1 = AF , 00
IEN1 = B1 , 00
IPL1 = B2 , 00
IPH1 = B3 , 07
IPH0 = B7 , 00
SADEN = B9 , 00
SPCON = C3 , 14
SPSTA = C4 , 00
SPDAT = C5 , 00
T2MOD = C9 , 00
RCAP2L = CA , 00
RCAP2H = CB , 00
TL2 = CC , 00
TH2 = CD , 00
FCON = D1 ,00
WMCON = D2 , 00
CMOD = D9 , 00
CCAPM0 = DA,00
CCAPM1 = DB,00
CCAPM2 = DC,00
CCAPM3 = DD,00
CCAPM4 = DE,00
CL = E9,00
CCAP0L = EA,00
CCAP1L = EB,00
CCAP2L = EC,00
CCAP3L = ED,00
CCAP4L = EE,00
CH = F9,00
CCAP0H = FA,00
CCAP1H = FB,00
CCAP2H = FC,00
CCAP3H = FD,00
CCAP4H = FE,00
[MISC]
I_TIMER2 = 2B
I_PCA = 33
I_KBD = 3B
I_SPI = 4B
org = 4E
up = 89C51xED2
IRAM = 256
XRAM = 1792
CLOCKDIV=6
3º Selecione no BASCOM-8051 o menu option > compilers> output >MISC > 89C51ED2.dat , ou defina no seu programa:
$regfile = "89C51ED2.dat"
4º agora você poderá utilizar os seguintes comandos no seu programa:
On Kbd (LABEL)
....
'******** subrotina de interrupção *********
(LABEL):
Return
'***************************
exemplo:
On Kbd inter_keyboard
....
'******** subrotina de interrupção *********
inter_keyboard:
Return
Para demais interrupções, basta acrescentar no arquivo .dat o nome da interrupção mais seu endereço em hexadecimal, ex: I_teste = 5A , e no corpo do programa chamar esta interrupção apenas pelo seu nome: teste.
Abraço
Fernando Simplicio