📄 i2c.lst
字号:
(0139) at24_data=key2|(key1<<4);
010D 2D8C MOV R24,R12
010E 708F ANDI R24,0xF
010F 9582 SWAP R24
0110 2C2E MOV R2,R14
0111 2A28 OR R2,R24
0112 92200066 STS R2,_at24_data
(0140) }
(0141) index=01;
0114 E061 LDI R22,1
(0142) break;
0115 C018 RJMP 0x012E
(0143) }
(0144) case 1:{if (flag==0x00)
0116 20AA TST R10
0117 F459 BNE 0x0123
(0145) {key2=at24_add&0xf0;
0118 91800067 LDS R24,_at24_add
011A 7F80 ANDI R24,0xF0
011B 2EE8 MOV R14,R24
(0146) at24_add=key2|(key1&0x0f);
011C 2D8C MOV R24,R12
011D 708F ANDI R24,0xF
011E 2C2E MOV R2,R14
011F 2A28 OR R2,R24
0120 92200067 STS R2,_at24_add
(0147) }
0122 C00A RJMP 0x012D
(0148) else
(0149) {key2=at24_data&0xf0;
0123 91800066 LDS R24,_at24_data
0125 7F80 ANDI R24,0xF0
0126 2EE8 MOV R14,R24
(0150) at24_data=key2|(key1&0x0f);
0127 2D8C MOV R24,R12
0128 708F ANDI R24,0xF
0129 2C2E MOV R2,R14
012A 2A28 OR R2,R24
012B 92200066 STS R2,_at24_data
(0151) }
(0152) index=00;
012D 2766 CLR R22
(0153) break;
(0154) }
(0155) }
(0156) }
(0157) }
(0158) if (flag==0x00)
012E 20AA TST R10
012F F439 BNE 0x0137
(0159) at24_data=i2c_Read(at24_add);
0130 91000067 LDS R16,_at24_add
0132 DF18 RCALL _i2c_Read
0133 2E20 MOV R2,R16
0134 2E31 MOV R3,R17
0135 92200066 STS R2,_at24_data
(0160) display();
0137 DF31 RCALL _display
(0161) }
0138 CF97 RJMP 0x00D0
(0162) }FILE: <library>
0139 9508 RET
_wait:
013A 2700 CLR R16
013B C001 RJMP 0x013D
013C 9503 INC R16
013D 3001 CPI R16,1
013E F3E8 BCS 0x013C
013F 9508 RET
_Start:
0140 E083 LDI R24,3
0141 BB8A OUT P1A,R24
0142 9AD8 SBI P1B,0
0143 9AD9 SBI P1B,1
0144 DFF5 RCALL _wait
0145 98D8 CBI P1B,0
0146 DFF3 RCALL _wait
0147 98D9 CBI P1B,1
0148 9508 RET
_Stop:
0149 9AD9 SBI P1B,1
014A 98D8 CBI P1B,0
014B DFEE RCALL _wait
014C 9AD8 SBI P1B,0
014D DFEC RCALL _wait
014E 98D9 CBI P1B,1
014F 9508 RET
_NoAck:
0150 9AD8 SBI P1B,0
0151 9AD9 SBI P1B,1
0152 DFE7 RCALL _wait
0153 98D9 CBI P1B,1
0154 98D8 CBI P1B,0
0155 9508 RET
_TestAck:
0156 2700 CLR R16
0157 E082 LDI R24,2
0158 BB8A OUT P1A,R24
0159 9AD9 SBI P1B,1
015A B309 IN R16,P19
015B 7001 ANDI R16,1
015C 98D9 CBI P1B,1
015D 0000 NOP
015E E083 LDI R24,3
015F BB8A OUT P1A,R24
0160 2711 CLR R17
0161 9508 RET
_Read8Bit:
0162 D0F1 RCALL push_gset2
0163 2766 CLR R22
0164 E048 LDI R20,0x8
0165 C00D RJMP 0x0173
0166 E082 LDI R24,2
0167 BB8A OUT P1A,R24
0168 9AD8 SBI P1B,0
0169 DFD0 RCALL _wait
016A 9AD9 SBI P1B,1
016B 0F66 LSL R22
016C B389 IN R24,P19
016D 7081 ANDI R24,1
016E 2B68 OR R22,R24
016F 98D9 CBI P1B,1
0170 E083 LDI R24,3
0171 BB8A OUT P1A,R24
0172 954A DEC R20
0173 2344 TST R20
0174 F789 BNE 0x0166
0175 2F06 MOV R16,R22
0176 2711 CLR R17
0177 D0E5 RCALL pop_gset2
0178 9508 RET
_Write8Bit:
0179 D0DA RCALL push_gset2
017A 2F60 MOV R22,R16
017B E048 LDI R20,0x8
017C C00C RJMP 0x0189
017D 2F86 MOV R24,R22
017E 7880 ANDI R24,0x80
017F 3880 CPI R24,0x80
0180 F411 BNE 0x0183
0181 9AD8 SBI P1B,0
0182 C001 RJMP 0x0184
0183 98D8 CBI P1B,0
0184 9AD9 SBI P1B,1
0185 DFB4 RCALL _wait
0186 98D9 CBI P1B,1
0187 0F66 LSL R22
0188 954A DEC R20
0189 2344 TST R20
018A F791 BNE 0x017D
018B 98D8 CBI P1B,0
018C D0D0 RCALL pop_gset2
018D 9508 RET
_delay_1ms:
018E E001 LDI R16,1
018F E010 LDI R17,0
0190 C002 RJMP 0x0193
0191 5F0F SUBI R16,0xFF
0192 4F1F SBCI R17,0xFF
0193 3706 CPI R16,0x76
0194 E0E4 LDI R30,4
0195 071E CPC R17,R30
0196 F3D0 BCS 0x0191
0197 9508 RET
_delay_ms:
0198 D0BB RCALL push_gset2
0199 2F60 MOV R22,R16
019A 2F71 MOV R23,R17
019B 2744 CLR R20
019C 2755 CLR R21
019D C003 RJMP 0x01A1
019E DFEF RCALL _delay_1ms
019F 5F4F SUBI R20,0xFF
01A0 4F5F SBCI R21,0xFF
01A1 1746 CP R20,R22
01A2 0757 CPC R21,R23
01A3 F3D0 BCS 0x019E
01A4 D0B8 RCALL pop_gset2
01A5 9508 RET
_scan_key:
01A6 D0B3 RCALL push_gset4
01A7 24AA CLR R10
01A8 24BB CLR R11
01A9 E08F LDI R24,0xF
01AA BB84 OUT P14,R24
01AB EF8F LDI R24,0xFF
01AC BB85 OUT P15,R24
01AD B381 IN R24,P11
01AE 778F ANDI R24,0x7F
01AF BB81 OUT P11,R24
01B0 2744 CLR R20
01B1 C06F RJMP 0x0221
01B2 E001 LDI R16,1
01B3 2F14 MOV R17,R20
01B4 D0AC RCALL lsl8
01B5 2E20 MOV R2,R16
01B6 9420 COM R2
01B7 BA25 OUT P15,R2
01B8 DFD5 RCALL _delay_1ms
01B9 B383 IN R24,P13
01BA 7F80 ANDI R24,0xF0
01BB 2EC8 MOV R12,R24
01BC 9987 SBIC P10,7
01BD C002 RJMP 0x01C0
01BE 6081 ORI R24,1
01BF 2EC8 MOV R12,R24
01C0 2D8C MOV R24,R12
01C1 3F80 CPI R24,0xF0
01C2 F409 BNE 0x01C4
01C3 C05A RJMP 0x021E
01C4 E005 LDI R16,5
01C5 E010 LDI R17,0
01C6 DFD1 RCALL _delay_ms
01C7 B383 IN R24,P13
01C8 7F80 ANDI R24,0xF0
01C9 2EC8 MOV R12,R24
01CA 9987 SBIC P10,7
01CB C006 RJMP 0x01D2
01CC 6081 ORI R24,1
01CD 2EC8 MOV R12,R24
01CE E081 LDI R24,1
01CF E090 LDI R25,0
01D0 2EA8 MOV R10,R24
01D1 2EB9 MOV R11,R25
01D2 2D8C MOV R24,R12
01D3 3F80 CPI R24,0xF0
01D4 F409 BNE 0x01D6
01D5 C048 RJMP 0x021E
01D6 7F80 ANDI R24,0xF0
01D7 2EC8 MOV R12,R24
01D8 2D6C MOV R22,R12
01D9 2777 CLR R23
01DA 3B60 CPI R22,0xB0
01DB E0E0 LDI R30,0
01DC 077E CPC R23,R30
01DD F0F1 BEQ 0x01FC
01DE EB80 LDI R24,0xB0
01DF E090 LDI R25,0
01E0 1786 CP R24,R22
01E1 0797 CPC R25,R23
01E2 F02C BLT 0x01E8
01E3 3760 CPI R22,0x70
01E4 E0E0 LDI R30,0
01E5 077E CPC R23,R30
01E6 F071 BEQ 0x01F5
01E7 C029 RJMP 0x0211
01E8 3D60 CPI R22,0xD0
01E9 E0E0 LDI R30,0
01EA 077E CPC R23,R30
01EB F0B9 BEQ 0x0203
01EC 3D60 CPI R22,0xD0
01ED E0E0 LDI R30,0
01EE 077E CPC R23,R30
01EF F10C BLT 0x0211
01F0 3E60 CPI R22,0xE0
01F1 E0E0 LDI R30,0
01F2 077E CPC R23,R30
01F3 F0B1 BEQ 0x020A
01F4 C01C RJMP 0x0211
01F5 2E24 MOV R2,R20
01F6 0C22 LSL R2
01F7 0C22 LSL R2
01F8 E08F LDI R24,0xF
01F9 2EC8 MOV R12,R24
01FA 18C2 SUB R12,R2
01FB C017 RJMP 0x0213
01FC 2E24 MOV R2,R20
01FD 0C22 LSL R2
01FE 0C22 LSL R2
01FF E08E LDI R24,0xE
0200 2EC8 MOV R12,R24
0201 18C2 SUB R12,R2
0202 C010 RJMP 0x0213
0203 2E24 MOV R2,R20
0204 0C22 LSL R2
0205 0C22 LSL R2
0206 E08D LDI R24,0xD
0207 2EC8 MOV R12,R24
0208 18C2 SUB R12,R2
0209 C009 RJMP 0x0213
020A 2E24 MOV R2,R20
020B 0C22 LSL R2
020C 0C22 LSL R2
020D E08C LDI R24,0xC
020E 2EC8 MOV R12,R24
020F 18C2 SUB R12,R2
0210 C002 RJMP 0x0213
0211 E78F LDI R24,0x7F
0212 2EC8 MOV R12,R24
0213 E081 LDI R24,1
0214 E090 LDI R25,0
0215 16A8 CP R10,R24
0216 06B9 CPC R11,R25
0217 F419 BNE 0x021B
0218 2D8C MOV R24,R12
0219 6880 ORI R24,0x80
021A 2EC8 MOV R12,R24
021B 2D0C MOV R16,R12
021C 2711 CLR R17
021D C008 RJMP 0x0226
021E EF8F LDI R24,0xFF
021F BB85 OUT P15,R24
0220 9543 INC R20
0221 3044 CPI R20,4
0222 F408 BCC 0x0224
0223 CF8E RJMP 0x01B2
0224 E70F LDI R16,0x7F
0225 E010 LDI R17,0
0226 D038 RCALL pop_gset4
0227 9508 RET
mod8u:
0228 9468 BSET 6
0229 C001 RJMP 0x022B
div8u:
022A 94E8 BCLR 6
022B 92FA ST R15,-Y
022C 18FF SUB R15,R15
022D E029 LDI R18,0x9
022E 1F00 ROL R16
022F 952A DEC R18
0230 F421 BNE 0x0235
0231 F40E BRTC 0x0233
0232 2D0F MOV R16,R15
0233 90F9 LD R15,Y+
0234 9508 RET
0235 1CFF ROL R15
0236 1AF1 SUB R15,R17
0237 F418 BCC 0x023B
0238 0EF1 ADD R15,R17
0239 9488 BCLR 0
023A CFF3 RJMP 0x022E
023B 9408 BSET 0
023C CFF1 RJMP 0x022E
push_gset1:
023D 935A ST R21,-Y
023E 934A ST R20,-Y
023F 9508 RET
pop_gset1:
0240 E0E1 LDI R30,1
pop:
0241 9149 LD R20,Y+
0242 9159 LD R21,Y+
0243 FDE0 SBRC R30,0
0244 9508 RET
0245 9169 LD R22,Y+
0246 9179 LD R23,Y+
0247 FDE1 SBRC R30,1
0248 9508 RET
0249 90A9 LD R10,Y+
024A 90B9 LD R11,Y+
024B FDE2 SBRC R30,2
024C 9508 RET
024D 90C9 LD R12,Y+
024E 90D9 LD R13,Y+
024F FDE3 SBRC R30,3
0250 9508 RET
0251 90E9 LD R14,Y+
0252 90F9 LD R15,Y+
0253 9508 RET
push_gset2:
0254 937A ST R23,-Y
0255 936A ST R22,-Y
0256 CFE6 RJMP push_gset1
push_gset3:
0257 92BA ST R11,-Y
0258 92AA ST R10,-Y
0259 CFFA RJMP push_gset2
push_gset4:
025A 92DA ST R13,-Y
025B 92CA ST R12,-Y
025C CFFA RJMP push_gset3
pop_gset2:
025D E0E2 LDI R30,2
025E CFE2 RJMP pop
pop_gset4:
025F E0E8 LDI R30,0x8
0260 CFE0 RJMP pop
lsl8:
0261 2311 TST R17
0262 F019 BEQ 0x0266
0263 0F00 LSL R16
0264 951A DEC R17
0265 CFFB RJMP lsl8
0266 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -