Параллельная загрузка Spartan II (XC2S100) из внешней ПЗУхи, AT89C52
Надеюсь разберетесь
Код
nPROGRAM equ P1.6
nINIT equ P3.2
nCS equ P3.3
nWRITE equ P3.3
CCLK equ P3.6;(nWR)
Bank equ P3.4;(это к ПЗУхе)
clr nPROGRAM
Setb nPROGRAM
Config:
Jnb nINIT , Config
clr nCS
mov R0, #&h0
mov R1, #&h0
mov R2, #&h0
mov P2, #&h80
clr Bank
mov DPTR, #&h2000
mov R6, #&h00;тут поменять под конкретную ПЛИСину
mov R7, #&hE0;и здесь
Acall Conf_sub
Setb Bank
mov DPTR, #&h2000
mov R6, #&h74;и соответсвенно здесь
mov R7, #&h9E;и здесь
Acall Conf_sub
Setb nCS
clr nCS
mov DPTR, #&h8000
Movx @dptr , A
Setb nCS
Sjmp Conf_done
Conf_sub:
Movc A, @A+Dptr
Movx @r0, A
inc DPTR
Djnz R6, Conf_sub
Djnz R7, Conf_sub
ret
Conf_done: