📄 pro.lst
字号:
03C3 E070 LDI R23,0
03C4 01FE MOVW R30,R28
03C5 8020 LDD R2,Z+0
03C6 8031 LDD R3,Z+1
03C7 8042 LDD R4,Z+2
03C8 8053 LDD R5,Z+3
03C9 937A ST R23,-Y
03CA 936A ST R22,-Y
03CB 935A ST R21,-Y
03CC 934A ST R20,-Y
03CD 0181 MOVW R16,R2
03CE 0192 MOVW R18,R4
03CF 940E0579 CALL mod32u
03D1 01FE MOVW R30,R28
03D2 8300 STD Z+0,R16
03D3 8311 STD Z+1,R17
03D4 8322 STD Z+2,R18
03D5 8333 STD Z+3,R19
(0176) temp[2]=freq /100000+0x30;
03D6 EA40 LDI R20,0xA0
03D7 E856 LDI R21,0x86
03D8 E061 LDI R22,1
03D9 E070 LDI R23,0
03DA 01FE MOVW R30,R28
03DB 8020 LDD R2,Z+0
03DC 8031 LDD R3,Z+1
03DD 8042 LDD R4,Z+2
03DE 8053 LDD R5,Z+3
03DF 937A ST R23,-Y
03E0 936A ST R22,-Y
03E1 935A ST R21,-Y
03E2 934A ST R20,-Y
03E3 0181 MOVW R16,R2
03E4 0192 MOVW R18,R4
03E5 940E0577 CALL div32u
03E7 0118 MOVW R2,R16
03E8 0129 MOVW R4,R18
03E9 E340 LDI R20,0x30
03EA E050 LDI R21,0
03EB E060 LDI R22,0
03EC E070 LDI R23,0
03ED 0E24 ADD R2,R20
03EE 1E35 ADC R3,R21
03EF 1E46 ADC R4,R22
03F0 1E57 ADC R5,R23
03F1 922000C2 STS temp+2,R2
(0177) freq =freq %100000;
03F3 EA40 LDI R20,0xA0
03F4 E856 LDI R21,0x86
03F5 E061 LDI R22,1
03F6 E070 LDI R23,0
03F7 01FE MOVW R30,R28
03F8 8020 LDD R2,Z+0
03F9 8031 LDD R3,Z+1
03FA 8042 LDD R4,Z+2
03FB 8053 LDD R5,Z+3
03FC 937A ST R23,-Y
03FD 936A ST R22,-Y
03FE 935A ST R21,-Y
03FF 934A ST R20,-Y
0400 0181 MOVW R16,R2
0401 0192 MOVW R18,R4
0402 940E0579 CALL mod32u
0404 01FE MOVW R30,R28
0405 8300 STD Z+0,R16
0406 8311 STD Z+1,R17
0407 8322 STD Z+2,R18
0408 8333 STD Z+3,R19
(0178) temp[3]=freq /10000+0x30;
0409 E140 LDI R20,0x10
040A E257 LDI R21,0x27
040B E060 LDI R22,0
040C E070 LDI R23,0
040D 01FE MOVW R30,R28
040E 8020 LDD R2,Z+0
040F 8031 LDD R3,Z+1
0410 8042 LDD R4,Z+2
0411 8053 LDD R5,Z+3
0412 937A ST R23,-Y
0413 936A ST R22,-Y
0414 935A ST R21,-Y
0415 934A ST R20,-Y
0416 0181 MOVW R16,R2
0417 0192 MOVW R18,R4
0418 940E0577 CALL div32u
041A 0118 MOVW R2,R16
041B 0129 MOVW R4,R18
041C E340 LDI R20,0x30
041D E050 LDI R21,0
041E E060 LDI R22,0
041F E070 LDI R23,0
0420 0E24 ADD R2,R20
0421 1E35 ADC R3,R21
0422 1E46 ADC R4,R22
0423 1E57 ADC R5,R23
0424 922000C3 STS temp+3,R2
(0179) freq=freq %10000;
0426 E140 LDI R20,0x10
0427 E257 LDI R21,0x27
0428 E060 LDI R22,0
0429 E070 LDI R23,0
042A 01FE MOVW R30,R28
042B 8020 LDD R2,Z+0
042C 8031 LDD R3,Z+1
042D 8042 LDD R4,Z+2
042E 8053 LDD R5,Z+3
042F 937A ST R23,-Y
0430 936A ST R22,-Y
0431 935A ST R21,-Y
0432 934A ST R20,-Y
0433 0181 MOVW R16,R2
0434 0192 MOVW R18,R4
0435 940E0579 CALL mod32u
0437 01FE MOVW R30,R28
0438 8300 STD Z+0,R16
0439 8311 STD Z+1,R17
043A 8322 STD Z+2,R18
043B 8333 STD Z+3,R19
(0180) temp[4]=freq /1000+0x30;
043C EE48 LDI R20,0xE8
043D E053 LDI R21,3
043E E060 LDI R22,0
043F E070 LDI R23,0
0440 01FE MOVW R30,R28
0441 8020 LDD R2,Z+0
0442 8031 LDD R3,Z+1
0443 8042 LDD R4,Z+2
0444 8053 LDD R5,Z+3
0445 937A ST R23,-Y
0446 936A ST R22,-Y
0447 935A ST R21,-Y
0448 934A ST R20,-Y
0449 0181 MOVW R16,R2
044A 0192 MOVW R18,R4
044B 940E0577 CALL div32u
044D 0118 MOVW R2,R16
044E 0129 MOVW R4,R18
044F E340 LDI R20,0x30
0450 E050 LDI R21,0
0451 E060 LDI R22,0
0452 E070 LDI R23,0
0453 0E24 ADD R2,R20
0454 1E35 ADC R3,R21
0455 1E46 ADC R4,R22
0456 1E57 ADC R5,R23
0457 922000C4 STS 0xC4,R2
(0181) freq=freq %1000;
0459 EE48 LDI R20,0xE8
045A E053 LDI R21,3
045B E060 LDI R22,0
045C E070 LDI R23,0
045D 01FE MOVW R30,R28
045E 8020 LDD R2,Z+0
045F 8031 LDD R3,Z+1
0460 8042 LDD R4,Z+2
0461 8053 LDD R5,Z+3
0462 937A ST R23,-Y
0463 936A ST R22,-Y
0464 935A ST R21,-Y
0465 934A ST R20,-Y
0466 0181 MOVW R16,R2
0467 0192 MOVW R18,R4
0468 940E0579 CALL mod32u
046A 01FE MOVW R30,R28
046B 8300 STD Z+0,R16
046C 8311 STD Z+1,R17
046D 8322 STD Z+2,R18
046E 8333 STD Z+3,R19
(0182) temp[5]=freq /100+0x30;
046F E644 LDI R20,0x64
0470 E050 LDI R21,0
0471 E060 LDI R22,0
0472 E070 LDI R23,0
0473 01FE MOVW R30,R28
0474 8020 LDD R2,Z+0
0475 8031 LDD R3,Z+1
0476 8042 LDD R4,Z+2
0477 8053 LDD R5,Z+3
0478 937A ST R23,-Y
0479 936A ST R22,-Y
047A 935A ST R21,-Y
047B 934A ST R20,-Y
047C 0181 MOVW R16,R2
047D 0192 MOVW R18,R4
047E 940E0577 CALL div32u
0480 0118 MOVW R2,R16
0481 0129 MOVW R4,R18
0482 E340 LDI R20,0x30
0483 E050 LDI R21,0
0484 E060 LDI R22,0
0485 E070 LDI R23,0
0486 0E24 ADD R2,R20
0487 1E35 ADC R3,R21
0488 1E46 ADC R4,R22
0489 1E57 ADC R5,R23
048A 922000C5 STS 0xC5,R2
(0183) freq=freq %100;
048C E644 LDI R20,0x64
048D E050 LDI R21,0
048E E060 LDI R22,0
048F E070 LDI R23,0
0490 01FE MOVW R30,R28
0491 8020 LDD R2,Z+0
0492 8031 LDD R3,Z+1
0493 8042 LDD R4,Z+2
0494 8053 LDD R5,Z+3
0495 937A ST R23,-Y
0496 936A ST R22,-Y
0497 935A ST R21,-Y
0498 934A ST R20,-Y
0499 0181 MOVW R16,R2
049A 0192 MOVW R18,R4
049B 940E0579 CALL mod32u
049D 01FE MOVW R30,R28
049E 8300 STD Z+0,R16
049F 8311 STD Z+1,R17
04A0 8322 STD Z+2,R18
04A1 8333 STD Z+3,R19
(0184) temp[6]=freq /10 + 0x30;
04A2 E04A LDI R20,0xA
04A3 E050 LDI R21,0
04A4 E060 LDI R22,0
04A5 E070 LDI R23,0
04A6 01FE MOVW R30,R28
04A7 8020 LDD R2,Z+0
04A8 8031 LDD R3,Z+1
04A9 8042 LDD R4,Z+2
04AA 8053 LDD R5,Z+3
04AB 937A ST R23,-Y
04AC 936A ST R22,-Y
04AD 935A ST R21,-Y
04AE 934A ST R20,-Y
04AF 0181 MOVW R16,R2
04B0 0192 MOVW R18,R4
04B1 940E0577 CALL div32u
04B3 0118 MOVW R2,R16
04B4 0129 MOVW R4,R18
04B5 E340 LDI R20,0x30
04B6 E050 LDI R21,0
04B7 E060 LDI R22,0
04B8 E070 LDI R23,0
04B9 0E24 ADD R2,R20
04BA 1E35 ADC R3,R21
04BB 1E46 ADC R4,R22
04BC 1E57 ADC R5,R23
04BD 922000C6 STS 0xC6,R2
(0185) temp[7]=freq %10 + 0x30;
04BF E04A LDI R20,0xA
04C0 E050 LDI R21,0
04C1 E060 LDI R22,0
04C2 E070 LDI R23,0
04C3 01FE MOVW R30,R28
04C4 8020 LDD R2,Z+0
04C5 8031 LDD R3,Z+1
04C6 8042 LDD R4,Z+2
04C7 8053 LDD R5,Z+3
04C8 937A ST R23,-Y
04C9 936A ST R22,-Y
04CA 935A ST R21,-Y
04CB 934A ST R20,-Y
04CC 0181 MOVW R16,R2
04CD 0192 MOVW R18,R4
04CE 940E0579 CALL mod32u
04D0 0118 MOVW R2,R16
04D1 0129 MOVW R4,R18
04D2 E340 LDI R20,0x30
04D3 E050 LDI R21,0
04D4 E060 LDI R22,0
04D5 E070 LDI R23,0
04D6 0E24 ADD R2,R20
04D7 1E35 ADC R3,R21
04D8 1E46 ADC R4,R22
04D9 1E57 ADC R5,R23
04DA 922000C7 STS 0xC7,R2
(0186)
(0187) LCD12864_gotoXY(3,2);
04DC E022 LDI R18,2
04DD E003 LDI R16,3
04DE 940E0101 CALL _LCD12864_gotoXY
(0188) LCD12864_sendstr(temp);
04E0 EC00 LDI R16,0xC0
04E1 E010 LDI R17,0
04E2 940E00DC CALL _LCD12864_sendstr
(0189) LCD12864_sendstr("Hz");
04E4 EB0D LDI R16,0xBD
04E5 E010 LDI R17,0
04E6 940E00DC CALL _LCD12864_sendstr
04E8 9624 ADIW R28,4
04E9 940E0640 CALL pop_gset2
04EB 9508 RET
(0190) /* LCD12864_sendbyte(1, temp[0]);
(0191) LCD12864_sendbyte(1, temp[1]);
(0192) LCD12864_sendbyte(1, temp[2]);
(0193) LCD12864_sendbyte(1, temp[3]);
(0194) LCD12864_sendbyte(1, temp[4]);
(0195) LCD12864_sendbyte(1, temp[5]);
(0196) LCD12864_sendbyte(1, temp[6]);
(0197) LCD12864_sendbyte(1, temp[7]);*/
(0198)
(0199) }
(0200)
(0201) void init_devices(void)
(0202) {
(0203) CLI(); //禁止所有中断
_init_devices:
04EC 94F8 BCLR 7
(0204) MCUCR = 0x00;
04ED 2422 CLR R2
04EE BE25 OUT 0x35,R2
(0205) GICR = 0x00;
04EF BE2B OUT 0x3B,R2
(0206) port_init();
04F0 DD2C RCALL _port_init
(0207) LCD12864_initial();
04F1 940E0129 CALL _LCD12864_initial
(0208) timer0_init();
04F3 DD36 RCALL _timer0_init
(0209) timer1_init();
04F4 DD5A RCALL _timer1_init
(0210) timer2_init();
04F5 DD76 RCALL _timer2_init
(0211) SEI();//开全局中断
04F6 9478 BSET 7
04F7 9508 RET
(0212) }
(0213) //主函数
(0214) void main(void)
(0215) {
(0216) init_devices();
_main:
04F8 DFF3 RCALL _init_devices
(0217) //在这继续添加你的代码
(0218) LCD12864_gotoXY(1,0);
04F9 2722 CLR R18
04FA E001 LDI R16,1
04FB 940E0101 CALL _LCD12864_gotoXY
(0219) LCD12864_sendstr("作者: 张秋伟");
04FD EB00 LDI R16,0xB0
04FE E010 LDI R17,0
04FF 940E00DC CALL _LCD12864_sendstr
(0220) LCD12864_gotoXY(2,0);
0501 2722 CLR R18
0502 E002 LDI R16,2
0503 940E0101 CALL _LCD12864_gotoXY
(0221) LCD12864_sendstr("班级: 06电气");
0505 EA03 LDI R16,0xA3
0506 E010 LDI R17,0
0507 940E00DC CALL _LCD12864_sendstr
(0222) LCD12864_gotoXY(3,0);
0509 2722 CLR R18
050A E003 LDI R16,3
050B 940E0101 CALL _LCD12864_gotoXY
(0223) LCD12864_sendstr("学号: 06");
050D E90A LDI R16,0x9A
050E E010 LDI R17,0
050F 940E00DC CALL _LCD12864_sendstr
(0224) delay_nms(5000);
0511 E808 LDI R16,0x88
0512 E113 LDI R17,0x13
0513 940E0568 CALL _delay_nms
(0225) LCD12864_clear(); //清屏
0515 940E00EC CALL _LCD12864_clear
(0226) LCD12864_gotoXY(1,2);
0517 E022 LDI R18,2
0518 E001 LDI R16,1
0519 940E0101 CALL _LCD12864_gotoXY
(0227) LCD12864_sendstr("数字频率计");
051B E80F LDI R16,0x8F
051C E010 LDI R17,0
051D 940E00DC CALL _LCD12864_sendstr
(0228) LCD12864_gotoXY(2,0);
051F 2722 CLR R18
0520 E002 LDI R16,2
0521 940E0101 CALL _LCD12864_gotoXY
(0229) LCD12864_sendstr("时间");
0523 E80A LDI R16,0x8A
0524 E010 LDI R17,0
0525 940E00DC CALL _LCD12864_sendstr
(0230) LCD12864_gotoXY(3,0);
0527 2722 CLR R18
0528 E003 LDI R16,3
0529 940E0101 CALL _LCD12864_gotoXY
(0231) LCD12864_sendstr("频率");
052B E805 LDI R16,0x85
052C E010 LDI R17,0
052D 940E00DC CALL _LCD12864_sendstr
(0232)
(0233) DDRB |=(1<<PB7)|(1<<PB0);//设置74ls393的清零端,闸门控制端为输出
052F B387 IN R24,0x17
0530 6881 ORI R24,0x81
0531 BB87 OUT 0x17,R24
(0234) PORTB|= (1<<PB7); //74LS393清零
0532 9AC7 SBI 0x18,7
(0235) delay_nus(5);
0533 E005 LDI R16,5
0534 E010 LDI R17,0
0535 940E054F CALL _delay_nus
(0236) PORTB &=~(1<<PB7); //74LS393开始计数
0537 98C7 CBI 0x18,7
(0237) PORTB|=(1<<PB0); //打开闸门
0538 9AC0 SBI 0x18,0
0539 C011 RJMP 0x054B
(0238) while(1)
(0239) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -