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

📄 ac15-1.lst

📁 AVR学习资料
💻 LST
📖 第 1 页 / 共 3 页
字号:
    022D 0000      NOP
    022E 0000      NOP
    022F 0000      NOP
(0234) start();				
    0230 DF04      RCALL	_start
(0235) command=160;			
    0231 EA80      LDI	R24,0xA0
    0232 2EA8      MOV	R10,R24
(0236) shift8(command);		
    0233 2F08      MOV	R16,R24
    0234 DF5A      RCALL	_shift8
(0237) ack();				
    0235 DF44      RCALL	_ack
(0238) shift8(a);				
    0236 2F06      MOV	R16,R22
    0237 DF57      RCALL	_shift8
(0239) ack();				
    0238 DF41      RCALL	_ack
(0240) shift8(b);				
    0239 2F04      MOV	R16,R20
    023A DF54      RCALL	_shift8
(0241) ack();				
    023B DF3E      RCALL	_ack
(0242) stop();				
    023C DF1F      RCALL	_stop
(0243) Some_NOP();
    023D 0000      NOP
    023E 0000      NOP
    023F 0000      NOP
    0240 0000      NOP
    0241 0000      NOP
    0242 0000      NOP
    0243 0000      NOP
    0244 0000      NOP
    0245 940E033F  CALL	pop_gset3
    0247 9508      RET
_delay_iic:
  i                    --> R20
  n                    --> R16
    0248 940E034D  CALL	push_gset1
