;****LED STRIP LIGHT CONTROL TEST**** ;*********Use 16MHz Ceralock********* ;*************2023.8.14************** .include"1200def.inc" ; ;variable definition .equ data=0 ; SignalOut PD0 ;register definition .def temp =r16 .def dt1 =r18 .def dt2 =r19 .def dt3 =r20 .def count =r22 .def one =r28 .def zero =r29 ; .cseg .org 0 ;interrupt vector rjmp reset ; reset handler reti ; interrupt0 handler reti ; timer/counter0 ovf handler reti ; analog comparator handler ; ;main routine reset: ldi temp, 0b00000001 ; PD0 is output out DDRD, temp ; initialize PORTB ldi temp, 0b00000000 ; no pull up PD7-PD0 out PORTD, temp ; ldi temp, 0b00000000 ; PB3-PB0 are input out DDRB, temp ; initialize PORTD ldi temp, 0b00000000 ; no pull up PB3-PB0 out PORTB, temp ; ldi one, 0b11111111 ldi zero, 0b00000000 ldi dt1, 0x00 ; change value 00-ff ldi dt2, 0xff ; change value 00-ff ldi dt3, 0xff ; change value 00-ff top1: ldi count, 8 tp1: rol dt1 brcs plsone1 brcc plszero1 com1: dec count breq top2 rjmp tp1 plsone1: out PORTD, one nop nop nop nop nop nop nop nop out PORTD, zero rjmp com1 plszero1: out PORTD, one nop nop nop nop out PORTD, zero nop nop nop nop rjmp com1 ; top2: rol dt1 ldi count, 8 tp2: rol dt2 brcs plsone2 brcc plszero2 com2: dec count breq top3 rjmp tp2 plsone2: out PORTD, one nop nop nop nop nop nop nop nop out PORTD, zero rjmp com2 plszero2: out PORTD, one nop nop nop nop out PORTD, zero nop nop nop nop rjmp com2 ; top3: rol dt2 ldi count, 8 tp3: rol dt3 brcs plsone3 brcc plszero3 com3: dec count breq top4 rjmp tp3 plsone3: out PORTD, one nop nop nop nop nop nop nop nop out PORTD, zero rjmp com3 plszero3: out PORTD, one nop nop nop nop out PORTD, zero nop nop nop nop rjmp com3 top4: rol dt3 rjmp top1