.include "tn15def.inc" .def temp =r16 .def pwm =r17 .cseg .org $0000 ;--------------------------------------------------------------- start: ldi temp,0x62 ldi pwm,0x00 out TCCR1,temp ldi temp,0x02 out OCR1A,temp ;--------------------------------------------------------------- INITPORTB: ser Temp out DDRB,Temp clr temp out PORTB,temp ;--------------------------------------------------------------- LOOP: sbic PINB,0x00 rjmp down sbic PINB,0x02 rjmp up rjmp loop ;--------------------------------------------------------------- UP: cpi pwm,255 breq max inc pwm out OCR1A,pwm rcall delay rjmp loop ;--------------------------------------------------------------- MAX: ldi r20,0x10 rjmp loop ;--------------------------------------------------------------- MIN: ldi r21,0x08 rjmp loop ;--------------------------------------------------------------- DOWN: cpi pwm,0 breq min dec pwm out OCR1A,pwm rcall delay rjmp loop ;--------------------------------------------------------------- DELAY: ldi R19, $43 LOOP0: ldi R18, $C6 LOOP1: dec R18 brne LOOP1 dec R19 brne LOOP0 nop ret