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