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

📄 lc.lst

📁 ICC-AVR环境,用ATmage16做的LC表
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0163 E08A      LDI	R24,0xA
    0164 E090      LDI	R25,0
    0165 8399      STD	Y+1,R25
    0166 8388      STD	Y+0,R24
    0167 9120009A  LDS	R18,last_TCNT1
    0169 9130009B  LDS	R19,last_TCNT1+1
    016B E600      LDI	R16,0x60
    016C E010      LDI	R17,0
    016D 940E07B0  CALL	_itoa
    016F 8319      STD	Y+1,R17
    0170 8308      STD	Y+0,R16
    0171 E021      LDI	R18,1
    0172 E001      LDI	R16,1
    0173 DF7F      RCALL	_LCD_write_string
(0072) 		
(0073) 	}
    0174 C02D      RJMP	0x01A2
(0074) 	else //测量模式,接入被测元件Cx或Lx
(0075) 	{ 
(0076) 		LCD_write_char(0x01,0);
    0175 2722      CLR	R18
    0176 2733      CLR	R19
    0177 E001      LDI	R16,1
    0178 E010      LDI	R17,0
    0179 DF01      RCALL	_LCD_write_char
(0077) 		delay_nms(2);
    017A E002      LDI	R16,2
    017B D2D8      RCALL	_delay_nms
(0078) 		
(0079) 		LCD_set_xy(0,0);
    017C 2722      CLR	R18
    017D 2700      CLR	R16
    017E DF4D      RCALL	_LCD_set_xy
(0080) 		LCD_write_char(0,'C');
    017F E423      LDI	R18,0x43
    0180 E030      LDI	R19,0
    0181 2700      CLR	R16
    0182 2711      CLR	R17
    0183 DEF7      RCALL	_LCD_write_char
(0081) 		LCD_write_char(0,'x');
    0184 E728      LDI	R18,0x78
    0185 E030      LDI	R19,0
    0186 2700      CLR	R16
    0187 2711      CLR	R17
    0188 DEF2      RCALL	_LCD_write_char
(0082) 		LCD_write_char(0,'=');
    0189 E32D      LDI	R18,0x3D
    018A E030      LDI	R19,0
    018B 2700      CLR	R16
    018C 2711      CLR	R17
    018D DEED      RCALL	_LCD_write_char
(0083) 		calc_Cx();
    018E D0F0      RCALL	_calc_Cx
(0084) 		
(0085) 		LCD_set_xy(0,1);
    018F E021      LDI	R18,1
    0190 2700      CLR	R16
    0191 DF3A      RCALL	_LCD_set_xy
(0086) 		LCD_write_char(0,'L');
    0192 E42C      LDI	R18,0x4C
    0193 E030      LDI	R19,0
    0194 2700      CLR	R16
    0195 2711      CLR	R17
    0196 DEE4      RCALL	_LCD_write_char
(0087) 		LCD_write_char(0,'x');
    0197 E728      LDI	R18,0x78
    0198 E030      LDI	R19,0
    0199 2700      CLR	R16
    019A 2711      CLR	R17
    019B DEDF      RCALL	_LCD_write_char
(0088) 		LCD_write_char(0,'=');
    019C E32D      LDI	R18,0x3D
    019D E030      LDI	R19,0
    019E 2700      CLR	R16
    019F 2711      CLR	R17
    01A0 DEDA      RCALL	_LCD_write_char
(0089) 		calc_Lx();
    01A1 D1CD      RCALL	_calc_Lx
(0090) 	}
(0091) 	
(0092) 	timer1_init();
    01A2 D005      RCALL	_timer1_init
(0093) 	timer2_init();
    01A3 D00C      RCALL	_timer2_init
    01A4 9622      ADIW	R28,2
    01A5 940E056D  CALL	pop_lset
    01A7 9518      RETI
