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

📄 i2c.lst

📁 I2C AVR单片机使用I2C总线的例子
💻 LST
📖 第 1 页 / 共 2 页
字号:
(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 + -