Logo del sito i2viu

COME OTTENERE IL MIRROR DI UN BYTE CON GLI ST6
© by Vittorio Crapella - i2viu

Mi é capitato di dover rovesciare i bit di un byte messo su PORT_A per adattare un software con la parte hardware di un circuito; in pratica dopo aver elaborato dei dati all'interno di un ST62xx si doveva presentare il valore numerico del registro "a" sull'uscita PORT_A ma con i bit rovesciati a specchio (mirror, b7=b0 .... b0=b7).

Ecco come ho risolto il problema:                 File di testo



;Esempio: si entra con  a=10011101b 
;         si esce  con  a=10111001b

mirror	clr	v		;v=0
	ldi	y,1		;parto con il primo bit (bit0)
	ld	w,a		;salvo a in w
cicle	ld	a,w
	rlc	a		;b7 di a in CY
	ld	w,a		;risalvo a in w per dopo
	jrc	setx		;se b7=1 cy=1 pertanto salto a setx
	jp	resx		;altrimenti b7=0 e vado a resx
setx	ld	a,y		;prendo nr bit da settare
	ld	x,a		;lo metto in x
	ldi	a,255
	com	a		;cy=1 e a=0
rcla1	rlc	a		;ruoto in a 
	dec	x		;conto bit
	jrnz	rcla1
or	com	a		
	ld	x,a
	ld	a,v
	com	a
	and	a,x
	com	a
	ld	v,a		;ho settato il bit e salvo in v
	jp	incy		;vado a contare 8 bit
resx	ld	a,y		
	ld	x,a		;x=y
	clr	a		;cy=0
	ldi	a,255		
rcla2	rlc	a
	dec	x
	jrnz	rcla2
	ld	x,a
	ld	a,v
	and	a,x
	ld	v,a		;ho resettato ilbit voluto e salvo in v
incy	inc	y
	ld	a,y
	cpi	a,9		;se sono gia 8 bit fatti esco
	jrnc	return
	jp	cicle		;altrimenti continuo prossimo bit
return	ld	a,v
	ret

Cosa si puó fare con un ST6225
Come implemenmtare XOR negli ST6      Rotazione a destra di 1 bit RRC
ESEMPIO DIDATTICO
come trasmettere e ricevere un byte con ST6210, su linea bifilare

SCHEMA DI UN PROGRAMMATORE PER ST6260/65

DSE EMULATOR Visitate SOFTEC e prelevate il programma DSE622 che permette di emulare ST6 su PC

[ HomePage ] [ Ham Radio ] [ Link ST6 ] [Electronic]