(0244) }					
(0245) //**************延时子函数***********
(0246) void delay_iic(int n)		
(0247) {					
(0248) int i;				
(0249) for(i=1;i<n;i++){;}		
    024A E041      LDI	R20,1
    024B E050      LDI	R21,0
    024C C002      RJMP	0x024F
    024D 5F4F      SUBI	R20,0xFF
    024E 4F5F      SBCI	R21,0xFF
    024F 1740      CP	R20,R16
    0250 0751      CPC	R21,R17
    0251 F3DC      BLT	0x024D
    0252 940E0350  CALL	pop_gset1
    0254 9508      RET
_main:
  key_val              --> R10
  rd_val               --> R22
  wr_val               --> R20
    0255 9722      SBIW	R28,2
(0250) }					
(0251) //******************************************
(0252) void main(void)				
(0253) {
(0254)  	 uchar key_val,wr_val=0,rd_val=0;	
    0256 2744      CLR	R20
    0257 2766      CLR	R22
(0255) 	 port_init();
    0258 DEB7      RCALL	_port_init
(0256)     Delay_nms(400);			
    0259 E900      LDI	R16,0x90
    025A E011      LDI	R17,1
    025B DEA5      RCALL	_Delay_nms
(0257) 	InitLcd();				
    025C DE42      RCALL	_InitLcd
(0258) 	LcdWriteCommand(0x01,1); 
    025D E021      LDI	R18,1
    025E E001      LDI	R16,1
    025F DE61      RCALL	_LcdWriteCommand
(0259) 	LcdWriteCommand(0x0c,1);	
    0260 E021      LDI	R18,1
    0261 E00C      LDI	R16,0xC
    0262 DE5E      RCALL	_LcdWriteCommand
(0260) 	ePutstr(0,0,str0);  
    0263 E584      LDI	R24,0x54
    0264 E090      LDI	R25,0
    0265 8399      STD	Y+1,R25
    0266 8388      STD	Y+0,R24
    0267 2722      CLR	R18
    0268 2700      CLR	R16
    0269 DDEA      RCALL	_ePutstr
(0261) 	Delay_nms(10);
    026A E00A      LDI	R16,0xA
    026B E010      LDI	R17,0
    026C DE94      RCALL	_Delay_nms
(0262) 	ePutstr(0,1,str1);   
    026D E58D      LDI	R24,0x5D
    026E E090      LDI	R25,0
    026F 8399      STD	Y+1,R25
    0270 8388      STD	Y+0,R24
    0271 E021      LDI	R18,1
    0272 2700      CLR	R16
    0273 DDE0      RCALL	_ePutstr
(0263) 	Delay_nms(10);
    0274 E00A      LDI	R16,0xA
    0275 E010      LDI	R17,0
    0276 DE8A      RCALL	_Delay_nms
    0277 C0A9      RJMP	0x0321
(0264) 	/********************************************/
(0265) 		while(1)           
(0266) 		{
(0267) 		  DisplayOneChar(9,0,wr_val/100+0x30);
    0278 E614      LDI	R17,0x64
    0279 2F04      MOV	R16,R20
    027A 940E0326  CALL	div8u
    027C 2F80      MOV	R24,R16
    027D 5D80      SUBI	R24,0xD0
    027E 8388      STD	Y+0,R24
    027F 2722      CLR	R18
    0280 E009      LDI	R16,0x9
    0281 DE11      RCALL	_DisplayOneChar
(0268) 		   Delay_nms(10);
    0282 E00A      LDI	R16,0xA
    0283 E010      LDI	R17,0
    0284 DE7C      RCALL	_Delay_nms
(0269) 		   DisplayOneChar(10,0,(wr_val/10)%10+0x30); 
    0285 E01A      LDI	R17,0xA
    0286 2F04      MOV	R16,R20
    0287 940E0326  CALL	div8u
    0289 E01A      LDI	R17,0xA
    028A 940E0324  CALL	mod8u
    028C 2F80      MOV	R24,R16
    028D 5D80      SUBI	R24,0xD0
    028E 8388      STD	Y+0,R24
    028F 2722      CLR	R18
    0290 E00A      LDI	R16,0xA
    0291 DE01      RCALL	_DisplayOneChar
(0270) 		   Delay_nms(10); 
    0292 E00A      LDI	R16,0xA
    0293 E010      LDI	R17,0
    0294 DE6C      RCALL	_Delay_nms
(0271) 		   DisplayOneChar(11,0,wr_val%10+0x30);	  
    0295 E01A      LDI	R17,0xA
    0296 2F04      MOV	R16,R20
    0297 940E0324  CALL	mod8u
    0299 2F80      MOV	R24,R16
    029A 5D80      SUBI	R24,0xD0
    029B 8388      STD	Y+0,R24
    029C 2722      CLR	R18
    029D E00B      LDI	R16,0xB
    029E DDF4      RCALL	_DisplayOneChar
(0272) 		   Delay_nms(10); 
    029F E00A      LDI	R16,0xA
    02A0 E010      LDI	R17,0
    02A1 DE5F      RCALL	_Delay_nms
(0273) 	   
(0274) 		   DisplayOneChar(8,1,rd_val/100+0x30);	  
    02A2 E614      LDI	R17,0x64
    02A3 2F06      MOV	R16,R22
    02A4 940E0326  CALL	div8u
    02A6 2F80      MOV	R24,R16
    02A7 5D80      SUBI	R24,0xD0
    02A8 8388      STD	Y+0,R24
    02A9 E021      LDI	R18,1
    02AA E008      LDI	R16,0x8
    02AB DDE7      RCALL	_DisplayOneChar
(0275) 		   Delay_nms(10); 
    02AC E00A      LDI	R16,0xA
    02AD E010      LDI	R17,0
    02AE DE52      RCALL	_Delay_nms
(0276) 		   DisplayOneChar(9,1,(rd_val/10%10)+0x30);	 
    02AF E01A      LDI	R17,0xA
    02B0 2F06      MOV	R16,R22
    02B1 940E0326  CALL	div8u
    02B3 E01A      LDI	R17,0xA
    02B4 940E0324  CALL	mod8u
    02B6 2F80      MOV	R24,R16
    02B7 5D80      SUBI	R24,0xD0
    02B8 8388      STD	Y+0,R24
    02B9 E021      LDI	R18,1
    02BA E009      LDI	R16,0x9
    02BB DDD7      RCALL	_DisplayOneChar
(0277) 		   Delay_nms(10); 
    02BC E00A      LDI	R16,0xA
    02BD E010      LDI	R17,0
    02BE DE42      RCALL	_Delay_nms
(0278) 		   DisplayOneChar(10,1,rd_val%10+0x30);	 
    02BF E01A      LDI	R17,0xA
    02C0 2F06      MOV	R16,R22
    02C1 940E0324  CALL	mod8u
    02C3 2F80      MOV	R24,R16
    02C4 5D80      SUBI	R24,0xD0
    02C5 8388      STD	Y+0,R24
    02C6 E021      LDI	R18,1
    02C7 E00A      LDI	R16,0xA
    02C8 DDCA      RCALL	_DisplayOneChar
(0279) 		   Delay_nms(10); 
    02C9 E00A      LDI	R16,0xA
    02CA E010      LDI	R17,0
    02CB DE35      RCALL	_Delay_nms
(0280) 		   
(0281) 		   key_val=scan_key();
    02CC DE50      RCALL	_scan_key
    02CD 2EA0      MOV	R10,R16
(0282) 		   switch(key_val)
    02CE 2CCA      MOV	R12,R10
    02CF 24DD      CLR	R13
    02D0 01C6      MOVW	R24,R12
    02D1 3B8F      CPI	R24,0xBF
    02D2 E0E0      LDI	R30,0
    02D3 079E      CPC	R25,R30
    02D4 F111      BEQ	0x02F7
    02D5 EB8F      LDI	R24,0xBF
    02D6 158C      CP	R24,R12
    02D7 059D      CPC	R25,R13
    02D8 F034      BLT	0x02DF
    02D9 01C6      MOVW	R24,R12
    02DA 378F      CPI	R24,0x7F
    02DB E0E0      LDI	R30,0
    02DC 079E      CPC	R25,R30
    02DD F129      BEQ	0x0303
    02DE C02F      RJMP	0x030E
    02DF 01C6      MOVW	R24,R12
    02E0 3D8F      CPI	R24,0xDF
    02E1 E0E0      LDI	R30,0
    02E2 079E      CPC	R25,R30
    02E3 F071      BEQ	0x02F2
    02E4 3D8F      CPI	R24,0xDF
    02E5 E0E0      LDI	R30,0
    02E6 079E      CPC	R25,R30
    02E7 F134      BLT	0x030E
    02E8 01C6      MOVW	R24,R12
    02E9 3E8F      CPI	R24,0xEF
    02EA E0E0      LDI	R30,0
    02EB 079E      CPC	R25,R30
    02EC F009      BEQ	0x02EE
    02ED C020      RJMP	0x030E
(0283) 	   	   {				
(0284) 	   	   	case 0xef:if(wr_val<255)wr_val++;break;
    02EE 3F4F      CPI	R20,0xFF
    02EF F4F0      BCC	0x030E
    02F0 9543      INC	R20
    02F1 C01C      RJMP	0x030E
(0285) 	   		case 0xdf:if(wr_val>0)wr_val--;break;
    02F2 2422      CLR	R2
    02F3 1624      CP	R2,R20
    02F4 F4C8      BCC	0x030E
    02F5 954A      DEC	R20
    02F6 C017      RJMP	0x030E
(0286) 	   		case 0xbf:wr_24c01(10,wr_val);delay_iic(2500);
    02F7 2F24      MOV	R18,R20
    02F8 E00A      LDI	R16,0xA
    02F9 DF1E      RCALL	_wr_24c01
    02FA EC04      LDI	R16,0xC4
    02FB E019      LDI	R17,0x9
    02FC DF4B      RCALL	_delay_iic
(0287) 				 DisplayOneChar(15,0,0xef);break;	
    02FD EE8F      LDI	R24,0xEF
    02FE 8388      STD	Y+0,R24
    02FF 2722      CLR	R18
    0300 E00F      LDI	R16,0xF
    0301 DD91      RCALL	_DisplayOneChar
    0302 C00B      RJMP	0x030E
(0288) 	   		case 0x7f:rd_val=rd_24c01(10);delay_iic(2500);
    0303 E00A      LDI	R16,0xA
    0304 DEB6      RCALL	_rd_24c01
    0305 2F60      MOV	R22,R16
    0306 EC04      LDI	R16,0xC4
    0307 E019      LDI	R17,0x9
    0308 DF3F      RCALL	_delay_iic
(0289) 			     DisplayOneChar(15,1,0xef);break;	
    0309 EE8F      LDI	R24,0xEF
    030A 8388      STD	Y+0,R24
    030B E021      LDI	R18,1
    030C E00F      LDI	R16,0xF
    030D DD85      RCALL	_DisplayOneChar
(0290) 	   		default:break;		
(0291) 	   		}				
(0292) 			Delay_nms(200); 
    030E EC08      LDI	R16,0xC8
    030F E010      LDI	R17,0
    0310 DDF0      RCALL	_Delay_nms
(0293) 			DisplayOneChar(15,0,0x20);Delay_nms(10); 
    0311 E280      LDI	R24,0x20
    0312 8388      STD	Y+0,R24
    0313 2722      CLR	R18
    0314 E00F      LDI	R16,0xF
    0315 DD7D      RCALL	_DisplayOneChar
    0316 E00A      LDI	R16,0xA
    0317 E010      LDI	R17,0
    0318 DDE8      RCALL	_Delay_nms
(0294) 			DisplayOneChar(15,1,0x20);Delay_nms(10); 
FILE: <library>
    0319 E280      LDI	R24,0x20
    031A 8388      STD	Y+0,R24
    031B E021      LDI	R18,1
    031C E00F      LDI	R16,0xF
    031D DD75      RCALL	_DisplayOneChar
    031E E00A      LDI	R16,0xA
    031F E010      LDI	R17,0
    0320 DDE0      RCALL	_Delay_nms
    0321 CF56      RJMP	0x0278
    0322 9622      ADIW	R28,2
    0323 9508      RET
mod8u:
    0324 9468      BSET	6
    0325 C001      RJMP	xdiv8u
div8u:
    0326 94E8      BCLR	6
xdiv8u:
    0327 932A      ST	R18,-Y
    0328 92FA      ST	R15,-Y
    0329 92EA      ST	R14,-Y
    032A 24FF      CLR	R15
    032B 24EE      CLR	R14
    032C E120      LDI	R18,0x10
    032D 0F00      LSL	R16
    032E 1CFF      ROL	R15
    032F 1CEE      ROL	R14
    0330 16E1      CP	R14,R17
    0331 F010      BCS	0x0334
    0332 1AE1      SUB	R14,R17
    0333 9503      INC	R16
    0334 952A      DEC	R18
    0335 F7B9      BNE	0x032D
    0336 F40E      BRTC	0x0338
    0337 2D0E      MOV	R16,R14
    0338 90E9      LD	R14,Y+
    0339 90F9      LD	R15,Y+
    033A 9129      LD	R18,Y+
    033B 9508      RET
pop_gset2:
    033C E0E2      LDI	R30,2
    033D 940C0351  JMP	pop
pop_gset3:
    033F E0E4      LDI	R30,4
    0340 940C0351  JMP	pop
pop_gset5:
    0342 27EE      CLR	R30
    0343 940C0351  JMP	pop
push_gset5:
    0345 92FA      ST	R15,-Y
    0346 92EA      ST	R14,-Y
push_gset4:
    0347 92DA      ST	R13,-Y
    0348 92CA      ST	R12,-Y
push_gset3:
    0349 92BA      ST	R11,-Y
    034A 92AA      ST	R10,-Y
push_gset2:
    034B 937A      ST	R23,-Y
    034C 936A      ST	R22,-Y
push_gset1:
    034D 935A      ST	R21,-Y
    034E 934A      ST	R20,-Y
    034F 9508      RET
pop_gset1:
    0350 E0E1      LDI	R30,1
pop:
    0351 9149      LD	R20,Y+
    0352 9159      LD	R21,Y+
    0353 FDE0      SBRC	R30,0
    0354 9508      RET
    0355 9169      LD	R22,Y+
    0356 9179      LD	R23,Y+
    0357 FDE1      SBRC	R30,1
    0358 9508      RET
    0359 90A9      LD	R10,Y+
    035A 90B9      LD	R11,Y+
    035B FDE2      SBRC	R30,2
    035C 9508      RET
    035D 90C9      LD	R12,Y+
    035E 90D9      LD	R13,Y+
    035F FDE3      SBRC	R30,3
    0360 9508      RET
    0361 90E9      LD	R14,Y+
    0362 90F9      LD	R15,Y+
    0363 9508      RET

⌨️ 快捷键说明

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