📄 8255扩展.lis
字号:
00A2 0BEF ldi R16,251
00A4 C3DF xcall _w8255a
00A6 .dbline 50
00A6 ; delay_nms(50);
00A6 02E3 ldi R16,50
00A8 10E0 ldi R17,0
00AA D9DF xcall _delay_nms
00AC .dbline 51
00AC ; w8255a(0xf7);
00AC 07EF ldi R16,247
00AE BEDF xcall _w8255a
00B0 .dbline 52
00B0 ; delay_nms(50);
00B0 02E3 ldi R16,50
00B2 10E0 ldi R17,0
00B4 D4DF xcall _delay_nms
00B6 .dbline 53
00B6 ; w8255a(0xef);
00B6 0FEE ldi R16,239
00B8 B9DF xcall _w8255a
00BA .dbline 54
00BA ; delay_nms(50);
00BA 02E3 ldi R16,50
00BC 10E0 ldi R17,0
00BE CFDF xcall _delay_nms
00C0 .dbline 55
00C0 ; w8255a(0xdf);
00C0 0FED ldi R16,223
00C2 B4DF xcall _w8255a
00C4 .dbline 56
00C4 ; delay_nms(50);
00C4 02E3 ldi R16,50
00C6 10E0 ldi R17,0
00C8 CADF xcall _delay_nms
00CA .dbline 57
00CA ; w8255a(0xbf);
00CA 0FEB ldi R16,191
00CC AFDF xcall _w8255a
00CE .dbline 58
00CE ; delay_nms(50);
00CE 02E3 ldi R16,50
00D0 10E0 ldi R17,0
00D2 C5DF xcall _delay_nms
00D4 .dbline 59
00D4 ; w8255a(0x7f);
00D4 0FE7 ldi R16,127
00D6 AADF xcall _w8255a
00D8 .dbline 60
00D8 ; delay_nms(50);}
00D8 02E3 ldi R16,50
00DA 10E0 ldi R17,0
00DC C0DF xcall _delay_nms
00DE .dbline 60
00DE 02C0 xjmp L19
00E0 L18:
00E0 .dbline 62
00E0 ; else
00E0 ; w8255a(0xff);
00E0 0FEF ldi R16,255
00E2 A4DF xcall _w8255a
00E4 L19:
00E4 .dbline 64
00E4 ;
00E4 ; if((r8255b()&0x02)==0)
00E4 ACDF xcall _r8255b
00E6 C801 movw R24,R16
00E8 8270 andi R24,2
00EA 9070 andi R25,0
00EC 8030 cpi R24,0
00EE 8907 cpc R24,R25
00F0 49F5 brne L20
00F2 X1:
00F2 .dbline 65
00F2 ; {w8255a(0x7f);
00F2 .dbline 65
00F2 0FE7 ldi R16,127
00F4 9BDF xcall _w8255a
00F6 .dbline 66
00F6 ; delay_nms(50);
00F6 02E3 ldi R16,50
00F8 10E0 ldi R17,0
00FA B1DF xcall _delay_nms
00FC .dbline 67
00FC ; w8255a(0x3f);
00FC 0FE3 ldi R16,63
00FE 96DF xcall _w8255a
0100 .dbline 68
0100 ; delay_nms(50);
0100 02E3 ldi R16,50
0102 10E0 ldi R17,0
0104 ACDF xcall _delay_nms
0106 .dbline 69
0106 ; w8255a(0x1f);
0106 0FE1 ldi R16,31
0108 91DF xcall _w8255a
010A .dbline 70
010A ; delay_nms(50);
010A 02E3 ldi R16,50
010C 10E0 ldi R17,0
010E A7DF xcall _delay_nms
0110 .dbline 71
0110 ; w8255a(0x0f);
0110 0FE0 ldi R16,15
0112 8CDF xcall _w8255a
0114 .dbline 72
0114 ; delay_nms(50);
0114 02E3 ldi R16,50
0116 10E0 ldi R17,0
0118 A2DF xcall _delay_nms
011A .dbline 73
011A ; w8255a(0x07);
011A 07E0 ldi R16,7
011C 87DF xcall _w8255a
011E .dbline 74
011E ; delay_nms(50);
011E 02E3 ldi R16,50
0120 10E0 ldi R17,0
0122 9DDF xcall _delay_nms
0124 .dbline 75
0124 ; w8255a(0x03);
0124 03E0 ldi R16,3
0126 82DF xcall _w8255a
0128 .dbline 76
0128 ; delay_nms(50);
0128 02E3 ldi R16,50
012A 10E0 ldi R17,0
012C 98DF xcall _delay_nms
012E .dbline 77
012E ; w8255a(0x01);
012E 01E0 ldi R16,1
0130 7DDF xcall _w8255a
0132 .dbline 78
0132 ; delay_nms(50);
0132 02E3 ldi R16,50
0134 10E0 ldi R17,0
0136 93DF xcall _delay_nms
0138 .dbline 79
0138 ; w8255a(0x00);
0138 0027 clr R16
013A 78DF xcall _w8255a
013C .dbline 80
013C ; delay_nms(50);}
013C 02E3 ldi R16,50
013E 10E0 ldi R17,0
0140 8EDF xcall _delay_nms
0142 .dbline 80
0142 02C0 xjmp L21
0144 L20:
0144 .dbline 82
0144 ; else
0144 ; w8255a(0xff);
0144 0FEF ldi R16,255
0146 72DF xcall _w8255a
0148 L21:
0148 .dbline 84
0148 ;
0148 ; if((r8255b()&0x04)==0)
0148 7ADF xcall _r8255b
014A C801 movw R24,R16
014C 8470 andi R24,4
014E 9070 andi R25,0
0150 8030 cpi R24,0
0152 8907 cpc R24,R25
0154 F9F4 brne L22
0156 X2:
0156 .dbline 85
0156 ; {w8255a(0x00);
0156 .dbline 85
0156 0027 clr R16
0158 69DF xcall _w8255a
015A .dbline 86
015A ; delay_nms(20);
015A 04E1 ldi R16,20
015C 10E0 ldi R17,0
015E 7FDF xcall _delay_nms
0160 .dbline 87
0160 ; w8255a(0xff);
0160 0FEF ldi R16,255
0162 64DF xcall _w8255a
0164 .dbline 88
0164 ; delay_nms(20);
0164 04E1 ldi R16,20
0166 10E0 ldi R17,0
0168 7ADF xcall _delay_nms
016A .dbline 89
016A ; w8255a(0x00);
016A 0027 clr R16
016C 5FDF xcall _w8255a
016E .dbline 90
016E ; delay_nms(20);
016E 04E1 ldi R16,20
0170 10E0 ldi R17,0
0172 75DF xcall _delay_nms
0174 .dbline 91
0174 ; w8255a(0xff);
0174 0FEF ldi R16,255
0176 5ADF xcall _w8255a
0178 .dbline 92
0178 ; delay_nms(20);
0178 04E1 ldi R16,20
017A 10E0 ldi R17,0
017C 70DF xcall _delay_nms
017E .dbline 93
017E ; w8255a(0x00);
017E 0027 clr R16
0180 55DF xcall _w8255a
0182 .dbline 94
0182 ; delay_nms(20);
0182 04E1 ldi R16,20
0184 10E0 ldi R17,0
0186 6BDF xcall _delay_nms
0188 .dbline 95
0188 ; w8255a(0xff);
0188 0FEF ldi R16,255
018A 50DF xcall _w8255a
018C .dbline 96
018C ; delay_nms(20);}
018C 04E1 ldi R16,20
018E 10E0 ldi R17,0
0190 66DF xcall _delay_nms
0192 .dbline 96
0192 02C0 xjmp L23
0194 L22:
0194 .dbline 98
0194 ; else
0194 ; w8255a(0xff);
0194 0FEF ldi R16,255
0196 4ADF xcall _w8255a
0198 L23:
0198 .dbline 99
0198 L16:
0198 .dbline 43
0198 73CF xjmp L15
019A X3:
019A .dbline -2
019A L14:
019A .dbline 0 ; func end
019A 0895 ret
019C .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -