📄 leson1.lis
字号:
006C E4E0 ldi R30,4
006E 7E07 cpc R23,R30
0070 D0F3 brlo L16
0072 .dbline 101
0072 L13:
0072 .dbline 98
0072 4F5F subi R20,255 ; offset = 1
0074 5F4F sbci R21,255
0076 L15:
0076 .dbline 98
0076 4017 cp R20,R16
0078 5107 cpc R21,R17
007A 90F3 brlo L12
007C .dbline -2
007C L11:
007C 00D0 rcall pop_gset2
007E .dbline 0 ; func end
007E 0895 ret
0080 .dbsym r i 20 i
0080 .dbsym r j 22 i
0080 .dbsym r ms 16 i
0080 .dbend
0080 .dbfunc e senddata _senddata fV
0080 ; i -> R20
0080 ; data -> R16,R17
.even
0080 _senddata::
0080 00D0 rcall push_gset1
0082 .dbline -1
0082 .dbline 105
0082 ; for(j=0;j<1141;j++);
0082 ; }
0082 ; }
0082 ;
0082 ; void senddata(uint data)
0082 ; {
0082 .dbline 107
0082 ; uchar i;
0082 ; for(i=0;i<15;i++)
0082 4427 clr R20
0084 0CC0 rjmp L24
0086 L21:
0086 .dbline 108
0086 ; {
0086 .dbline 109
0086 ; PORTD&=~(1<<PD4);
0086 9498 cbi 0x12,4
0088 .dbline 110
0088 ; NOP();
0088 0000 nop
008A .dbline 111
008A ; if(data&0x8000)PORTD|=(1<<PD5); //置位操作
008A 17FF sbrs R17,7
008C 02C0 rjmp L25
008E .dbline 111
008E 959A sbi 0x12,5
0090 01C0 rjmp L26
0092 L25:
0092 .dbline 112
0092 ; else PORTD&=~(1<<PD5); //清零操作
0092 9598 cbi 0x12,5
0094 L26:
0094 .dbline 114
0094 949A sbi 0x12,4
0096 .dbline 115
0096 0000 nop
0098 .dbline 116
0098 000F lsl R16
009A 111F rol R17
009C .dbline 117
009C L22:
009C .dbline 107
009C 4395 inc R20
009E L24:
009E .dbline 107
009E 4F30 cpi R20,15
00A0 90F3 brlo L21
00A2 .dbline 118
00A2 ;
00A2 ; PORTD|=(1<<PD4);
00A2 ; NOP();
00A2 ; data=data<<1;
00A2 ; }
00A2 ; PORTD|=(1<<PD3);
00A2 939A sbi 0x12,3
00A4 .dbline 119
00A4 ; NOP();
00A4 0000 nop
00A6 .dbline 120
00A6 ; NOP();
00A6 0000 nop
00A8 .dbline 121
00A8 ; NOP();
00A8 0000 nop
00AA .dbline 122
00AA ; PORTD&=~(1<<PD3);
00AA 9398 cbi 0x12,3
00AC .dbline -2
00AC L20:
00AC 00D0 rcall pop_gset1
00AE .dbline 0 ; func end
00AE 0895 ret
00B0 .dbsym r i 20 c
00B0 .dbsym r data 16 i
00B0 .dbend
00B0 .dbfunc e main _main fV
00B0 ; k -> R20,R21
00B0 ; i -> R10
00B0 ; j -> R22,R23
.even
00B0 _main::
00B0 .dbline -1
00B0 .dbline 130
00B0 ;
00B0 ;
00B0 ; //PORTD|=(1<<PORTD5); //置位操作
00B0 ; //PORTD&=~(1<<PORTD5); //清零操作
00B0 ; }
00B0 ;
00B0 ; void main()
00B0 ; {
00B0 .dbline 132
00B0 ; uchar i;
00B0 ; uint j=0x0001;
00B0 61E0 ldi R22,1
00B2 70E0 ldi R23,0
00B4 .dbline 133
00B4 ; uint k=0x7fff;
00B4 4FEF ldi R20,32767
00B6 5FE7 ldi R21,127
00B8 .dbline 135
00B8 ;
00B8 ; DDRD=0x38;
00B8 88E3 ldi R24,56
00BA 81BB out 0x11,R24
00BC .dbline 137
00BC ;
00BC ; WDT_off();
00BC A1DF rcall _WDT_off
00BE .dbline 138
00BE ; USART_Init(9600);
00BE 00E8 ldi R16,9600
00C0 15E2 ldi R17,37
00C2 B7DF rcall _USART_Init
00C4 20C0 rjmp L29
00C6 L28:
00C6 .dbline 141
00C6 ;
00C6 ; while(1)
00C6 ; {
00C6 .dbline 143
00C6 ;
00C6 ; USART_Transmit(0x55);
00C6 05E5 ldi R16,85
00C8 BFDF rcall _USART_Transmit
00CA .dbline 146
00CA ;
00CA ;
00CA ; for(i=0;i<15;i++)
00CA AA24 clr R10
00CC 0BC0 rjmp L34
00CE L31:
00CE .dbline 147
00CE .dbline 148
00CE 062F mov R16,R22
00D0 172F mov R17,R23
00D2 D6DF rcall _senddata
00D4 .dbline 149
00D4 08EC ldi R16,200
00D6 10E0 ldi R17,0
00D8 BFDF rcall _delay
00DA .dbline 150
00DA 660F lsl R22
00DC 771F rol R23
00DE .dbline 151
00DE 6F5F subi R22,255 ; offset = 1
00E0 7F4F sbci R23,255
00E2 .dbline 152
00E2 L32:
00E2 .dbline 146
00E2 A394 inc R10
00E4 L34:
00E4 .dbline 146
00E4 8A2D mov R24,R10
00E6 8F30 cpi R24,15
00E8 90F3 brlo L31
00EA .dbline 154
00EA ; {
00EA ; senddata(j);
00EA ; delay(200);
00EA ; j=j<<1;
00EA ; j=j+1;
00EA ; }
00EA ;
00EA ; for(i=0;i<15;i++)
00EA AA24 clr R10
00EC 09C0 rjmp L38
00EE L35:
00EE .dbline 155
00EE .dbline 156
00EE 042F mov R16,R20
00F0 152F mov R17,R21
00F2 C6DF rcall _senddata
00F4 .dbline 157
00F4 08EC ldi R16,200
00F6 10E0 ldi R17,0
00F8 AFDF rcall _delay
00FA .dbline 158
00FA 5695 lsr R21
00FC 4795 ror R20
00FE .dbline 159
00FE L36:
00FE .dbline 154
00FE A394 inc R10
0100 L38:
0100 .dbline 154
0100 8A2D mov R24,R10
0102 8F30 cpi R24,15
0104 A0F3 brlo L35
0106 .dbline 162
0106 L29:
0106 .dbline 140
0106 DFCF rjmp L28
0108 X0:
0108 .dbline -2
0108 L27:
0108 .dbline 0 ; func end
0108 0895 ret
010A .dbsym r k 20 i
010A .dbsym r i 10 c
010A .dbsym r j 22 i
010A .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -