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

📄 leson3.lis

📁 rewtr y vruutuyukyuj
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 008E                   .dbend
 008E                   .dbfunc e senddata _senddata fV
 008E           ;              i -> R20
 008E           ;           data -> R16,R17
                        .even
 008E           _senddata::
 008E 00D0              rcall push_gset1
 0090                   .dbline -1
 0090                   .dbline 110
 0090           ;   {
 0090           ;   NOP();NOP();NOP();NOP();
 0090           ;   }
 0090           ; }
 0090           ; void  senddata(uint data)               //  dm13a(led 驱动子程序)
 0090           ; {
 0090                   .dbline 112
 0090           ; uchar i;
 0090           ; for(i=0;i<16;i++)
 0090 4427              clr R20
 0092 0DC0              rjmp L29
 0094           L26:
 0094                   .dbline 113
 0094           ; {
 0094                   .dbline 114
 0094           ; PORTD&=~0x10; 
 0094 9498              cbi 0x12,4
 0096                   .dbline 115
 0096           ; NOP();
 0096 0000              nop
 0098                   .dbline 116
 0098           ; if(data&0x8000)
 0098 17FF              sbrs R17,7
 009A 02C0              rjmp L30
 009C                   .dbline 117
 009C           ; PORTD|=0x20;                                                          //置位操作
 009C 959A              sbi 0x12,5
 009E 01C0              rjmp L31
 00A0           L30:
 00A0                   .dbline 119
 00A0           ; else  
 00A0           ; PORTD&=~0x20;                                                                 //清零操作
 00A0 9598              cbi 0x12,5
 00A2           L31:
 00A2                   .dbline 120
 00A2 0000              nop
 00A4                   .dbline 121
 00A4 949A              sbi 0x12,4
 00A6                   .dbline 122
 00A6 0000              nop
 00A8                   .dbline 123
 00A8 000F              lsl R16
 00AA 111F              rol R17
 00AC                   .dbline 124
 00AC           L27:
 00AC                   .dbline 112
 00AC 4395              inc R20
 00AE           L29:
 00AE                   .dbline 112
 00AE 4031              cpi R20,16
 00B0 88F3              brlo L26
 00B2                   .dbline 125
 00B2           ; NOP();
 00B2           ; PORTD|=0x10;
 00B2           ; NOP();
 00B2           ; data=data<<1;
 00B2           ; }                                                                             
 00B2           ; PORTD|=0x08;
 00B2 939A              sbi 0x12,3
 00B4                   .dbline 126
 00B4           ; NOP();
 00B4 0000              nop
 00B6                   .dbline 127
 00B6           ; PORTD&=~0x08;
 00B6 9398              cbi 0x12,3
 00B8                   .dbline -2
 00B8           L25:
 00B8 00D0              rcall pop_gset1
 00BA                   .dbline 0 ; func end
 00BA 0895              ret
 00BC                   .dbsym r i 20 c
 00BC                   .dbsym r data 16 i
 00BC                   .dbend
 00BC                   .dbfunc e main _main fV
 00BC           ;              m -> R20,R21
 00BC           ;              j -> y+0
 00BC           ;              n -> R10,R11
 00BC           ;              k -> R12,R13
 00BC           ;              i -> R14
 00BC           ;              h -> R22
                        .even
 00BC           _main::
 00BC 2297              sbiw R28,2
 00BE                   .dbline -1
 00BE                   .dbline 134
 00BE           ; 
 00BE           ; //PORTD|=(1<<PORTD5);                                                                                 //置位操作
 00BE           ; //PORTD&=~(1<<PORTD5);                                                                                        //清零操作
 00BE           ; }
 00BE           ; 
 00BE           ; void main() 
 00BE           ; {
 00BE                   .dbline 136
 00BE           ; 
 00BE           ; DDRD|=0x38;
 00BE 81B3              in R24,0x11
 00C0 8863              ori R24,56
 00C2 81BB              out 0x11,R24
 00C4                   .dbline 137
 00C4           ; DDRB|=0x40;
 00C4 BE9A              sbi 0x17,6
 00C6                   .dbline 141
 00C6           ; 
 00C6           ; 
 00C6           ; 
 00C6           ; WDT_off();
 00C6 9CDF              rcall _WDT_off
 00C8                   .dbline 143
 00C8           ; 
 00C8           ; USART_Init(9600);
 00C8 00E8              ldi R16,9600
 00CA 15E2              ldi R17,37
 00CC A4DF              rcall _USART_Init
 00CE                   .dbline 144
 00CE           ; PORTB|=0x40;
 00CE C69A              sbi 0x18,6
 00D0                   .dbline 145
 00D0           ; delayms(20);
 00D0 04E1              ldi R16,20
 00D2 10E0              ldi R17,0
 00D4 B9DF              rcall _delayms
 00D6                   .dbline 146
 00D6           ; delayms(20);
 00D6 04E1              ldi R16,20
 00D8 10E0              ldi R17,0
 00DA B6DF              rcall _delayms
 00DC                   .dbline 147
 00DC           ; delayms(20);
 00DC 04E1              ldi R16,20
 00DE 10E0              ldi R17,0
 00E0 B3DF              rcall _delayms
 00E2 BBC0              rjmp L34
 00E4           L33:
 00E4                   .dbline 149
 00E4           ; while(1)
 00E4           ; {      
 00E4                   .dbline 152
 00E4           ; uchar i;
 00E4           ; uchar h;
 00E4           ; uint  j=0x0001;
 00E4 81E0              ldi R24,1
 00E6 90E0              ldi R25,0
 00E8 9983              std y+1,R25
 00EA 8883              std y+0,R24
 00EC                   .dbline 153
 00EC           ; uint  k=0xffff;
 00EC 8FEF              ldi R24,65535
 00EE 9FEF              ldi R25,255
 00F0 C82E              mov R12,R24
 00F2 D92E              mov R13,R25
 00F4                   .dbline 154
 00F4           ; uint  m=0x4000;
 00F4 40E0              ldi R20,16384
 00F6 50E4              ldi R21,64
 00F8                   .dbline 155
 00F8           ; uint  n=0xffff;
 00F8 A82E              mov R10,R24
 00FA B92E              mov R11,R25
 00FC                   .dbline 159
 00FC           ; 
 00FC           ; 
 00FC           ;               
 00FC           ;       USART_Transmit(0x55);
 00FC 05E5              ldi R16,85
 00FE 96DF              rcall _USART_Transmit
 0100                   .dbline 163
 0100           ; 
 0100           ; 
 0100           ;               
 0100           ;       for(i=0;i<16;i++)
 0100 EE24              clr R14
 0102 12C0              rjmp L39
 0104           L36:
 0104                   .dbline 164
 0104                   .dbline 165
 0104 0881              ldd R16,y+0
 0106 1981              ldd R17,y+1
 0108 C2DF              rcall _senddata
 010A                   .dbline 166
 010A 04E1              ldi R16,20
 010C 10E0              ldi R17,0
 010E 9CDF              rcall _delayms
 0110                   .dbline 167
 0110 0880              ldd R0,y+0
 0112 1980              ldd R1,y+1
 0114 000C              lsl R0
 0116 111C              rol R1
 0118 1982              std y+1,R1
 011A 0882              std y+0,R0
 011C                   .dbline 168
 011C 802D              mov R24,R0
 011E 912D              mov R25,R1
 0120 0196              adiw R24,1
 0122 9983              std y+1,R25
 0124 8883              std y+0,R24
 0126                   .dbline 169
 0126           L37:
 0126                   .dbline 163
 0126 E394              inc R14
 0128           L39:
 0128                   .dbline 163
 0128 8E2D              mov R24,R14
 012A 8031              cpi R24,16
 012C 58F3              brlo L36
 012E                   .dbline 171
 012E           ;               {
 012E           ;               senddata(j);
 012E           ;               delayms(20);                    //左到右逐渐亮
 012E           ;               j=j<<1;
 012E           ;               j=j+1;
 012E           ;               }
 012E           ; 
 012E           ;       USART_Transmit(0x66);
 012E 06E6              ldi R16,102
 0130 7DDF              rcall _USART_Transmit
 0132                   .dbline 173
 0132           ;               
 0132           ;       for(i=0;i<15;i++)               //左到右逐渐灭
 0132 EE24              clr R14
 0134 3AC0              rjmp L43
 0136           L40:
 0136                   .dbline 174
 0136           ;               {
 0136                   .dbline 175
 0136           ;               if((i>5)&&(i<10))
 0136 85E0              ldi R24,5
 0138 8E15              cp R24,R14
 013A B8F4              brsh L44
 013C 8E2D              mov R24,R14
 013E 8A30              cpi R24,10
 0140 A0F4              brsh L44
 0142                   .dbline 176
 0142           ;               {
 0142                   .dbline 177
 0142           ;               for(h=0;h<20;h++)
 0142 6627              clr R22
 0144 0DC0              rjmp L49
 0146           L46:
 0146                   .dbline 178
 0146                   .dbline 179
 0146 0C2D              mov R16,R12
 0148 1D2D              mov R17,R13
 014A A1DF              rcall _senddata
 014C                   .dbline 180
 014C 00E2              ldi R16,800
 014E 13E0              ldi R17,3
 0150 8FDF              rcall _delayus
 0152                   .dbline 181
 0152 0027              clr R16
 0154 1127              clr R17
 0156 9BDF              rcall _senddata
 0158                   .dbline 182
 0158 08EC              ldi R16,200
 015A 10E0              ldi R17,0
 015C 89DF              rcall _delayus
 015E                   .dbline 183
 015E           L47:
 015E                   .dbline 177
 015E 6395              inc R22
 0160           L49:
 0160                   .dbline 177
 0160 6431              cpi R22,20
 0162 88F3              brlo L46
 0164                   .dbline 184
 0164           ;               {
 0164           ;               senddata(k);
 0164           ;               delayus(800);
 0164           ;               senddata(0x00);
 0164           ;               delayus(200);
 0164           ;               }
 0164           ;               k=k<<1;
 0164 CC0C              lsl R12
 0166 DD1C              rol R13
 0168                   .dbline 185
 0168           ;               }
 0168 1FC0              rjmp L45
 016A           L44:
 016A                   .dbline 186
 016A           ;               else if(i>10)
 016A 8AE0              ldi R24,10
 016C 8E15              cp R24,R14
 016E A0F4              brsh L50

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -