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

📄 displa.lst

📁 工控计数器ICCAVR的MAGE8程序LED数码显示+4键
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0161 918001D9  LDS	R24,intemp
    0163 3081      CPI	R24,1
    0164 F409      BNE	0x0166
    0165 9A5C      SBI	0x0B,4
(0127) 	if(intemp>=2)            { PORTD|= BIT(5);}
    0166 918001D9  LDS	R24,intemp
    0168 3082      CPI	R24,2
    0169 F008      BCS	0x016B
    016A 9A5D      SBI	0x0B,5
(0128) 	sandchar_display(co,co);
    016B E020      LDI	R18,0
    016C E031      LDI	R19,1
    016D E000      LDI	R16,0
    016E E011      LDI	R17,1
    016F D655      RCALL	_sandchar_display
(0129) 	display_flash(135,0,1); 
    0170 E081      LDI	R24,1
    0171 8388      STD	Y+0,R24
    0172 2722      CLR	R18
    0173 E807      LDI	R16,0x87
    0174 D659      RCALL	_display_flash
(0130)     SEI(); 
    0175 9478      BSET	7
    0176 9622      ADIW	R28,2
    0177 DB0F      RCALL	pop_gset2
    0178 9508      RET
_menu:
  intm_m               --> R10
  reset_m              --> R14
  ccc                  --> R12
  timebit              --> R10
  pontmp               --> R10
  tdbit                --> Y+17
  in_m                 --> R12
  cbit                 --> Y+16
  fbit                 --> Y+15
    0179 DB15      RCALL	push_gset5
    017A 9762      SBIW	R28,0x12
