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

📄 no2.lst

📁 12864LCD液晶仿真
💻 LST
📖 第 1 页 / 共 3 页
字号:
     220 01C7      MOVW	R24,R14
     221 3081      CPI	R24,1
     222 E0E0      LDI	R30,0
     223 079E      CPC	R25,R30
     224 F069      BEQ	0x0232
     225 3082      CPI	R24,2
     226 E0E0      LDI	R30,0
     227 079E      CPC	R25,R30
     228 F069      BEQ	0x0236
     229 3083      CPI	R24,3
     22A E0E0      LDI	R30,0
     22B 079E      CPC	R25,R30
     22C F069      BEQ	0x023A
     22D 3084      CPI	R24,4
     22E E0E0      LDI	R30,0
     22F 079E      CPC	R25,R30
     230 F061      BEQ	0x023D
     231 C00D      RJMP	0x023F
(0283) 	{case 1:
(0284) 	  time_flag = 1; break;
     232 2400      CLR	R0
     233 9403      INC	R0
     234 820C      STD	Y+4,R0
     235 C009      RJMP	0x023F
(0285) 	 case 2:
(0286) 	  alarm_flag= 1; break;
     236 2400      CLR	R0
     237 9403      INC	R0
     238 820D      STD	Y+5,R0
     239 C005      RJMP	0x023F
(0287) 	 case 3:
(0288) 	   m=1; break;
     23A 24CC      CLR	R12
     23B 94C3      INC	R12
     23C C002      RJMP	0x023F
(0289) 	 case 4:
(0290) 	   n=1; break;
     23D 24AA      CLR	R10
     23E 94A3      INC	R10
(0291) 	 default:
(0292) 	  ;
(0293) 
(0294) 	}
(0295) 
(0296)    //时间设置
(0297)    Lcd_Character_16X16( time_flag, 0, 0, time_logo[3] );
     23F EC80      LDI	R24,0xC0
     240 E090      LDI	R25,0
     241 839B      STD	Y+3,R25
     242 838A      STD	Y+2,R24
     243 2422      CLR	R2
     244 8228      STD	Y+0,R2
     245 2722      CLR	R18
     246 810C      LDD	R16,Y+4
     247 DF33      RCALL	_Lcd_Character_16X16
(0298)    Lcd_Character_16X16( time_flag, 0, 16, time_logo[1] );
     248 E880      LDI	R24,0x80
     249 E090      LDI	R25,0
     24A 839B      STD	Y+3,R25
     24B 838A      STD	Y+2,R24
     24C E180      LDI	R24,0x10
     24D 8388      STD	Y+0,R24
     24E 2722      CLR	R18
     24F 810C      LDD	R16,Y+4
     250 DF2A      RCALL	_Lcd_Character_16X16
(0299)    Lcd_Character_16X16( time_flag, 0, 32, time_logo[2] );
     251 EA80      LDI	R24,0xA0
     252 E090      LDI	R25,0
     253 839B      STD	Y+3,R25
     254 838A      STD	Y+2,R24
     255 E280      LDI	R24,0x20
     256 8388      STD	Y+0,R24
     257 2722      CLR	R18
     258 810C      LDD	R16,Y+4
     259 DF21      RCALL	_Lcd_Character_16X16
(0300)    Lcd_Character_16X16( time_flag, 0, 48, menu[0] );
     25A E080      LDI	R24,0
     25B E091      LDI	R25,1
     25C 839B      STD	Y+3,R25
     25D 838A      STD	Y+2,R24
     25E E380      LDI	R24,0x30
     25F 8388      STD	Y+0,R24
     260 2722      CLR	R18
     261 810C      LDD	R16,Y+4
     262 DF18      RCALL	_Lcd_Character_16X16
(0301)    //闹钟设置
(0302)    Lcd_Character_16X16( alarm_flag, 2, 0, time_logo[3] );
     263 EC80      LDI	R24,0xC0
     264 E090      LDI	R25,0
     265 839B      STD	Y+3,R25
     266 838A      STD	Y+2,R24
     267 2422      CLR	R2
     268 8228      STD	Y+0,R2
     269 E022      LDI	R18,2
     26A 810D      LDD	R16,Y+5
     26B DF0F      RCALL	_Lcd_Character_16X16
(0303)    Lcd_Character_16X16( alarm_flag, 2, 16, time_logo[1] );
     26C E880      LDI	R24,0x80
     26D E090      LDI	R25,0
     26E 839B      STD	Y+3,R25
     26F 838A      STD	Y+2,R24
     270 E180      LDI	R24,0x10
     271 8388      STD	Y+0,R24
     272 E022      LDI	R18,2
     273 810D      LDD	R16,Y+5
     274 DF06      RCALL	_Lcd_Character_16X16
(0304)    Lcd_Character_16X16( alarm_flag, 2, 32, time_logo[2] );
     275 EA80      LDI	R24,0xA0
     276 E090      LDI	R25,0
     277 839B      STD	Y+3,R25
     278 838A      STD	Y+2,R24
     279 E280      LDI	R24,0x20
     27A 8388      STD	Y+0,R24
     27B E022      LDI	R18,2
     27C 810D      LDD	R16,Y+5
     27D DEFD      RCALL	_Lcd_Character_16X16
(0305)    Lcd_Character_16X16( alarm_flag, 2, 48, menu[1] );
     27E E280      LDI	R24,0x20
     27F E091      LDI	R25,1
     280 839B      STD	Y+3,R25
     281 838A      STD	Y+2,R24
     282 E380      LDI	R24,0x30
     283 8388      STD	Y+0,R24
     284 E022      LDI	R18,2
     285 810D      LDD	R16,Y+5
     286 DEF4      RCALL	_Lcd_Character_16X16
(0306)    
(0307)    Lcd_Character_16X16( m, 4, 0, time_logo[3] );
     287 EC80      LDI	R24,0xC0
     288 E090      LDI	R25,0
     289 839B      STD	Y+3,R25
     28A 838A      STD	Y+2,R24
     28B 2422      CLR	R2
     28C 8228      STD	Y+0,R2
     28D E024      LDI	R18,4
     28E 2D0C      MOV	R16,R12
     28F DEEB      RCALL	_Lcd_Character_16X16
(0308)    Lcd_Character_16X16( m, 4, 16, time_logo[1] );
     290 E880      LDI	R24,0x80
     291 E090      LDI	R25,0
     292 839B      STD	Y+3,R25
     293 838A      STD	Y+2,R24
     294 E180      LDI	R24,0x10
     295 8388      STD	Y+0,R24
     296 E024      LDI	R18,4
     297 2D0C      MOV	R16,R12
     298 DEE2      RCALL	_Lcd_Character_16X16
(0309)    Lcd_Character_16X16( m, 4, 32, time_logo[2] );
     299 EA80      LDI	R24,0xA0
     29A E090      LDI	R25,0
     29B 839B      STD	Y+3,R25
     29C 838A      STD	Y+2,R24
     29D E280      LDI	R24,0x20
     29E 8388      STD	Y+0,R24
     29F E024      LDI	R18,4
     2A0 2D0C      MOV	R16,R12
     2A1 DED9      RCALL	_Lcd_Character_16X16
(0310)    Lcd_Character_16X16( m, 4, 48, menu[2] );
     2A2 E480      LDI	R24,0x40
     2A3 E091      LDI	R25,1
     2A4 839B      STD	Y+3,R25
     2A5 838A      STD	Y+2,R24
     2A6 E380      LDI	R24,0x30
     2A7 8388      STD	Y+0,R24
     2A8 E024      LDI	R18,4
     2A9 2D0C      MOV	R16,R12
     2AA DED0      RCALL	_Lcd_Character_16X16
(0311)    
(0312)    Lcd_Character_16X16( n, 6, 0, time_logo[3] );
     2AB EC80      LDI	R24,0xC0
     2AC E090      LDI	R25,0
     2AD 839B      STD	Y+3,R25
     2AE 838A      STD	Y+2,R24
     2AF 2422      CLR	R2
     2B0 8228      STD	Y+0,R2
     2B1 E026      LDI	R18,6
     2B2 2D0A      MOV	R16,R10
     2B3 DEC7      RCALL	_Lcd_Character_16X16
(0313)    Lcd_Character_16X16( n, 6, 16, time_logo[1] );
     2B4 E880      LDI	R24,0x80
     2B5 E090      LDI	R25,0
     2B6 839B      STD	Y+3,R25
     2B7 838A      STD	Y+2,R24
     2B8 E180      LDI	R24,0x10
     2B9 8388      STD	Y+0,R24
     2BA E026      LDI	R18,6
     2BB 2D0A      MOV	R16,R10
     2BC DEBE      RCALL	_Lcd_Character_16X16
(0314)    Lcd_Character_16X16( n, 6, 32, time_logo[2] );
     2BD EA80      LDI	R24,0xA0
     2BE E090      LDI	R25,0
     2BF 839B      STD	Y+3,R25
     2C0 838A      STD	Y+2,R24
     2C1 E280      LDI	R24,0x20
     2C2 8388      STD	Y+0,R24
     2C3 E026      LDI	R18,6
     2C4 2D0A      MOV	R16,R10
     2C5 DEB5      RCALL	_Lcd_Character_16X16
(0315)    Lcd_Character_16X16( n, 6, 48, menu[3] );
     2C6 E680      LDI	R24,0x60
     2C7 E091      LDI	R25,1
     2C8 839B      STD	Y+3,R25
     2C9 838A      STD	Y+2,R24
     2CA E380      LDI	R24,0x30
     2CB 8388      STD	Y+0,R24
     2CC E026      LDI	R18,6
     2CD 2D0A      MOV	R16,R10
     2CE DEAC      RCALL	_Lcd_Character_16X16
     2CF 9626      ADIW	R28,6
     2D0 940C 030D JMP	pop_xgset00FC
(0316) }
(0317) void main()
(0318) {
(0319)     unsigned int i,j,k=1;
_main:
  j                    --> R12
  i                    --> R12
  k                    --> R10
     2D2 E081      LDI	R24,1
     2D3 E090      LDI	R25,0
     2D4 015C      MOVW	R10,R24
(0320)    //init_port();//自己加,主要是控制线所在端口为输出
(0321)     DDRB = 0xff; 
     2D5 EF8F      LDI	R24,0xFF
     2D6 BB87      OUT	0x17,R24
(0322) 	Lcd_Function(1);
     2D7 E001      LDI	R16,1
     2D8 DF3D      RCALL	_Lcd_Function
     2D9 C02C      RJMP	0x0306
(0323) 	
(0324) 	while(1)
(0325) 	{   i=key_press();
     2DA DEF3      RCALL	_key_press
     2DB 2EC0      MOV	R12,R16
     2DC 24DD      CLR	R13
(0326) 	if(i)
     2DD 20CC      TST	R12
     2DE F411      BNE	0x02E1
     2DF 20DD      TST	R13
     2E0 F129      BEQ	0x0306
(0327) 	{
(0328) 	 j=key_scan();
     2E1 DEFD      RCALL	_key_scan
     2E2 2EC0      MOV	R12,R16
     2E3 24DD      CLR	R13
(0329) 	switch(j)
     2E4 01C6      MOVW	R24,R12
     2E5 3081      CPI	R24,1
     2E6 E0E0      LDI	R30,0
     2E7 079E      CPC	R25,R30
     2E8 F029      BEQ	0x02EE
     2E9 3082      CPI	R24,2
     2EA E0E0      LDI	R30,0
     2EB 079E      CPC	R25,R30
     2EC F029      BEQ	0x02F2
     2ED C007      RJMP	0x02F5
(0330) 	  {
(0331) 	   case 1: 
(0332) 	       k=k+1;
     2EE 01C5      MOVW	R24,R10
     2EF 9601      ADIW	R24,1
     2F0 015C      MOVW	R10,R24
(0333) 		   break;
     2F1 C003      RJMP	0x02F5
(0334) 	   case 2:
(0335) 	       k=k-1;
     2F2 01C5      MOVW	R24,R10
     2F3 9701      SBIW	R24,1
     2F4 015C      MOVW	R10,R24
(0336) 		   break;
(0337) 		default:
(0338) 		;
(0339) 		
(0340) 	  }  
(0341) 	  
(0342) 	 if(k>4) k=1;
     2F5 E084      LDI	R24,4
     2F6 E090      LDI	R25,0
     2F7 158A      CP	R24,R10
     2F8 059B      CPC	R25,R11
     2F9 F410      BCC	0x02FC
     2FA E081      LDI	R24,1
     2FB 015C      MOVW	R10,R24
(0343) 	 if(k<1) k=4;
     2FC 01C5      MOVW	R24,R10
     2FD 3081      CPI	R24,1
     2FE E0E0      LDI	R30,0
     2FF 079E      CPC	R25,R30
     300 F418      BCC	0x0304
     301 E084      LDI	R24,4
     302 E090      LDI	R25,0
     303 015C      MOVW	R10,R24
(0344)      
(0345) 	Lcd_Function(k);
FILE: <library>
     304 2D0A      MOV	R16,R10
     305 DF10      RCALL	_Lcd_Function
     306 CFD3      RJMP	0x02DA
     307 9508      RET
pop_xgset003C:
     308 90A9      LD	R10,Y+
     309 90B9      LD	R11,Y+
     30A 90C9      LD	R12,Y+
     30B 90D9      LD	R13,Y+
     30C 9508      RET
pop_xgset00FC:
     30D 90A9      LD	R10,Y+
     30E 90B9      LD	R11,Y+
     30F 90C9      LD	R12,Y+
     310 90D9      LD	R13,Y+
     311 90E9      LD	R14,Y+
     312 90F9      LD	R15,Y+
     313 9508      RET
push_xgsetF0FC:
     314 937A      ST	R23,-Y
     315 936A      ST	R22,-Y
push_xgset30FC:
     316 935A      ST	R21,-Y
     317 934A      ST	R20,-Y
push_xgset00FC:
     318 92FA      ST	R15,-Y
     319 92EA      ST	R14,-Y
push_xgset003C:
     31A 92DA      ST	R13,-Y
     31B 92CA      ST	R12,-Y
     31C 92BA      ST	R11,-Y
     31D 92AA      ST	R10,-Y
     31E 9508      RET

⌨️ 快捷键说明

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