.NOLIST .INCLUDE "E:\Eigene~1\Benutzer\Jens\Quellc~1\Def INC\1200def.inc" .def bitcnt = R17 .def RxByte = R18 .def TxByte = R19 .def temp = R16 .LIST .CSEG .ORG 0x0000 RJMP START .org INT0addr RJMP ISERVE START: ldi R16 , 0xFF ; R16 = 255 out Ddrb , R16 ; Port B Def. output ldi R16 , 0x11111010 ; out DdrD , R16 ; Port D Def. D0,2 input, D1,3-7 output ldi R16 , 0b00000000 ; pull-down für PD3-PD7 out Portd , R16 ; R16 nach Port D ldi R16 , 0b01000000 ; externe Interruptfreigabe out GIMSK , R16 ; Kontrolregister laden ldi R16 , 0b00000010 ; Interrupt fallende Flanke out MCUCR , R16 ; Kontrolregister laden SEI ; Interruptfreigabe ldi R16 , 0x00 ; R16 = 0, Port aus out Portb , R16 ; R16 nach B ldi bitcnt , 9 ; ;------------------------------------------------------------ run: ; Hauptprogramm action: rjmp action ; Endlosschleife ;----------------------------------------------------------- ISERVE: in R1 , SREG ; Sreg retten clt ; Interrupt aus rcall getchar ; out PortB , RxByte ; sei ; Interrupt wieder an out SREG , R1 ; Status zurückschreiben RETI ; Ende ISR .INCLUDE "TxRx.asm"