(0131) }
(0132) //--------------------------------------------------------------------------------------------------------------------------------------------按键菜单
(0133) void menu(void)                                        
(0134) {          
(0135) unsigned        char     pontmp,timebit, fbit,cbit,tdbit,ccc;
(0136) unsigned        char     reset_m,in_m,intm_m; 
(0137) pontmp=pontdata;
    017B 90A001DB  LDS	R10,pontdata
(0138) fbit=0;  cbit=5 ; tdbit=0; timebit=0;
    017D 2400      CLR	R0
    017E 860F      STD	Y+15,R0
    017F E085      LDI	R24,5
    0180 8B88      STD	Y+16,R24
    0181 8A09      STD	Y+17,R0
    0182 24AA      CLR	R10
(0139) key=GetKey();
    0183 D7EA      RCALL	_GetKey
    0184 93000199  STS	key,R16
    0186 DC7F      RCALL	0x0E06
(0140) keybit=0; keytime=0;
(0141) switch (key)
    0187 2EA0      MOV	R10,R16
    0188 24BB      CLR	R11
    0189 01C5      MOVW	R24,R10
    018A 308C      CPI	R24,0xC
    018B E0E0      LDI	R30,0
    018C 079E      CPC	R25,R30
    018D F409      BNE	0x018F
    018E C53B      RJMP	0x06CA
    018F E08C      LDI	R24,0xC
    0190 158A      CP	R24,R10
    0191 059B      CPC	R25,R11
    0192 F034      BLT	0x0199
    0193 01C5      MOVW	R24,R10
    0194 3087      CPI	R24,7
    0195 E0E0      LDI	R30,0
    0196 079E      CPC	R25,R30
    0197 F099      BEQ	0x01AB
    0198 C5E9      RJMP	0x0782
    0199 01C5      MOVW	R24,R10
    019A 3183      CPI	R24,0x13
    019B E0E0      LDI	R30,0
    019C 079E      CPC	R25,R30
    019D F409      BNE	0x019F
    019E C52D      RJMP	0x06CC
    019F 3183      CPI	R24,0x13
    01A0 E0E0      LDI	R30,0
    01A1 079E      CPC	R25,R30
    01A2 F40C      BGE	0x01A4
    01A3 C5DE      RJMP	0x0782
    01A4 01C5      MOVW	R24,R10
    01A5 3187      CPI	R24,0x17
    01A6 E0E0      LDI	R30,0
    01A7 079E      CPC	R25,R30
    01A8 F409      BNE	0x01AA
    01A9 C1A9      RJMP	0x0353
    01AA C5D7      RJMP	0x0782
(0142) 		 {
(0143) 		   case   set:
(0144) 		   sandcnd_display(psx,timeset[0],0);
    01AB 2422      CLR	R2
    01AC 822A      STD	Y+2,R2
    01AD 904001F3  LDS	R4,timeset+2
    01AF 905001F4  LDS	R5,timeset+3
    01B1 902001F1  LDS	R2,timeset
    01B3 903001F2  LDS	R3,timeset+1
    01B5 DD27      RCALL	0x0EDD
    01B6 D5F6      RCALL	_sandcnd_display
    01B7 C199      RJMP	0x0351
(0145) 		   while(1)
(0146) 		   {
(0147)             o=psx;
    01B8 E482      LDI	R24,0x42
    01B9 DC0B      RCALL	0x0DC5
(0148) 			o[1]=10;
    01BA E08A      LDI	R24,0xA
    01BB DC61      RCALL	0x0E1D
    01BC 8381      STD	Z+1,R24
    01BD DC5F      RCALL	0x0E1D
(0149) 			o[2]=10;
    01BE 8382      STD	Z+2,R24
    01BF DC34      RCALL	0x0DF4
(0150) 		    key=display_flash(fbit,cbit,2); 
    01C0 D60D      RCALL	_display_flash
    01C1 93000199  STS	key,R16
(0151) 			psx[2]=12;	
    01C3 E08C      LDI	R24,0xC
    01C4 93800144  STS	psx+2,R24
(0152) 		    switch (key)
    01C6 2E20      MOV	R2,R16
    01C7 2433      CLR	R3
    01C8 823C      STD	Y+4,R3
    01C9 822B      STD	Y+3,R2
    01CA 01C1      MOVW	R24,R2
    01CB 3183      CPI	R24,0x13
    01CC E0E0      LDI	R30,0
    01CD 079E      CPC	R25,R30
    01CE F409      BNE	0x01D0
    01CF C4FC      RJMP	0x06CC
    01D0 E183      LDI	R24,0x13
    01D1 1582      CP	R24,R2
    01D2 0593      CPC	R25,R3
    01D3 F0B4      BLT	0x01EA
    01D4 818B      LDD	R24,Y+3
    01D5 819C      LDD	R25,Y+4
    01D6 3087      CPI	R24,7
    01D7 E0E0      LDI	R30,0
    01D8 079E      CPC	R25,R30
    01D9 F0C1      BEQ	0x01F2
    01DA 308B      CPI	R24,0xB
    01DB E0E0      LDI	R30,0
    01DC 079E      CPC	R25,R30
    01DD F409      BNE	0x01DF
    01DE C160      RJMP	0x033F
    01DF 308D      CPI	R24,0xD
    01E0 E0E0      LDI	R30,0
    01E1 079E      CPC	R25,R30
    01E2 F409      BNE	0x01E4
    01E3 C148      RJMP	0x032C
    01E4 308E      CPI	R24,0xE
    01E5 E0E0      LDI	R30,0
    01E6 079E      CPC	R25,R30
    01E7 F409      BNE	0x01E9
    01E8 C132      RJMP	0x031B
    01E9 C167      RJMP	0x0351
    01EA 818B      LDD	R24,Y+3
    01EB 819C      LDD	R25,Y+4
    01EC 3187      CPI	R24,0x17
    01ED E0E0      LDI	R30,0
    01EE 079E      CPC	R25,R30
    01EF F409      BNE	0x01F1
    01F0 C162      RJMP	0x0353
    01F1 C15F      RJMP	0x0351
(0153) 		              {
(0154) 						 case    set:
(0155) 						 if(fbit==2) 
    01F2 858F      LDD	R24,Y+15
    01F3 3082      CPI	R24,2
    01F4 F479      BNE	0x0204
(0156) 						 {
(0157) 						 timeset[0]=process_add();
    01F5 D868      RCALL	_process_add
    01F6 931001F2  STS	timeset+1,R17
    01F8 930001F1  STS	timeset,R16
    01FA 933001F4  STS	timeset+3,R19
    01FC 932001F3  STS	timeset+2,R18
    01FE DBA8      RCALL	0x0DA7
    01FF DCAC      RCALL	0x0EAC
(0158) 						 EEPROM_WRITE(0x40,timeset[0]);  
    0200 DB27      RCALL	_EEPROMWriteBytes_extIO
(0159) 						 fbit=0;
    0201 2400      CLR	R0
    0202 860F      STD	Y+15,R0
(0160) 						 }
    0203 C14D      RJMP	0x0351
(0161) 						 else
(0162) 						 {
(0163) 						 cbit=1; 
    0204 2400      CLR	R0
    0205 9403      INC	R0
    0206 8A08      STD	Y+16,R0
(0164) 						 sandcnd_display(tr,trdata_x[0],0);
    0207 2422      CLR	R2
    0208 822A      STD	Y+2,R2
    0209 90200196  LDS	R2,trdata_x
    020B 2433      CLR	R3
    020C DC36      RCALL	0x0E43
    020D E408      LDI	R16,0x48
    020E E011      LDI	R17,1
    020F D59D      RCALL	_sandcnd_display
    0210 C108      RJMP	0x0319
(0165) 						 while(1)
(0166) 						 {//-------------------------------------------------------------------------------trdata
(0167)                		      o=tr;
    0211 E488      LDI	R24,0x48
    0212 DBB2      RCALL	0x0DC5
    0213 DBD8      RCALL	0x0DEC
(0168) 						  p[1]+=25;
    0214 5E87      SUBI	R24,0xE7
    0215 8380      STD	Z+0,R24
    0216 DBDD      RCALL	0x0DF4
(0169) 			              key=display_flash(fbit,cbit,2);  
    0217 D5B6      RCALL	_display_flash
    0218 93000199  STS	key,R16
    021A DBD1      RCALL	0x0DEC
(0170) 		                  p[1]-=25;
    021B 5189      SUBI	R24,0x19
    021C 8380      STD	Z+0,R24
(0171) 						  if(keybit==0xf7) {keybit=0; keytime=0;   return;}
    021D 918001E7  LDS	R24,keybit
    021F 3F87      CPI	R24,0xF7
    0220 F411      BNE	0x0223
    0221 DBE4      RCALL	0x0E06
    0222 C55F      RJMP	0x0782
(0172) 						  switch (key)
    0223 90200199  LDS	R2,key
    0225 DC8B      RCALL	0x0EB1
    0226 3183      CPI	R24,0x13
    0227 E0E0      LDI	R30,0
    0228 079E      CPC	R25,R30
    0229 F409      BNE	0x022B
    022A C4A1      RJMP	0x06CC
    022B E183      LDI	R24,0x13
    022C 1582      CP	R24,R2
    022D 0593      CPC	R25,R3
    022E F0B4      BLT	0x0245
    022F 818D      LDD	R24,Y+5
    0230 819E      LDD	R25,Y+6
    0231 3087      CPI	R24,7
    0232 E0E0      LDI	R30,0
    0233 079E      CPC	R25,R30
    0234 F0C1      BEQ	0x024D
    0235 308B      CPI	R24,0xB
    0236 E0E0      LDI	R30,0
    0237 079E      CPC	R25,R30
    0238 F409      BNE	0x023A
    0239 C0D4      RJMP	0x030E
    023A 308D      CPI	R24,0xD
    023B E0E0      LDI	R30,0
    023C 079E      CPC	R25,R30
    023D F409      BNE	0x023F
    023E C0AC      RJMP	0x02EB
    023F 308E      CPI	R24,0xE
    0240 E0E0      LDI	R30,0
    0241 079E      CPC	R25,R30
    0242 F409      BNE	0x0244
    0243 C085      RJMP	0x02C9
    0244 C0D4      RJMP	0x0319
    0245 818D      LDD	R24,Y+5
    0246 819E      LDD	R25,Y+6
    0247 3187      CPI	R24,0x17
    0248 E0E0      LDI	R30,0
    0249 079E      CPC	R25,R30
    024A F409      BNE	0x024C
    024B C107      RJMP	0x0353
    024C C0CC      RJMP	0x0319
(0173) 		                              {
(0174) 						                 case    set:
(0175) 										 if(fbit==2)
    024D 858F      LDD	R24,Y+15
    024E 3082      CPI	R24,2
    024F F4C1      BNE	0x0268
(0176) 										  {
(0177) 										  trdata=0;
    0250 2422      CLR	R2
    0251 922001DC  STS	trdata,R2
    0253 DB0E      RCALL	0x0D62
(0178) 										  trdata+= ((p[1]-25)*10);
    0254 8021      LDD	R2,Z+1
    0255 E08A      LDI	R24,0xA
    0256 9D82      MUL	R24,R2
    0257 2D80      MOV	R24,R0
    0258 5F8A      SUBI	R24,0xFA
    0259 902001DC  LDS	R2,trdata
    025B 0E28      ADD	R2,R24
    025C 922001DC  STS	trdata,R2
    025E DB03      RCALL	0x0D62
    025F DC64      RCALL	0x0EC4
(0179)                                           trdata+= p[0];
(0180) 									      trdata_x[0]=trdata;
    0260 2C23      MOV	R2,R3
    0261 92200196  STS	trdata_x,R2
    0263 DBB0      RCALL	0x0E14
(0181) 										  EEPROM_WRITE(0x30,trdata_x);
    0264 DAC3      RCALL	_EEPROMWriteBytes_extIO
(0182) 										  fbit=0;
    0265 2400      CLR	R0
    0266 860F      STD	Y+15,R0
(0183) 										  }  
    0267 C0B1      RJMP	0x0319
(0184) 						                  else 
(0185) 										  
(0186) 										 { cbit=pontdata;
    0268 902001DB  LDS	R2,pontdata
    026A 8A28      STD	Y+16,R2
    026B C05B      RJMP	0x02C7
(0187) 										  while(1)
(0188) 						                  {//----------------------------------------------------------------pont
(0189)                 		                  sandchar_display(pont,ponddd);
    026C E722      LDI	R18,0x72
    026D E031      LDI	R19,1
    026E E60C      LDI	R16,0x6C
    026F E011      LDI	R17,1
    0270 D554      RCALL	_sandchar_display
    0271 DC07      RCALL	0x0E79
(0190) 										  ponddd[cbit]+=25;
    0272 5E87      SUBI	R24,0xE7
    0273 8380      STD	Z+0,R24
    0274 DB7F      RCALL	0x0DF4
(0191) 		                                  key=display_flash(fbit,cbit,2);  
    0275 D558      RCALL	_display_flash
    0276 93000199  STS	key,R16
    0278 DC00      RCALL	0x0E79
(0192) 										  ponddd[cbit]-=25;
    0279 5189      SUBI	R24,0x19
    027A 8380      STD	Z+0,R24
(0193) 										  if(keybit==0xf7) {keybit=0; keytime=0;   return;}
    027B 918001E7  LDS	R24,keybit
    027D 3F87      CPI	R24,0xF7
    027E F411      BNE	0x0281
    027F DB86      RCALL	0x0E06
    0280 C501      RJMP	0x0782
(0194) 										  switch (key)
    0281 90200199  LDS	R2,key
    0283 2433      CLR	R3
    0284 8638      STD	Y+8,R3
    0285 822F      STD	Y+7,R2
    0286 01C1      MOVW	R24,R2
    0287 308B      CPI	R24,0xB
    0288 E0E0      LDI	R30,0
    0289 079E      CPC	R25,R30
    028A F0D1      BEQ	0x02A5
    028B E08B      LDI	R24,0xB
    028C 1582      CP	R24,R2
    028D 0593      CPC	R25,R3
    028E F01C      BLT	0x0292
    028F DC47      RCALL	0x0ED7
    0290 F101      BEQ	0x02B1
    0291 C035      RJMP	0x02C7
    0292 818F      LDD	R24,Y+7
    0293 8598      LDD	R25,Y+8
    0294 3183      CPI	R24,0x13
    0295 E0E0      LDI	R30,0
    0296 079E      CPC	R25,R30

⌨️ 快捷键说明

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