📄 migalka.lst
字号:
00007a Microphone: .byte 1
00007b Speeds: .byte 16
;========================================================
.CSEG
.ORG 0x0000
000000 c0ad rjmp Start
000001 c011 rjmp AC_Int ; INT 0
000002 9518 reti ; INT 1
000003 9518 reti ; TIMER2 COMP
000004 c074 rjmp IntSync ; TIMER2 OVF
000005 9518 reti ; TIMER1 CAPT
000006 9518 reti ; TIMER1 COMPA
000007 9518 reti ; TIMER1 COMPB
000008 9518 reti ; TIMER1 OVF
000009 c07f rjmp PWM_reg ; TIMER0 OVF
00000a 9518 reti ; SPI, STC
00000b 9518 reti ; USART RXC
00000c 9518 reti ; USART UDRIE
00000d 9518 reti ; USART TXC
00000e 9518 reti ; ADC
00000f 9518 reti ; EE_RDY
000010 9518 reti ; ANA COMP
000011 9518 reti ; TWI
000012 9518 reti ; SPM RDY
;--------------------------------------------------------
000013 98a8 AC_Int: cbi PORTC,PC0
000014 98a9 cbi PORTC,PC1
000015 98aa cbi PORTC,PC2
000016 98ab cbi PORTC,PC3
000017 930f push R16
000018 b70f in R16,SREG
000019 930f push R16
00001a 931f push R17
00001b 2700 clr R16
00001c 9300 006d sts AC_Flag,R16
00001e 9300 006c sts PWM_cnt,R16
000020 9100 0064 lds R16,ValCh0_
000022 9300 0060 sts ValCh0,R16
000024 9100 0065 lds R16,ValCh1_
000026 9300 0061 sts ValCh1,R16
000028 9100 0066 lds R16,ValCh2_
00002a 9300 0062 sts ValCh2,R16
00002c 9100 0067 lds R16,ValCh3_
00002e 9300 0063 sts ValCh3,R16
000030 9100 0072 lds R16,EEPFlag
000032 3000 cpi R16,0x00
000033 f019 breq AC_int1
000034 950a dec R16
000035 9300 0072 sts EEPFlag,R16
000037 2700 AC_int1: clr R16
000038 9a8d sbi DDRD,PD5
000039 9a95 sbi PORTD,PD5
00003a 988e cbi DDRD,PD6
00003b 9896 cbi PORTD,PD6
00003c 988f cbi DDRD,PD7
00003d 9897 cbi PORTD,PD7
00003e 0000 nop
00003f 0000 nop
000040 9986 sbic PIND,PD6
000041 6001 ori R16,0x01
000042 9987 sbic PIND,PD7
000043 6002 ori R16,0x02
000044 988d cbi DDRD,PD5
000045 9895 cbi PORTD,PD5
000046 9a8e sbi DDRD,PD6
000047 9a96 sbi PORTD,PD6
000048 988f cbi DDRD,PD7
000049 9897 cbi PORTD,PD7
00004a 0000 nop
00004b 0000 nop
00004c 9985 sbic PIND,PD5
00004d 6008 ori R16,0x08
00004e 9987 sbic PIND,PD7
00004f 6004 ori R16,0x04
000050 988d cbi DDRD,PD5
000051 9895 cbi PORTD,PD5
000052 988e cbi DDRD,PD6
000053 9896 cbi PORTD,PD6
000054 9a8f sbi DDRD,PD7
000055 9a97 sbi PORTD,PD7
000056 0000 nop
000057 0000 nop
000058 9985 sbic PIND,PD5
000059 6200 ori R16,0x20
00005a 9986 sbic PIND,PD6
00005b 6100 ori R16,0x10
00005c ff00 sbrs R16,0
00005d 2744 clr KeyCnt1
00005e ff01 sbrs R16,1
00005f 2755 clr KeyCnt2
000060 ff02 sbrs R16,2
000061 2766 clr KeyCnt3
000062 ff03 sbrs R16,3
000063 2777 clr KeyCnt4
000064 ff04 sbrs R16,4
000065 2788 clr KeyCnt5
000066 ff05 sbrs R16,5
000067 2799 clr KeyCnt6
000068 fd00 sbrc R16,0
000069 9543 inc KeyCnt1
00006a fd01 sbrc R16,1
00006b 9553 inc KeyCnt2
00006c fd02 sbrc R16,2
00006d 9563 inc KeyCnt3
00006e fd03 sbrc R16,3
00006f 9573 inc KeyCnt4
000070 fd04 sbrc R16,4
000071 9583 inc KeyCnt5
000072 fd05 sbrc R16,5
000073 9593 inc KeyCnt6
000074 911f Ac_int_ex: pop R17
000075 910f pop R16
000076 bf0f out SREG,R16
000077 910f pop R16
000078 9518 reti
;--------------------------------------------------------
000079 930f IntSync: push R16
00007a b70f in R16,SREG
00007b 930f push R16
00007c ef0f ldi R16,0xff
00007d 9300 006e sts IntFlag,R16
00007f 910f pop R16
000080 bf0f out SREG,R16
000081 910f pop R16
000082 9518 reti
;--------------------------------------------------------
000083 930f Mic_Int: push R16
000084 ef0f ldi R16,0xFF
000085 9300 006f sts MicFlag,R16
000087 910f pop R16
000088 9518 reti
;--------------------------------------------------------
000089 930f PWM_reg: push R16
00008a b70f in R16,SREG
00008b 930f push R16
00008c e60d ldi R16,100+2+1+2+2+2
00008d bf02 out TCNT0,R16
00008e 931f push R17
00008f 9110 006c lds R17,PWM_cnt
000091 951a dec R17
000092 f011 breq PWM_reg_1
000093 9310 006c sts PWM_cnt,R17
000095 9100 0060 PWM_reg_1: lds R16,ValCh0
000097 1701 cp R16,R17
000098 f409 brne PWM_cnt_1
000099 9aa8 sbi PORTC,PC0
00009a 9100 0061 PWM_cnt_1: lds R16,ValCh1
00009c 1701 cp R16,R17
00009d f409 brne PWM_cnt_2
00009e 9aa9 sbi PORTC,PC1
00009f 9100 0062 PWM_cnt_2: lds R16,ValCh2
0000a1 1701 cp R16,R17
0000a2 f409 brne PWM_cnt_3
0000a3 9aaa sbi PORTC,PC2
0000a4 9100 0063 PWM_cnt_3: lds R16,ValCh3
0000a6 1701 cp R16,R17
0000a7 f409 brne PWM_reg_Ex
0000a8 9aab sbi PORTC,PC3
0000a9 911f PWM_reg_Ex: pop R17
0000aa 910f pop R16
0000ab bf0f out SREG,R16
0000ac 910f pop R16
0000ad 9518 reti
;--------------------------------------------------------
0000ae e004 Start: ldi R16,High(RAMEND)
0000af bf0e out SPH,R16
0000b0 e50f ldi R16,Low(RAMEND)
0000b1 bf0d out SPL,R16
0000b2 2700 clr R16
0000b3 9300 0060 sts ValCh0,R16
0000b5 9300 0061 sts ValCh1,R16
0000b7 9300 0062 sts ValCh2,R16
0000b9 9300 0063 sts ValCh3,R16
0000bb 9300 0064 sts ValCh0_,R16
0000bd 9300 0065 sts ValCh1_,R16
0000bf 9300 0066 sts ValCh2_,R16
0000c1 9300 0067 sts ValCh3_,R16
0000c3 9300 0068 sts CntCh0,R16
0000c5 9300 0069 sts CntCh1,R16
0000c7 9300 006a sts CntCh2,R16
0000c9 9300 006b sts CntCh3,R16
0000cb 9300 006c sts PWM_cnt,R16
0000cd 9300 006d sts AC_Flag,R16
0000cf 2744 clr KeyCnt1
0000d0 2755 clr KeyCnt2
0000d1 2766 clr KeyCnt3
0000d2 2777 clr KeyCnt4
0000d3 2788 clr KeyCnt5
0000d4 2799 clr KeyCnt6
0000d5 2700 clr R16
0000d6 9300 0072 sts EEPFlag,R16
0000d8 9300 0073 sts EEPWr,R16
0000da 9300 0071 sts Endofprog,R16
0000dc e00a ldi R16,LoopProg
0000dd 9300 0070 sts LoopPrg,R16
0000df ef0f ldi R16,0xff
0000e0 9300 0077 sts PWMflag,R16
0000e2 e000 ldi R16,0x00
0000e3 9300 0078 sts AutoMode,R16
0000e5 e000 ldi R16,0x00
0000e6 9300 007a sts Microphone,R16
0000e8 e000 ldi R16,0x00
0000e9 9300 0079 sts ProgNum,R16
0000eb 2700 clr R16
0000ec 9300 0074 sts ProgSt,R16
0000ee 9300 0075 sts ProgBit,R16
0000f0 9300 0076 sts ProgValue,R16
0000f2 d1ca rcall RestoreEEP
0000f3 9aa0 sbi DDRC,PC0
0000f4 9aa1 sbi DDRC,PC1
0000f5 9aa2 sbi DDRC,PC2
0000f6 9aa3 sbi DDRC,PC3
;----- Setup Timer 2 ------------------------------------
0000f7 e001 ldi R16,0x01
0000f8 bd05 out TCCR2,R16
0000f9 e000 ldi R16,0x00
0000fa bd02 out ASSR,R16
;----- Setup Timer 0 ------------------------------------
0000fb e001 ldi R16,0x01
0000fc bf03 out TCCR0,R16
;----- Setup interrupts ---------------------------------
0000fd b709 in R16,TIMSK
0000fe 6401 ori R16,0x41
0000ff bf09 out TIMSK,R16
000100 b705 in R16,MCUCR
000101 6006 ori R16,0x06
000102 bf05 out MCUCR,R16
000103 b70b in R16,GICR
000104 6c00 ori R16,0xc0
000105 bf0b out GICR,R16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -