⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 migalka.lst

📁 Lamp switcher. (4 channels with PWM)
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -