Cop8
prichy@volny.cz
prichy
Středa Březen 17 14:53:57 CET 2004
Diky za navrhy.
Asi zustanu u sveho puvodniho navrhu. Pro vytvoreni vetsiho bufru nemam
misto v pameti.
V mem navrhu (pod textem) v preruseni neovlivnuji ani ACC ani PSW, takze
nemusim nic
ukladat a navic to cele trva par cyklu.
Michal G. www.ost.nzn.cz (nove stranky ve zkusebnim provozu)
V Y P I S P R O G R A M U:
V rutine Prn se testuje timeout 30mS, kdyby doslo k chybe tak at se nekousne
cely program.
Vypis programu: (bez generatoru timeout!!!!!!!!)
Tx_Vysli bit 27 ;Vysli dalsi byt
Tx_Volny bit 28 ;Vse vyslano UART/ Tx v klidu
Rx_Prijat bit 29 ;Prijat byte
Tx_Timeout bit 30 ;Timeout vys?l?n
Tx_Bufer data 002FH ;Bufer pro seriovy vystup
Rx_Bufer data 0030H ;Bufer pro seriovy vstup
;*********************************************************
;Obsluha seriov?ho portu
;(Interupt)
org 23H
jbc RI,Prijem_Dat
clr TI
jbc Tx_Vysli,Vysli
setb Tx_Volny ;Konec dat, nutno aktivovat pres SBUF
reti
Vysli: mov SBUF,Tx_Bufer
reti
Prijem_Dat:
mov Rx_Bufer,SBUF
setb Rx_Prijat ;Prijat byt
reti
;*********************************************************
;Tady se vysle jeden znak do seriove linky vstup ACC
Prn: mov Vni_Cas,#3 ;Timeout 30mS
clr Tx_Timeout
Prn_Pc_Cek:
jb Tx_Timeout,Aktivuj ;Vyprsel timeout
jbc Tx_Volny,Aktivuj
jb Tx_Vysli,Prn_Pc_Cek ;Ceka na odvysilani minuleho byte
mov Tx_Bufer,A
setb Tx_Vysli
ret
Aktivuj:
mov SBUF,A
ret
Další informace o konferenci Hw-list