; Receive Sony IR Remote Control Codes with Atmel AT90S1200 ; ; Charles R. Ott ; June 22, 1998 .nolist ;Suppress listing of include file .include "2313def.inc" ;Define chip particulars .list ; Global register variables .def wreg =R16 ;General use working register .def devcode =R17 ;IR device code .def irfunc =R18 ;IR function code .def gotir =R19 ;Flag to indicate IR has been decoded .def timeout =R20 ;Delay time passed to subroutine .def bitcnt =R21 ;Received character bit counter .def startb =R22 .def last4 =R23 .def count =R24 .def last =R25 .def longtime=R26 .def temp =R27 ; Timer/Counter prescaler values .equ TSTOP =0 ;Stop Timer/Counter .equ TCK64 =3 ;Timer/Counter runs from CK / 64 .cseg ; Interrupt vectors .org 0 rjmp reset ;Reset Vector .org INT0addr ;External Interrupt0 Vector rjmp readir .org OVF0addr ;Overflow0 Interrupt Vector reti .org ACIaddr ;Analog Comparator Interrupt Vector reti ; Main program entry point on reset reset: ldi wreg,RAMEND ;Init Stack Pointer out SPL,wreg ldi wreg,0xFF ;Turn off all LEDs out PORTB,wreg ldi wreg,0xFF ;Make port B pins all outputs out DDRB,wreg out PORTD,wreg ;Put power on all port D pins ldi wreg,0b11111011 ;Make PD2 an input, all others outputs out DDRD,wreg ldi wreg,1<