Не получается заставить ВВ55 мигать светодиодом. Частота Z80 3 МГц. Есть ПЗУ 32 КБайт (ОЗУ пока нет). Схема такая: Шины данных и адреса параллельно. ~CS (ПЗУ) включается когда A15 (Z80). ~WR (ПЗУ) когда ~MERQ (Z80) ИЛИ ~WR (Z80). ~RD (ПЗУ) когда ~MERQ (Z80) ИЛИ ~RD (Z80). A0 (ВВ55) когда A0 (Z80). A1 (ВВ55) когда A1 (Z80). ~RD (ВВ55) когда ~IORQ (Z80) ИЛИ ~RD (Z80). ~WR (ВВ55) когда ~IORQ (Z80) ИЛИ ~WR (Z80). RESET (ВВ55) на землю, RESET (Z80) к питанию через резистор.
Тактовую частоту на осциллографе видно. "Шумы" на ~MERQ (Z80), ~RD (Z80) тоже. На ~WR (Z80) высокий уровень с редкими падениями. На ~IORQ (Z80) постоянный высокий уровень.
Программа такая:
Код:
begin:
; Configure VV55
ld bc, 80h ; port
ld a, 0h ; byte
out (FFh), a ; out
; micro wait
ld b, 0
micro_wait:
nop
nop
nop
nop
nop
djnz micro_wait
;end micro wait
main:
ld bc, 0h ; port
ld a, FFh ; byte
out (0h), a ; out
time_wait:
ld a, 0 ; for big loop compare
ld c, 0 ; big wait loop
ld b, 0 ; small wait loop
small_loop:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
djnz small_loop ; end small wait loop
dec c
cp c
jr nz, time_wait
ld bc, 0h ; port
ld a, 0h ; byte
out (0h), a ; out
time_wait2:
ld a, 0 ; for big loop compare
ld c, 0 ; big wait loop
ld b, 0 ; small wait loop
small_loop2:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
djnz small_loop2 ; end small wait loop
dec c
cp c
jr nz, time_wait2
jp begin
Подскажите пожалуйста куда копать.