(0094) }
(0095) 
(0096) void timer1_init(void)
(0097) {
(0098) 	TCCR1B = 0x00; //stop
_timer1_init:
    01A8 2422      CLR	R2
    01A9 BC2E      OUT	0x2E,R2
(0099) 	TCNT1H = 0x00;
    01AA BC2D      OUT	0x2D,R2
(0100) 	TCNT1L = 0x00;
    01AB BC2C      OUT	0x2C,R2
(0101) 	TCCR1A = 0x00;
    01AC BC2F      OUT	0x2F,R2
(0102) 	/*----取消-----
(0103) 	OCR1AH = 0x00;
(0104) 	OCR1AL = 0x39;
(0105) 	OCR1BH = 0x00;
(0106) 	OCR1BL = 0x39;
(0107) 	ICR1H  = 0x00;
(0108) 	ICR1L  = 0x39;
(0109) 	-------------*/
(0110) 	TCCR1B = 0x06; //start,外部下降沿触发
    01AD E086      LDI	R24,6
    01AE BD8E      OUT	0x2E,R24
    01AF 9508      RET
(0111) }
(0112) 
(0113) void timer2_init(void)
(0114) {
(0115) 	TCCR2 = 0x00; //stop
_timer2_init:
    01B0 2422      CLR	R2
    01B1 BC25      OUT	0x25,R2
(0116) 	ASSR  = 0x00; //同步计算模式
    01B2 BC22      OUT	0x22,R2
(0117) 	TCNT2 = 0x0A; //置初值,定时0.25s
    01B3 E08A      LDI	R24,0xA
    01B4 BD84      OUT	0x24,R24
(0118) 	/*----取消-----
(0119) 	OCR2=0x9C;
(0120) 	-------------*/
(0121) 	TCCR2 = 0x07; //start,系统时钟1024分频
    01B5 E087      LDI	R24,7
    01B6 BD85      OUT	0x25,R24
    01B7 9508      RET
_calc_Cn:
  f                    --> Y+2
    01B8 940E04F9  CALL	push_gset3
    01BA 972A      SBIW	R28,0xA
(0122) }
(0123) 
(0124) void calc_Cn(void)
(0125) {
(0126)  	float f=1/(last_TCNT1*4)*1000000;
    01BB 9120009A  LDS	R18,last_TCNT1
    01BD 9130009B  LDS	R19,last_TCNT1+1
    01BF E004      LDI	R16,4
    01C0 E010      LDI	R17,0
    01C1 940E04A9  CALL	empy16s
    01C3 0198      MOVW	R18,R16
    01C4 E001      LDI	R16,1
    01C5 E010      LDI	R17,0
    01C6 940E048F  CALL	div16u
    01C8 0118      MOVW	R2,R16
    01C9 2444      CLR	R4
    01CA 2455      CLR	R5
    01CB E440      LDI	R20,0x40
    01CC E452      LDI	R21,0x42
    01CD E06F      LDI	R22,0xF
    01CE E070      LDI	R23,0
    01CF 925A      ST	R5,-Y
    01D0 924A      ST	R4,-Y
    01D1 923A      ST	R3,-Y
    01D2 922A      ST	R2,-Y
    01D3 018A      MOVW	R16,R20
    01D4 019B      MOVW	R18,R22
    01D5 940E04B9  CALL	empy32u
    01D7 940E05D2  CALL	long2fp
    01D9 01FE      MOVW	R30,R28
    01DA 8302      STD	Z+2,R16
    01DB 8313      STD	Z+3,R17
    01DC 8324      STD	Z+4,R18
    01DD 8335      STD	Z+5,R19
(0127) 	Cn=(1/(39.4384*f*f*L1)-C1)/1000000;
    01DE E608      LDI	R16,0x68
    01DF E010      LDI	R17,0
    01E0 940E0542  CALL	lpm32
    01E2 933A      ST	R19,-Y
    01E3 932A      ST	R18,-Y
    01E4 931A      ST	R17,-Y
    01E5 930A      ST	R16,-Y
    01E6 E604      LDI	R16,0x64
    01E7 E010      LDI	R17,0
    01E8 940E0542  CALL	lpm32
    01EA 933A      ST	R19,-Y
    01EB 932A      ST	R18,-Y
    01EC 931A      ST	R17,-Y
    01ED 930A      ST	R16,-Y
    01EE E600      LDI	R16,0x60
    01EF E010      LDI	R17,0
    01F0 940E0542  CALL	lpm32
    01F2 933A      ST	R19,-Y
    01F3 932A      ST	R18,-Y
    01F4 931A      ST	R17,-Y
    01F5 930A      ST	R16,-Y
    01F6 01FE      MOVW	R30,R28
    01F7 8426      LDD	R2,Z+14
    01F8 8437      LDD	R3,Z+15
    01F9 8840      LDD	R4,Z+16
    01FA 8851      LDD	R5,Z+17
    01FB 925A      ST	R5,-Y
    01FC 924A      ST	R4,-Y
    01FD 923A      ST	R3,-Y
    01FE 922A      ST	R2,-Y
    01FF 940E0715  CALL	empy32fs
    0201 01FE      MOVW	R30,R28
    0202 8426      LDD	R2,Z+14
    0203 8437      LDD	R3,Z+15
    0204 8840      LDD	R4,Z+16
    0205 8851      LDD	R5,Z+17
    0206 925A      ST	R5,-Y
    0207 924A      ST	R4,-Y
    0208 923A      ST	R3,-Y
    0209 922A      ST	R2,-Y
    020A 940E0715  CALL	empy32fs
    020C 940E0715  CALL	empy32fs
    020E 940E0687  CALL	div32fs
    0210 E608      LDI	R16,0x68
    0211 E010      LDI	R17,0
    0212 940E0542  CALL	lpm32
    0214 933A      ST	R19,-Y
    0215 932A      ST	R18,-Y
    0216 931A      ST	R17,-Y
    0217 930A      ST	R16,-Y
    0218 940E062E  CALL	sub32fs
    021A E50C      LDI	R16,0x5C
    021B E010      LDI	R17,0
    021C 940E0542  CALL	lpm32
    021E 933A      ST	R19,-Y
    021F 932A      ST	R18,-Y
    0220 931A      ST	R17,-Y
    0221 930A      ST	R16,-Y
    0222 940E068A  CALL	div32f
    0224 01FE      MOVW	R30,R28
    0225 8306      STD	Z+6,R16
    0226 8317      STD	Z+7,R17
    0227 8720      STD	Z+8,R18
    0228 8731      STD	Z+9,R19
    0229 01FE      MOVW	R30,R28
    022A 8026      LDD	R2,Z+6
    022B 8037      LDD	R3,Z+7
    022C 8440      LDD	R4,Z+8
    022D 8451      LDD	R5,Z+9
    022E 925A      ST	R5,-Y
    022F 924A      ST	R4,-Y
    0230 923A      ST	R3,-Y
    0231 922A      ST	R2,-Y
    0232 E508      LDI	R16,0x58
    0233 E010      LDI	R17,0
    0234 940E0542  CALL	lpm32
    0236 933A      ST	R19,-Y
    0237 932A      ST	R18,-Y
    0238 931A      ST	R17,-Y
    0239 930A      ST	R16,-Y
    023A 940E06E4  CALL	cmp32f
    023C F0D4      BLT	0x0257
    023D 01FE      MOVW	R30,R28
    023E 8026      LDD	R2,Z+6
    023F 8037      LDD	R3,Z+7
    0240 8440      LDD	R4,Z+8
    0241 8451      LDD	R5,Z+9
    0242 925A      ST	R5,-Y
    0243 924A      ST	R4,-Y
    0244 923A      ST	R3,-Y
    0245 922A      ST	R2,-Y
    0246 E508      LDI	R16,0x58
    0247 E010      LDI	R17,0
    0248 940E0542  CALL	lpm32
    024A 933A      ST	R19,-Y
    024B 932A      ST	R18,-Y
    024C 931A      ST	R17,-Y
    024D 930A      ST	R16,-Y
    024E 940E0631  CALL	sub32f
    0250 940E0584  CALL	fp2int
    0252 01C8      MOVW	R24,R16
    0253 5080      SUBI	R24,0
    0254 4890      SBCI	R25,0x80
    0255 015C      MOVW	R10,R24
    0256 C008      RJMP	0x025F
    0257 01FE      MOVW	R30,R28
    0258 8106      LDD	R16,Z+6
    0259 8117      LDD	R17,Z+7
    025A 8520      LDD	R18,Z+8
    025B 8531      LDD	R19,Z+9
    025C 940E0584  CALL	fp2int
    025E 0158      MOVW	R10,R16
    025F 92B00095  STS	Cn+1,R11
    0261 92A00094  STS	Cn,R10
(0128) 	
(0129) 	LCD_write_string(3,0,itoa(buf,Cn,10));
    0263 E08A      LDI	R24,0xA
    0264 E090      LDI	R25,0
    0265 8399      STD	Y+1,R25
    0266 8388      STD	Y+0,R24
    0267 0195      MOVW	R18,R10
    0268 E600      LDI	R16,0x60
    0269 E010      LDI	R17,0
    026A 940E07B0  CALL	_itoa
    026C 8319      STD	Y+1,R17
    026D 8308      STD	Y+0,R16
    026E 2722      CLR	R18
    026F E003      LDI	R16,3
    0270 DE82      RCALL	_LCD_write_string
(0130) 	LCD_write_char(0,'p');
    0271 E720      LDI	R18,0x70
    0272 E030      LDI	R19,0
    0273 2700      CLR	R16
    0274 2711      CLR	R17
    0275 DE05      RCALL	_LCD_write_char
(0131) 	LCD_write_char(0,'F');
    0276 E426      LDI	R18,0x46
    0277 E030      LDI	R19,0
    0278 2700      CLR	R16
    0279 2711      CLR	R17
    027A DE00      RCALL	_LCD_write_char
    027B 962A      ADIW	R28,0xA
    027C 940E04EC  CALL	pop_gset3
    027E 9508      RET
_calc_Cx:
  f                    --> Y+2
    027F 940E04F9  CALL	push_gset3
    0281 972A      SBIW	R28,0xA
(0132) 	
(0133) }
(0134) 
(0135) void calc_Cx(void)
(0136) {
(0137)  	float f=1/(last_TCNT1*4)*1000000;
    0282 9120009A  LDS	R18,last_TCNT1
    0284 9130009B  LDS	R19,last_TCNT1+1
    0286 E004      LDI	R16,4
    0287 E010      LDI	R17,0
    0288 940E04A9  CALL	empy16s
    028A 0198      MOVW	R18,R16
    028B E001      LDI	R16,1
    028C E010      LDI	R17,0
    028D 940E048F  CALL	div16u
    028F 0118      MOVW	R2,R16
    0290 2444      CLR	R4
    0291 2455      CLR	R5
    0292 E440      LDI	R20,0x40
    0293 E452      LDI	R21,0x42
    0294 E06F      LDI	R22,0xF
    0295 E070      LDI	R23,0
    0296 925A      ST	R5,-Y
    0297 924A      ST	R4,-Y
    0298 923A      ST	R3,-Y
    0299 922A      ST	R2,-Y
    029A 018A      MOVW	R16,R20
    029B 019B      MOVW	R18,R22
    029C 940E04B9  CALL	empy32u
    029E 940E05D2  CALL	long2fp
    02A0 01FE      MOVW	R30,R28
    02A1 8302      STD	Z+2,R16
    02A2 8313      STD	Z+3,R17
    02A3 8324      STD	Z+4,R18
    02A4 8335      STD	Z+5,R19
(0138) 	Cx=(1/(39.4384*f*f*L1)-C1)/1000000-Cn;
    02A5 E608      LDI	R16,0x68
    02A6 E010      LDI	R17,0
    02A7 940E0542  CALL	lpm32
    02A9 933A      ST	R19,-Y
    02AA 932A      ST	R18,-Y
    02AB 931A      ST	R17,-Y
    02AC 930A      ST	R16,-Y
    02AD E604      LDI	R16,0x64
    02AE E010      LDI	R17,0
    02AF 940E0542  CALL	lpm32
    02B1 933A      ST	R19,-Y
    02B2 932A      ST	R18,-Y
    02B3 931A      ST	R17,-Y
    02B4 930A      ST	R16,-Y
    02B5 E600      LDI	R16,0x60
    02B6 E010      LDI	R17,0
    02B7 940E0542  CALL	lpm32
    02B9 933A      ST	R19,-Y
    02BA 932A      ST	R18,-Y
    02BB 931A      ST	R17,-Y
    02BC 930A      ST	R16,-Y
    02BD 01FE      MOVW	R30,R28
    02BE 8426      LDD	R2,Z+14
    02BF 8437      LDD	R3,Z+15
    02C0 8840      LDD	R4,Z+16
    02C1 8851      LDD	R5,Z+17
    02C2 925A      ST	R5,-Y
    02C3 924A      ST	R4,-Y
    02C4 923A      ST	R3,-Y
    02C5 922A      ST	R2,-Y
    02C6 940E0715  CALL	empy32fs
    02C8 01FE      MOVW	R30,R28
    02C9 8426      LDD	R2,Z+14
    02CA 8437      LDD	R3,Z+15
    02CB 8840      LDD	R4,Z+16
    02CC 8851      LDD	R5,Z+17
    02CD 925A      ST	R5,-Y
    02CE 924A      ST	R4,-Y
    02CF 923A      ST	R3,-Y
    02D0 922A      ST	R2,-Y
    02D1 940E0715  CALL	empy32fs
    02D3 940E0715  CALL	empy32fs
    02D5 940E0687  CALL	div32fs
    02D7 E608      LDI	R16,0x68
    02D8 E010      LDI	R17,0
    02D9 940E0542  CALL	lpm32
    02DB 933A      ST	R19,-Y
    02DC 932A      ST	R18,-Y
    02DD 931A      ST	R17,-Y
    02DE 930A      ST	R16,-Y
    02DF 940E062E  CALL	sub32fs
    02E1 E50C      LDI	R16,0x5C
    02E2 E010      LDI	R17,0
    02E3 940E0542  CALL	lpm32
    02E5 933A      ST	R19,-Y
    02E6 932A      ST	R18,-Y
    02E7 931A      ST	R17,-Y
    02E8 930A      ST	R16,-Y
    02E9 940E0687  CALL	div32fs
    02EB E504      LDI	R16,0x54
    02EC E010      LDI	R17,0
    02ED 940E0542  CALL	lpm32
    02EF 933A      ST	R19,-Y
    02F0 932A      ST	R18,-Y
    02F1 931A      ST	R17,-Y
    02F2 930A      ST	R16,-Y
    02F3 91000094  LDS	R16,Cn
    02F5 91100095  LDS	R17,Cn+1
    02F7 9516      LSR	R17
    02F8 9507      ROR	R16
    02F9 940E05CC  CALL	int2fp
    02FB 933A      ST	R19,-Y
    02FC 932A      ST	R18,-Y
    02FD 931A      ST	R17,-Y
    02FE 930A      ST	R16,-Y
    02FF 940E0715  CALL	empy32fs
    0301 91000094  LDS	R16,Cn
    0303 91100095  LDS	R17,Cn+1
    0305 7001      ANDI	R16,1
    0306 7010      ANDI	R17,0

⌨️ 快捷键说明

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