mirror of
https://github.com/sergeyyarkov/attiny45v_traffic-lights.git
synced 2026-10-11 02:08:55 +03:00
480 lines
13 KiB
Plaintext
480 lines
13 KiB
Plaintext
|
|
AVRASM ver. 2.2.7 firmware.asm Fri Oct 06 21:12:23 2023
|
|
|
|
|
|
EQU SIGNATURE_000 0000001e
|
|
EQU SIGNATURE_001 00000092
|
|
EQU SIGNATURE_002 00000006
|
|
EQU SREG 0000003f
|
|
EQU SPL 0000003d
|
|
EQU SPH 0000003e
|
|
EQU GIMSK 0000003b
|
|
EQU GIFR 0000003a
|
|
EQU TIMSK 00000039
|
|
EQU TIFR 00000038
|
|
EQU SPMCSR 00000037
|
|
EQU MCUCR 00000035
|
|
EQU MCUSR 00000034
|
|
EQU TCCR0B 00000033
|
|
EQU TCNT0 00000032
|
|
EQU OSCCAL 00000031
|
|
EQU TCCR1 00000030
|
|
EQU TCNT1 0000002f
|
|
EQU OCR1A 0000002e
|
|
EQU OCR1C 0000002d
|
|
EQU GTCCR 0000002c
|
|
EQU OCR1B 0000002b
|
|
EQU TCCR0A 0000002a
|
|
EQU OCR0A 00000029
|
|
EQU OCR0B 00000028
|
|
EQU PLLCSR 00000027
|
|
EQU CLKPR 00000026
|
|
EQU DT1A 00000025
|
|
EQU DT1B 00000024
|
|
EQU DTPS 00000023
|
|
EQU DWDR 00000022
|
|
EQU WDTCR 00000021
|
|
EQU PRR 00000020
|
|
EQU EEARH 0000001f
|
|
EQU EEARL 0000001e
|
|
EQU EEDR 0000001d
|
|
EQU EECR 0000001c
|
|
EQU PORTB 00000018
|
|
EQU DDRB 00000017
|
|
EQU PINB 00000016
|
|
EQU PCMSK 00000015
|
|
EQU DIDR0 00000014
|
|
EQU GPIOR2 00000013
|
|
EQU GPIOR1 00000012
|
|
EQU GPIOR0 00000011
|
|
EQU USIBR 00000010
|
|
EQU USIDR 0000000f
|
|
EQU USISR 0000000e
|
|
EQU USICR 0000000d
|
|
EQU ACSR 00000008
|
|
EQU ADMUX 00000007
|
|
EQU ADCSRA 00000006
|
|
EQU ADCH 00000005
|
|
EQU ADCL 00000004
|
|
EQU ADCSRB 00000003
|
|
EQU PORTB0 00000000
|
|
EQU PB0 00000000
|
|
EQU PORTB1 00000001
|
|
EQU PB1 00000001
|
|
EQU PORTB2 00000002
|
|
EQU PB2 00000002
|
|
EQU PORTB3 00000003
|
|
EQU PB3 00000003
|
|
EQU PORTB4 00000004
|
|
EQU PB4 00000004
|
|
EQU PORTB5 00000005
|
|
EQU PB5 00000005
|
|
EQU DDB0 00000000
|
|
EQU DDB1 00000001
|
|
EQU DDB2 00000002
|
|
EQU DDB3 00000003
|
|
EQU DDB4 00000004
|
|
EQU DDB5 00000005
|
|
EQU PINB0 00000000
|
|
EQU PINB1 00000001
|
|
EQU PINB2 00000002
|
|
EQU PINB3 00000003
|
|
EQU PINB4 00000004
|
|
EQU PINB5 00000005
|
|
EQU ACME 00000006
|
|
EQU ACIS0 00000000
|
|
EQU ACIS1 00000001
|
|
EQU ACIE 00000003
|
|
EQU ACI 00000004
|
|
EQU ACO 00000005
|
|
EQU ACBG 00000006
|
|
EQU AINBG 00000006
|
|
EQU ACD 00000007
|
|
EQU AIN0D 00000000
|
|
EQU AIN1D 00000001
|
|
EQU MUX0 00000000
|
|
EQU MUX1 00000001
|
|
EQU MUX2 00000002
|
|
EQU MUX3 00000003
|
|
EQU REFS2 00000004
|
|
EQU ADLAR 00000005
|
|
EQU REFS0 00000006
|
|
EQU REFS1 00000007
|
|
EQU ADPS0 00000000
|
|
EQU ADPS1 00000001
|
|
EQU ADPS2 00000002
|
|
EQU ADIE 00000003
|
|
EQU ADIF 00000004
|
|
EQU ADATE 00000005
|
|
EQU ADSC 00000006
|
|
EQU ADEN 00000007
|
|
EQU ADCH0 00000000
|
|
EQU ADCH1 00000001
|
|
EQU ADCH2 00000002
|
|
EQU ADCH3 00000003
|
|
EQU ADCH4 00000004
|
|
EQU ADCH5 00000005
|
|
EQU ADCH6 00000006
|
|
EQU ADCH7 00000007
|
|
EQU ADCL0 00000000
|
|
EQU ADCL1 00000001
|
|
EQU ADCL2 00000002
|
|
EQU ADCL3 00000003
|
|
EQU ADCL4 00000004
|
|
EQU ADCL5 00000005
|
|
EQU ADCL6 00000006
|
|
EQU ADCL7 00000007
|
|
EQU ADTS0 00000000
|
|
EQU ADTS1 00000001
|
|
EQU ADTS2 00000002
|
|
EQU IPR 00000005
|
|
EQU BIN 00000007
|
|
EQU ADC1D 00000002
|
|
EQU ADC3D 00000003
|
|
EQU ADC2D 00000004
|
|
EQU ADC0D 00000005
|
|
EQU USIBR0 00000000
|
|
EQU USIBR1 00000001
|
|
EQU USIBR2 00000002
|
|
EQU USIBR3 00000003
|
|
EQU USIBR4 00000004
|
|
EQU USIBR5 00000005
|
|
EQU USIBR6 00000006
|
|
EQU USIBR7 00000007
|
|
EQU USIDR0 00000000
|
|
EQU USIDR1 00000001
|
|
EQU USIDR2 00000002
|
|
EQU USIDR3 00000003
|
|
EQU USIDR4 00000004
|
|
EQU USIDR5 00000005
|
|
EQU USIDR6 00000006
|
|
EQU USIDR7 00000007
|
|
EQU USICNT0 00000000
|
|
EQU USICNT1 00000001
|
|
EQU USICNT2 00000002
|
|
EQU USICNT3 00000003
|
|
EQU USIDC 00000004
|
|
EQU USIPF 00000005
|
|
EQU USIOIF 00000006
|
|
EQU USISIF 00000007
|
|
EQU USITC 00000000
|
|
EQU USICLK 00000001
|
|
EQU USICS0 00000002
|
|
EQU USICS1 00000003
|
|
EQU USIWM0 00000004
|
|
EQU USIWM1 00000005
|
|
EQU USIOIE 00000006
|
|
EQU USISIE 00000007
|
|
EQU ISC00 00000000
|
|
EQU ISC01 00000001
|
|
EQU GICR 0000003b
|
|
EQU PCIE 00000005
|
|
EQU INT0 00000006
|
|
EQU PCIF 00000005
|
|
EQU INTF0 00000006
|
|
EQU PCINT0 00000000
|
|
EQU PCINT1 00000001
|
|
EQU PCINT2 00000002
|
|
EQU PCINT3 00000003
|
|
EQU PCINT4 00000004
|
|
EQU PCINT5 00000005
|
|
EQU EEAR0 00000000
|
|
EQU EEAR1 00000001
|
|
EQU EEAR2 00000002
|
|
EQU EEAR3 00000003
|
|
EQU EEAR4 00000004
|
|
EQU EEAR5 00000005
|
|
EQU EEAR6 00000006
|
|
EQU EEAR7 00000007
|
|
EQU EEAR8 00000000
|
|
EQU EEDR0 00000000
|
|
EQU EEDR1 00000001
|
|
EQU EEDR2 00000002
|
|
EQU EEDR3 00000003
|
|
EQU EEDR4 00000004
|
|
EQU EEDR5 00000005
|
|
EQU EEDR6 00000006
|
|
EQU EEDR7 00000007
|
|
EQU EERE 00000000
|
|
EQU EEPE 00000001
|
|
EQU EEMPE 00000002
|
|
EQU EERIE 00000003
|
|
EQU EEPM0 00000004
|
|
EQU EEPM1 00000005
|
|
EQU WDTCSR 00000021
|
|
EQU WDP0 00000000
|
|
EQU WDP1 00000001
|
|
EQU WDP2 00000002
|
|
EQU WDE 00000003
|
|
EQU WDCE 00000004
|
|
EQU WDTOE 00000004
|
|
EQU WDP3 00000005
|
|
EQU WDIE 00000006
|
|
EQU WDIF 00000007
|
|
EQU TOIE0 00000001
|
|
EQU OCIE0B 00000003
|
|
EQU OCIE0A 00000004
|
|
EQU TOV0 00000001
|
|
EQU OCF0B 00000003
|
|
EQU OCF0A 00000004
|
|
EQU WGM00 00000000
|
|
EQU WGM01 00000001
|
|
EQU COM0B0 00000004
|
|
EQU COM0B1 00000005
|
|
EQU COM0A0 00000006
|
|
EQU COM0A1 00000007
|
|
EQU CS00 00000000
|
|
EQU CS01 00000001
|
|
EQU CS02 00000002
|
|
EQU WGM02 00000003
|
|
EQU FOC0B 00000006
|
|
EQU FOC0A 00000007
|
|
EQU TCNT0_0 00000000
|
|
EQU TCNT0_1 00000001
|
|
EQU TCNT0_2 00000002
|
|
EQU TCNT0_3 00000003
|
|
EQU TCNT0_4 00000004
|
|
EQU TCNT0_5 00000005
|
|
EQU TCNT0_6 00000006
|
|
EQU TCNT0_7 00000007
|
|
EQU OCR0_0 00000000
|
|
EQU OCR0_1 00000001
|
|
EQU OCR0_2 00000002
|
|
EQU OCR0_3 00000003
|
|
EQU OCR0_4 00000004
|
|
EQU OCR0_5 00000005
|
|
EQU OCR0_6 00000006
|
|
EQU OCR0_7 00000007
|
|
EQU PSR0 00000000
|
|
EQU TSM 00000007
|
|
EQU CS10 00000000
|
|
EQU CS11 00000001
|
|
EQU CS12 00000002
|
|
EQU CS13 00000003
|
|
EQU COM1A0 00000004
|
|
EQU COM1A1 00000005
|
|
EQU PWM1A 00000006
|
|
EQU CTC1 00000007
|
|
EQU TCNT1_0 00000000
|
|
EQU TCNT1_1 00000001
|
|
EQU TCNT1_2 00000002
|
|
EQU TCNT1_3 00000003
|
|
EQU TCNT1_4 00000004
|
|
EQU TCNT1_5 00000005
|
|
EQU TCNT1_6 00000006
|
|
EQU TCNT1_7 00000007
|
|
EQU OCR1A0 00000000
|
|
EQU OCR1A1 00000001
|
|
EQU OCR1A2 00000002
|
|
EQU OCR1A3 00000003
|
|
EQU OCR1A4 00000004
|
|
EQU OCR1A5 00000005
|
|
EQU OCR1A6 00000006
|
|
EQU OCR1A7 00000007
|
|
EQU OCR1B0 00000000
|
|
EQU OCR1B1 00000001
|
|
EQU OCR1B2 00000002
|
|
EQU OCR1B3 00000003
|
|
EQU OCR1B4 00000004
|
|
EQU OCR1B5 00000005
|
|
EQU OCR1B6 00000006
|
|
EQU OCR1B7 00000007
|
|
EQU OCR1C0 00000000
|
|
EQU OCR1C1 00000001
|
|
EQU OCR1C2 00000002
|
|
EQU OCR1C3 00000003
|
|
EQU OCR1C4 00000004
|
|
EQU OCR1C5 00000005
|
|
EQU OCR1C6 00000006
|
|
EQU OCR1C7 00000007
|
|
EQU TOIE1 00000002
|
|
EQU OCIE1B 00000005
|
|
EQU OCIE1A 00000006
|
|
EQU TOV1 00000002
|
|
EQU OCF1B 00000005
|
|
EQU OCF1A 00000006
|
|
EQU PSR1 00000001
|
|
EQU FOC1A 00000002
|
|
EQU FOC1B 00000003
|
|
EQU COM1B0 00000004
|
|
EQU COM1B1 00000005
|
|
EQU PWM1B 00000006
|
|
EQU DTPS0 00000000
|
|
EQU DTPS1 00000001
|
|
EQU DTVL0 00000000
|
|
EQU DTVL1 00000001
|
|
EQU DTVL2 00000002
|
|
EQU DTVL3 00000003
|
|
EQU DTVH0 00000004
|
|
EQU DTVH1 00000005
|
|
EQU DTVH2 00000006
|
|
EQU DTVH3 00000007
|
|
EQU SREG_C 00000000
|
|
EQU SREG_Z 00000001
|
|
EQU SREG_N 00000002
|
|
EQU SREG_V 00000003
|
|
EQU SREG_S 00000004
|
|
EQU SREG_H 00000005
|
|
EQU SREG_T 00000006
|
|
EQU SREG_I 00000007
|
|
EQU BODSE 00000002
|
|
EQU SM0 00000003
|
|
EQU SM1 00000004
|
|
EQU SE 00000005
|
|
EQU PUD 00000006
|
|
EQU BODS 00000007
|
|
EQU PORF 00000000
|
|
EQU EXTRF 00000001
|
|
EQU BORF 00000002
|
|
EQU WDRF 00000003
|
|
EQU PRADC 00000000
|
|
EQU PRUSI 00000001
|
|
EQU PRTIM0 00000002
|
|
EQU PRTIM1 00000003
|
|
EQU CAL0 00000000
|
|
EQU CAL1 00000001
|
|
EQU CAL2 00000002
|
|
EQU CAL3 00000003
|
|
EQU CAL4 00000004
|
|
EQU CAL5 00000005
|
|
EQU CAL6 00000006
|
|
EQU CAL7 00000007
|
|
EQU PLOCK 00000000
|
|
EQU PLLE 00000001
|
|
EQU PCKE 00000002
|
|
EQU LSM 00000007
|
|
EQU CLKPS0 00000000
|
|
EQU CLKPS1 00000001
|
|
EQU CLKPS2 00000002
|
|
EQU CLKPS3 00000003
|
|
EQU CLKPCE 00000007
|
|
EQU DWDR0 00000000
|
|
EQU DWDR1 00000001
|
|
EQU DWDR2 00000002
|
|
EQU DWDR3 00000003
|
|
EQU DWDR4 00000004
|
|
EQU DWDR5 00000005
|
|
EQU DWDR6 00000006
|
|
EQU DWDR7 00000007
|
|
EQU GPIOR20 00000000
|
|
EQU GPIOR21 00000001
|
|
EQU GPIOR22 00000002
|
|
EQU GPIOR23 00000003
|
|
EQU GPIOR24 00000004
|
|
EQU GPIOR25 00000005
|
|
EQU GPIOR26 00000006
|
|
EQU GPIOR27 00000007
|
|
EQU GPIOR10 00000000
|
|
EQU GPIOR11 00000001
|
|
EQU GPIOR12 00000002
|
|
EQU GPIOR13 00000003
|
|
EQU GPIOR14 00000004
|
|
EQU GPIOR15 00000005
|
|
EQU GPIOR16 00000006
|
|
EQU GPIOR17 00000007
|
|
EQU GPIOR00 00000000
|
|
EQU GPIOR01 00000001
|
|
EQU GPIOR02 00000002
|
|
EQU GPIOR03 00000003
|
|
EQU GPIOR04 00000004
|
|
EQU GPIOR05 00000005
|
|
EQU GPIOR06 00000006
|
|
EQU GPIOR07 00000007
|
|
EQU SPMEN 00000000
|
|
EQU PGERS 00000001
|
|
EQU PGWRT 00000002
|
|
EQU RFLB 00000003
|
|
EQU CTPB 00000004
|
|
EQU LB1 00000000
|
|
EQU LB2 00000001
|
|
EQU CKSEL0 00000000
|
|
EQU CKSEL1 00000001
|
|
EQU CKSEL2 00000002
|
|
EQU CKSEL3 00000003
|
|
EQU SUT0 00000004
|
|
EQU SUT1 00000005
|
|
EQU CKOUT 00000006
|
|
EQU CKDIV8 00000007
|
|
EQU BODLEVEL0 00000000
|
|
EQU BODLEVEL1 00000001
|
|
EQU BODLEVEL2 00000002
|
|
EQU EESAVE 00000003
|
|
EQU WDTON 00000004
|
|
EQU SPIEN 00000005
|
|
EQU DWEN 00000006
|
|
EQU RSTDISBL 00000007
|
|
EQU SELFPRGEN 00000000
|
|
DEF XH r27
|
|
DEF XL r26
|
|
DEF YH r29
|
|
DEF YL r28
|
|
DEF ZH r31
|
|
DEF ZL r30
|
|
EQU FLASHEND 000007ff
|
|
EQU IOEND 0000003f
|
|
EQU SRAM_START 00000060
|
|
EQU SRAM_SIZE 00000100
|
|
EQU RAMEND 0000015f
|
|
EQU XRAMEND 00000000
|
|
EQU E2END 000000ff
|
|
EQU EEPROMEND 000000ff
|
|
EQU EEADRBITS 00000008
|
|
EQU NRWW_START_ADDR 00000000
|
|
EQU NRWW_STOP_ADDR 000007ff
|
|
EQU RWW_START_ADDR 00000000
|
|
EQU RWW_STOP_ADDR 00000000
|
|
EQU PAGESIZE 00000020
|
|
EQU INT0addr 00000001
|
|
EQU PCI0addr 00000002
|
|
EQU OC1Aaddr 00000003
|
|
EQU OVF1addr 00000004
|
|
EQU OVF0addr 00000005
|
|
EQU ERDYaddr 00000006
|
|
EQU ACIaddr 00000007
|
|
EQU ADCCaddr 00000008
|
|
EQU OC1Baddr 00000009
|
|
EQU OC0Aaddr 0000000a
|
|
EQU OC0Baddr 0000000b
|
|
EQU WDTaddr 0000000c
|
|
EQU USI_STARTaddr 0000000d
|
|
EQU USI_OVFaddr 0000000e
|
|
EQU INT_VECTORS_SIZE 0000000f
|
|
DEF cycles r5
|
|
DEF t1 r16
|
|
DEF t2 r17
|
|
DEF t3 r18
|
|
DEF timer_secs r19
|
|
EQU ROAD_R_LED 00000000
|
|
EQU ROAD_Y_LED 00000001
|
|
EQU ROAD_G_LED 00000002
|
|
EQU WALK_R_LED 00000003
|
|
EQU WALK_G_LED 00000004
|
|
EQU LED_DIR 00000017
|
|
EQU LED_PORT 00000018
|
|
EQU MAX_CYCLES 00000002
|
|
EQU TIMER1_PRESCALE_MASK 0000000f
|
|
DSEG STATE 00000060
|
|
CSEG RESET_vect 00000004
|
|
CSEG TIMER1_COMPA 00000079
|
|
CSEG INIT 00000006
|
|
CSEG LOOP 0000001a
|
|
CSEG _S0 0000001c
|
|
CSEG _S1 0000002b
|
|
CSEG TIMER_ON 0000008a
|
|
CSEG _S0_TIMER 00000024
|
|
CSEG END 00000072
|
|
CSEG TIMER_OFF 00000083
|
|
CSEG _S2 0000003e
|
|
CSEG _S1_TIMER 00000035
|
|
CSEG DELAY 0000008e
|
|
CSEG MCU_SLEEP 00000073
|
|
CSEG _S3 00000055
|
|
CSEG _S2_TIMER 00000045
|
|
CSEG _CYCLE_DONE 00000048
|
|
CSEG _S2_NEXT 0000004e
|
|
CSEG _S4 00000062
|
|
CSEG _S3_TIMER 0000005c
|
|
CSEG _S4_TIMER 0000006c
|
|
CSEG _l1 00000091
|
|
CSEG _l0 00000092
|