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

📄 erpfg.lst

📁 用于ATMEGA8单片机调试 包括串口
💻 LST
📖 第 1 页 / 共 2 页
字号:
     147 DFCA      RCALL	_LCD_DELAY
(0138)   for(Y=0;*DISP!='\0';Y++)
     148 24AA      CLR	R10
     149 C008      RJMP	0x0152
(0139)    {  
(0140)      LCD_DELAY();     
     14A DFC7      RCALL	_LCD_DELAY
(0141)      LCD_WRI_DATA(*DISP);
     14B 01FA      MOVW	R30,R20
     14C 8100      LDD	R16,Z+0
     14D DFB0      RCALL	_LCD_WRI_DATA
(0142)      LCD_DELAY();DISP++;
     14E DFC3      RCALL	_LCD_DELAY
     14F 5F4F      SUBI	R20,0xFF
     150 4F5F      SBCI	R21,0xFF
     151 94A3      INC	R10
     152 01FA      MOVW	R30,R20
     153 8020      LDD	R2,Z+0
     154 2022      TST	R2
     155 F7A1      BNE	0x014A
     156 940C 0253 JMP	pop_xgset300C
_shuzi_disp:
  number               --> Y,+0
  NUMber               --> R10
  ADD                  --> R12
     158 92AA      ST	R10,-Y
     159 92CA      ST	R12,-Y
     15A 2EA2      MOV	R10,R18
     15B 2EC0      MOV	R12,R16
     15C 9761      SBIW	R28,0x11
(0143)    }
(0144)  }
(0145) 
(0146) void shuzi_disp(unsigned char ADD,unsigned char NUMber) //一位数字显示
(0147)    {
(0148)       unsigned char number[]={"0123456789abcdef"}; 
     15D EE8F      LDI	R24,0xEF
     15E E090      LDI	R25,0
     15F 01FE      MOVW	R30,R28
     160 E101      LDI	R16,0x11
     161 E010      LDI	R17,0
     162 93FA      ST	R31,-Y
     163 93EA      ST	R30,-Y
     164 939A      ST	R25,-Y
     165 938A      ST	R24,-Y
     166 940E 0262 CALL	asgncblk
(0149) 	  WDR();
     168 95A8      WDR
(0150) 	  LCD_WRI_ORDER(ADD);    LCD_DELAY(); 
     169 2D0C      MOV	R16,R12
     16A DF7D      RCALL	_LCD_WRI_ORDER
     16B DFA6      RCALL	_LCD_DELAY
(0151) 	  LCD_WRI_DATA(number[NUMber]);   LCD_DELAY();
     16C 01CE      MOVW	R24,R28
     16D 2DEA      MOV	R30,R10
     16E 27FF      CLR	R31
     16F 0FE8      ADD	R30,R24
     170 1FF9      ADC	R31,R25
     171 8100      LDD	R16,Z+0
     172 DF8B      RCALL	_LCD_WRI_DATA
     173 DF9E      RCALL	_LCD_DELAY
     174 9661      ADIW	R28,0x11
     175 90C9      LD	R12,Y+
     176 90A9      LD	R10,Y+
     177 9508      RET
_NUM_DISPLAY_LCD:
  GW                   --> R10
  SW                   --> R12
  SWS                  --> R10
  BW                   --> R22
  QW                   --> R20
  WW                   --> R14
  number               --> Y,+0
  NUMber               --> R10
  ADD                  --> R12
     178 940E 0243 CALL	push_xgsetF0FC
     17A 0159      MOVW	R10,R18
     17B 2EC0      MOV	R12,R16
     17C 972C      SBIW	R28,0xC
(0152)    }
(0153) void NUM_DISPLAY_LCD(unsigned char ADD,unsigned int NUMber)//数字显示
(0154) { 
(0155)   unsigned char WW;
(0156)   unsigned char QW;
(0157)   unsigned char BW;
(0158)   unsigned char SW;
(0159)   unsigned char SWS;
(0160)   unsigned char GW;
(0161)   unsigned char number[]={"0123456789 "}; 
     17D E080      LDI	R24,0
     17E E091      LDI	R25,1
     17F 01FE      MOVW	R30,R28
     180 E00C      LDI	R16,0xC
     181 E010      LDI	R17,0
     182 93FA      ST	R31,-Y
     183 93EA      ST	R30,-Y
     184 939A      ST	R25,-Y
     185 938A      ST	R24,-Y
     186 940E 0262 CALL	asgncblk
(0162)   WDR();
     188 95A8      WDR
(0163)   LCD_WRI_ORDER(ADD);
     189 2D0C      MOV	R16,R12
     18A DF5D      RCALL	_LCD_WRI_ORDER
(0164)   LCD_DELAY();
     18B DF86      RCALL	_LCD_DELAY
(0165)   WW=NUMber/10000;
     18C E120      LDI	R18,0x10
     18D E237      LDI	R19,0x27
     18E 0185      MOVW	R16,R10
     18F 940E 0206 CALL	div16u
     191 2EE0      MOV	R14,R16
(0166)   QW=(NUMber%10000)/1000;
     192 E120      LDI	R18,0x10
     193 E237      LDI	R19,0x27
     194 0185      MOVW	R16,R10
     195 940E 0204 CALL	mod16u
     197 EE28      LDI	R18,0xE8
     198 E033      LDI	R19,3
     199 940E 0206 CALL	div16u
     19B 2F40      MOV	R20,R16
(0167)   BW=(NUMber%1000)/100;
     19C EE28      LDI	R18,0xE8
     19D E033      LDI	R19,3
     19E 0185      MOVW	R16,R10
     19F 940E 0204 CALL	mod16u
     1A1 E624      LDI	R18,0x64
     1A2 E030      LDI	R19,0
     1A3 940E 0206 CALL	div16u
     1A5 2F60      MOV	R22,R16
(0168)   SWS=(NUMber%1000)%100;
     1A6 EE28      LDI	R18,0xE8
     1A7 E033      LDI	R19,3
     1A8 0185      MOVW	R16,R10
     1A9 940E 0204 CALL	mod16u
     1AB E624      LDI	R18,0x64
     1AC E030      LDI	R19,0
     1AD 940E 0204 CALL	mod16u
     1AF 2EA0      MOV	R10,R16
(0169)   SW=SWS/10;
     1B0 E01A      LDI	R17,0xA
     1B1 940E 0222 CALL	div8u
     1B3 2EC0      MOV	R12,R16
(0170)   GW=SWS%10;
     1B4 E01A      LDI	R17,0xA
     1B5 2D0A      MOV	R16,R10
     1B6 940E 0220 CALL	mod8u
     1B8 2EA0      MOV	R10,R16
(0171)   if(WW)
     1B9 20EE      TST	R14
     1BA F041      BEQ	0x01C3
(0172)     LCD_WRI_DATA(number[WW]);
     1BB 01CE      MOVW	R24,R28
     1BC 2DEE      MOV	R30,R14
     1BD 27FF      CLR	R31
     1BE 0FE8      ADD	R30,R24
     1BF 1FF9      ADC	R31,R25
     1C0 8100      LDD	R16,Z+0
     1C1 DF3C      RCALL	_LCD_WRI_DATA
     1C2 C002      RJMP	0x01C5
(0173)   else
(0174)     LCD_WRI_DATA(number[10]);
     1C3 850A      LDD	R16,Y+10
     1C4 DF39      RCALL	_LCD_WRI_DATA
(0175)     LCD_DELAY();
     1C5 DF4C      RCALL	_LCD_DELAY
(0176)   if(QW||WW)
     1C6 2344      TST	R20
     1C7 F411      BNE	0x01CA
     1C8 20EE      TST	R14
     1C9 F041      BEQ	0x01D2
(0177)     LCD_WRI_DATA(number[QW]);
     1CA 01CE      MOVW	R24,R28
     1CB 2FE4      MOV	R30,R20
     1CC 27FF      CLR	R31
     1CD 0FE8      ADD	R30,R24
     1CE 1FF9      ADC	R31,R25
     1CF 8100      LDD	R16,Z+0
     1D0 DF2D      RCALL	_LCD_WRI_DATA
     1D1 C002      RJMP	0x01D4
(0178)   else 
(0179)     LCD_WRI_DATA(number[10]);
     1D2 850A      LDD	R16,Y+10
     1D3 DF2A      RCALL	_LCD_WRI_DATA
(0180)     LCD_DELAY();
     1D4 DF3D      RCALL	_LCD_DELAY
(0181)   if(BW||QW||WW)
     1D5 2366      TST	R22
     1D6 F421      BNE	0x01DB
     1D7 2344      TST	R20
     1D8 F411      BNE	0x01DB
     1D9 20EE      TST	R14
     1DA F041      BEQ	0x01E3
(0182)     LCD_WRI_DATA(number[BW]);
     1DB 01CE      MOVW	R24,R28
     1DC 2FE6      MOV	R30,R22
     1DD 27FF      CLR	R31
     1DE 0FE8      ADD	R30,R24
     1DF 1FF9      ADC	R31,R25
     1E0 8100      LDD	R16,Z+0
     1E1 DF1C      RCALL	_LCD_WRI_DATA
     1E2 C002      RJMP	0x01E5
(0183)   else 
(0184) 	LCD_WRI_DATA(number[10]);
     1E3 850A      LDD	R16,Y+10
     1E4 DF19      RCALL	_LCD_WRI_DATA
(0185)     LCD_DELAY();
     1E5 DF2C      RCALL	_LCD_DELAY
(0186)   if(SW!=0||BW||QW||WW)
     1E6 20CC      TST	R12
     1E7 F431      BNE	0x01EE
     1E8 2366      TST	R22
     1E9 F421      BNE	0x01EE
     1EA 2344      TST	R20
     1EB F411      BNE	0x01EE
     1EC 20EE      TST	R14
     1ED F041      BEQ	0x01F6
(0187)     LCD_WRI_DATA(number[SW]);
     1EE 01CE      MOVW	R24,R28
     1EF 2DEC      MOV	R30,R12
     1F0 27FF      CLR	R31
     1F1 0FE8      ADD	R30,R24
     1F2 1FF9      ADC	R31,R25
     1F3 8100      LDD	R16,Z+0
     1F4 DF09      RCALL	_LCD_WRI_DATA
     1F5 C002      RJMP	0x01F8
(0188)   else
(0189)     LCD_WRI_DATA(number[10]);
     1F6 850A      LDD	R16,Y+10
     1F7 DF06      RCALL	_LCD_WRI_DATA
(0190)     LCD_DELAY();
     1F8 DF19      RCALL	_LCD_DELAY
(0191)     LCD_WRI_DATA(number[GW]);
     1F9 01CE      MOVW	R24,R28
     1FA 2DEA      MOV	R30,R10
     1FB 27FF      CLR	R31
     1FC 0FE8      ADD	R30,R24
     1FD 1FF9      ADC	R31,R25
     1FE 8100      LDD	R16,Z+0
     1FF DEFE      RCALL	_LCD_WRI_DATA
(0192)     LCD_DELAY();
FILE: <library>
     200 DF11      RCALL	_LCD_DELAY
     201 962C      ADIW	R28,0xC
     202 940C 0238 JMP	pop_xgsetF0FC
mod16u:
     204 9468      BSET	6
     205 C001      RJMP	xdiv16u
div16u:
     206 94E8      BCLR	6
xdiv16u:
     207 92EA      ST	R14,-Y
     208 92FA      ST	R15,-Y
     209 938A      ST	R24,-Y
     20A 24EE      CLR	R14
     20B 24FF      CLR	R15
     20C E180      LDI	R24,0x10
     20D 0F00      LSL	R16
     20E 1F11      ROL	R17
     20F 1CEE      ROL	R14
     210 1CFF      ROL	R15
     211 16E2      CP	R14,R18
     212 06F3      CPC	R15,R19
     213 F018      BCS	0x0217
     214 1AE2      SUB	R14,R18
     215 0AF3      SBC	R15,R19
     216 9503      INC	R16
     217 958A      DEC	R24
     218 F7A1      BNE	0x020D
     219 F416      BRTC	0x021C
     21A 2D0E      MOV	R16,R14
     21B 2D1F      MOV	R17,R15
     21C 9189      LD	R24,Y+
     21D 90F9      LD	R15,Y+
     21E 90E9      LD	R14,Y+
     21F 9508      RET
mod8u:
     220 9468      BSET	6
     221 C001      RJMP	xdiv8u
div8u:
     222 94E8      BCLR	6
xdiv8u:
     223 932A      ST	R18,-Y
     224 92FA      ST	R15,-Y
     225 92EA      ST	R14,-Y
     226 24FF      CLR	R15
     227 24EE      CLR	R14
     228 E120      LDI	R18,0x10
     229 0F00      LSL	R16
     22A 1CFF      ROL	R15
     22B 1CEE      ROL	R14
     22C 16E1      CP	R14,R17
     22D F010      BCS	0x0230
     22E 1AE1      SUB	R14,R17
     22F 9503      INC	R16
     230 952A      DEC	R18
     231 F7B9      BNE	0x0229
     232 F40E      BRTC	0x0234
     233 2D0E      MOV	R16,R14
     234 90E9      LD	R14,Y+
     235 90F9      LD	R15,Y+
     236 9129      LD	R18,Y+
     237 9508      RET
pop_xgsetF0FC:
     238 90A9      LD	R10,Y+
     239 90B9      LD	R11,Y+
     23A 90C9      LD	R12,Y+
     23B 90D9      LD	R13,Y+
     23C 90E9      LD	R14,Y+
     23D 90F9      LD	R15,Y+
     23E 9149      LD	R20,Y+
     23F 9159      LD	R21,Y+
     240 9169      LD	R22,Y+
     241 9179      LD	R23,Y+
     242 9508      RET
push_xgsetF0FC:
     243 937A      ST	R23,-Y
     244 936A      ST	R22,-Y
push_xgset30FC:
     245 935A      ST	R21,-Y
     246 934A      ST	R20,-Y
push_xgset00FC:
     247 92FA      ST	R15,-Y
     248 92EA      ST	R14,-Y
push_xgset003C:
     249 92DA      ST	R13,-Y
     24A 92CA      ST	R12,-Y
     24B 92BA      ST	R11,-Y
     24C 92AA      ST	R10,-Y
     24D 9508      RET
push_xgset300C:
     24E 935A      ST	R21,-Y
     24F 934A      ST	R20,-Y
     250 92BA      ST	R11,-Y
     251 92AA      ST	R10,-Y
     252 9508      RET
pop_xgset300C:
     253 90A9      LD	R10,Y+
     254 90B9      LD	R11,Y+
     255 9149      LD	R20,Y+
     256 9159      LD	R21,Y+
     257 9508      RET
push_xgsetF000:
     258 937A      ST	R23,-Y
     259 936A      ST	R22,-Y
     25A 935A      ST	R21,-Y
     25B 934A      ST	R20,-Y
     25C 9508      RET
pop_xgsetF000:
     25D 9149      LD	R20,Y+
     25E 9159      LD	R21,Y+
     25F 9169      LD	R22,Y+
     260 9179      LD	R23,Y+
     261 9508      RET
asgncblk:
     262 93AA      ST	R26,-Y
     263 93BA      ST	R27,-Y
     264 93EA      ST	R30,-Y
     265 93FA      ST	R31,-Y
     266 920A      ST	R0,-Y
     267 81AF      LDD	R26,Y+7
     268 85B8      LDD	R27,Y+8
     269 81ED      LDD	R30,Y+5
     26A 81FE      LDD	R31,Y+6
     26B 3000      CPI	R16,0
     26C 0701      CPC	R16,R17
     26D F031      BEQ	0x0274
     26E 95C8      LPM
     26F 920D      ST	R0,X+
     270 9631      ADIW	R30,1
     271 5001      SUBI	R16,1
     272 4010      SBCI	R17,0
     273 CFF7      RJMP	0x026B
     274 9009      LD	R0,Y+
     275 91F9      LD	R31,Y+
     276 91E9      LD	R30,Y+
     277 91B9      LD	R27,Y+
     278 91A9      LD	R26,Y+
     279 9624      ADIW	R28,4
     27A 9508      RET

⌨️ 快捷键说明

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