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

📄 pro.lis

📁 数字频率计数字频率计数字频率计数字频率计
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 059E 44E6              ldi R20,100
 05A0 50E0              ldi R21,0
 05A2 60E0              ldi R22,0
 05A4 70E0              ldi R23,0
 05A6 FE01              movw R30,R28
 05A8 2080              ldd R2,z+0
 05AA 3180              ldd R3,z+1
 05AC 4280              ldd R4,z+2
 05AE 5380              ldd R5,z+3
 05B0 7A93              st -y,R23
 05B2 6A93              st -y,R22
 05B4 5A93              st -y,R21
 05B6 4A93              st -y,R20
 05B8 8101              movw R16,R2
 05BA 9201              movw R18,R4
 05BC 0E940000          xcall mod32u
 05C0 FE01              movw R30,R28
 05C2 0083              std z+0,R16
 05C4 1183              std z+1,R17
 05C6 2283              std z+2,R18
 05C8 3383              std z+3,R19
 05CA                   .dbline 184
 05CA           ;     temp[6]=freq  /10 + 0x30;
 05CA 4AE0              ldi R20,10
 05CC 50E0              ldi R21,0
 05CE 60E0              ldi R22,0
 05D0 70E0              ldi R23,0
 05D2 FE01              movw R30,R28
 05D4 2080              ldd R2,z+0
 05D6 3180              ldd R3,z+1
 05D8 4280              ldd R4,z+2
 05DA 5380              ldd R5,z+3
 05DC 7A93              st -y,R23
 05DE 6A93              st -y,R22
 05E0 5A93              st -y,R21
 05E2 4A93              st -y,R20
 05E4 8101              movw R16,R2
 05E6 9201              movw R18,R4
 05E8 0E940000          xcall div32u
 05EC 1801              movw R2,R16
 05EE 2901              movw R4,R18
 05F0 40E3              ldi R20,48
 05F2 50E0              ldi R21,0
 05F4 60E0              ldi R22,0
 05F6 70E0              ldi R23,0
 05F8 240E              add R2,R20
 05FA 351E              adc R3,R21
 05FC 461E              adc R4,R22
 05FE 571E              adc R5,R23
 0600 20920600          sts _temp+6,R2
 0604                   .dbline 185
 0604           ;     temp[7]=freq  %10 + 0x30;
 0604 4AE0              ldi R20,10
 0606 50E0              ldi R21,0
 0608 60E0              ldi R22,0
 060A 70E0              ldi R23,0
 060C FE01              movw R30,R28
 060E 2080              ldd R2,z+0
 0610 3180              ldd R3,z+1
 0612 4280              ldd R4,z+2
 0614 5380              ldd R5,z+3
 0616 7A93              st -y,R23
 0618 6A93              st -y,R22
 061A 5A93              st -y,R21
 061C 4A93              st -y,R20
 061E 8101              movw R16,R2
 0620 9201              movw R18,R4
 0622 0E940000          xcall mod32u
 0626 1801              movw R2,R16
 0628 2901              movw R4,R18
 062A 40E3              ldi R20,48
 062C 50E0              ldi R21,0
 062E 60E0              ldi R22,0
 0630 70E0              ldi R23,0
 0632 240E              add R2,R20
 0634 351E              adc R3,R21
 0636 461E              adc R4,R22
 0638 571E              adc R5,R23
 063A 20920700          sts _temp+7,R2
 063E                   .dbline 187
 063E           ;   
 063E           ;   LCD12864_gotoXY(3,2);
 063E 22E0              ldi R18,2
 0640 03E0              ldi R16,3
 0642 0E940000          xcall _LCD12864_gotoXY
 0646                   .dbline 188
 0646           ;   LCD12864_sendstr(temp);
 0646 00E0              ldi R16,<_temp
 0648 10E0              ldi R17,>_temp
 064A 0E940000          xcall _LCD12864_sendstr
 064E                   .dbline 189
 064E           ;   LCD12864_sendstr("Hz");
 064E 00E0              ldi R16,<L35
 0650 10E0              ldi R17,>L35
 0652 0E940000          xcall _LCD12864_sendstr
 0656                   .dbline -2
 0656           L27:
 0656 2496              adiw R28,4
 0658 0E940000          xcall pop_gset2
 065C                   .dbline 0 ; func end
 065C 0895              ret
 065E                   .dbsym l freq 0 l
 065E                   .dbend
 065E                   .dbfunc e init_devices _init_devices fV
                        .even
 065E           _init_devices::
 065E                   .dbline -1
 065E                   .dbline 202
 065E           ;  /* LCD12864_sendbyte(1, temp[0]);
 065E           ;   LCD12864_sendbyte(1, temp[1]);
 065E           ;   LCD12864_sendbyte(1, temp[2]);
 065E           ;   LCD12864_sendbyte(1, temp[3]);
 065E           ;   LCD12864_sendbyte(1, temp[4]);
 065E           ;   LCD12864_sendbyte(1, temp[5]);
 065E           ;   LCD12864_sendbyte(1, temp[6]);
 065E           ;   LCD12864_sendbyte(1, temp[7]);*/
 065E           ;   
 065E           ; }
 065E           ; 
 065E           ; void init_devices(void)
 065E           ; {
 065E                   .dbline 203
 065E           ;  CLI(); //禁止所有中断
 065E F894              cli
 0660                   .dbline 204
 0660           ;  MCUCR  = 0x00;
 0660 2224              clr R2
 0662 25BE              out 0x35,R2
 0664                   .dbline 205
 0664           ;  GICR   = 0x00;
 0664 2BBE              out 0x3b,R2
 0666                   .dbline 206
 0666           ;  port_init();
 0666 2CDD              xcall _port_init
 0668                   .dbline 207
 0668           ;  LCD12864_initial(); 
 0668 0E940000          xcall _LCD12864_initial
 066C                   .dbline 208
 066C           ;  timer0_init();
 066C 36DD              xcall _timer0_init
 066E                   .dbline 209
 066E           ;  timer1_init();
 066E 5ADD              xcall _timer1_init
 0670                   .dbline 210
 0670           ;  timer2_init();
 0670 76DD              xcall _timer2_init
 0672                   .dbline 211
 0672           ;  SEI();//开全局中断
 0672 7894              sei
 0674                   .dbline -2
 0674           L36:
 0674                   .dbline 0 ; func end
 0674 0895              ret
 0676                   .dbend
 0676                   .dbfunc e main _main fV
                        .even
 0676           _main::
 0676                   .dbline -1
 0676                   .dbline 215
 0676           ; }
 0676           ; //主函数
 0676           ; void main(void)
 0676           ; {
 0676                   .dbline 216
 0676           ;  init_devices();
 0676 F3DF              xcall _init_devices
 0678                   .dbline 218
 0678           ;  //在这继续添加你的代码
 0678           ;    LCD12864_gotoXY(1,0);
 0678 2227              clr R18
 067A 01E0              ldi R16,1
 067C 0E940000          xcall _LCD12864_gotoXY
 0680                   .dbline 219
 0680           ;   LCD12864_sendstr("作者: 张秋伟");
 0680 00E0              ldi R16,<L38
 0682 10E0              ldi R17,>L38
 0684 0E940000          xcall _LCD12864_sendstr
 0688                   .dbline 220
 0688           ;   LCD12864_gotoXY(2,0);
 0688 2227              clr R18
 068A 02E0              ldi R16,2
 068C 0E940000          xcall _LCD12864_gotoXY
 0690                   .dbline 221
 0690           ;   LCD12864_sendstr("班级: 06电气");
 0690 00E0              ldi R16,<L39
 0692 10E0              ldi R17,>L39
 0694 0E940000          xcall _LCD12864_sendstr
 0698                   .dbline 222
 0698           ;    LCD12864_gotoXY(3,0);
 0698 2227              clr R18
 069A 03E0              ldi R16,3
 069C 0E940000          xcall _LCD12864_gotoXY
 06A0                   .dbline 223
 06A0           ;   LCD12864_sendstr("学号: 06");
 06A0 00E0              ldi R16,<L40
 06A2 10E0              ldi R17,>L40
 06A4 0E940000          xcall _LCD12864_sendstr
 06A8                   .dbline 224
 06A8           ;   delay_nms(5000);
 06A8 08E8              ldi R16,5000
 06AA 13E1              ldi R17,19
 06AC 0E940000          xcall _delay_nms
 06B0                   .dbline 225
 06B0           ;   LCD12864_clear();                                           //清屏
 06B0 0E940000          xcall _LCD12864_clear
 06B4                   .dbline 226
 06B4           ;   LCD12864_gotoXY(1,2);
 06B4 22E0              ldi R18,2
 06B6 01E0              ldi R16,1
 06B8 0E940000          xcall _LCD12864_gotoXY
 06BC                   .dbline 227
 06BC           ;   LCD12864_sendstr("数字频率计");
 06BC 00E0              ldi R16,<L41
 06BE 10E0              ldi R17,>L41
 06C0 0E940000          xcall _LCD12864_sendstr
 06C4                   .dbline 228
 06C4           ;    LCD12864_gotoXY(2,0);
 06C4 2227              clr R18
 06C6 02E0              ldi R16,2
 06C8 0E940000          xcall _LCD12864_gotoXY
 06CC                   .dbline 229
 06CC           ;   LCD12864_sendstr("时间");
 06CC 00E0              ldi R16,<L42
 06CE 10E0              ldi R17,>L42
 06D0 0E940000          xcall _LCD12864_sendstr
 06D4                   .dbline 230
 06D4           ;   LCD12864_gotoXY(3,0);
 06D4 2227              clr R18
 06D6 03E0              ldi R16,3
 06D8 0E940000          xcall _LCD12864_gotoXY
 06DC                   .dbline 231
 06DC           ;   LCD12864_sendstr("频率");
 06DC 00E0              ldi R16,<L43
 06DE 10E0              ldi R17,>L43
 06E0 0E940000          xcall _LCD12864_sendstr
 06E4                   .dbline 233
 06E4           ; 
 06E4           ;   DDRB |=(1<<PB7)|(1<<PB0);//设置74ls393的清零端,闸门控制端为输出
 06E4 87B3              in R24,0x17
 06E6 8168              ori R24,129
 06E8 87BB              out 0x17,R24
 06EA                   .dbline 234
 06EA           ;   PORTB|= (1<<PB7); //74LS393清零
 06EA C79A              sbi 0x18,7
 06EC                   .dbline 235
 06EC           ;   delay_nus(5);
 06EC 05E0              ldi R16,5
 06EE 10E0              ldi R17,0
 06F0 0E940000          xcall _delay_nus
 06F4                   .dbline 236
 06F4           ;   PORTB &=~(1<<PB7); //74LS393开始计数
 06F4 C798              cbi 0x18,7
 06F6                   .dbline 237
 06F6           ;   PORTB|=(1<<PB0);  //打开闸门
 06F6 C09A              sbi 0x18,0
 06F8 11C0              xjmp L45
 06FA           L44:
 06FA                   .dbline 239
 06FA           ;   while(1)
 06FA           ;   {
 06FA                   .dbline 240
 06FA           ;   if(second_is_ok == 1)
 06FA 80912400          lds R24,_second_is_ok
 06FE 8130              cpi R24,1
 0700 21F4              brne L47
 0702                   .dbline 241
 0702           ;    {
 0702                   .dbline 242
 0702           ;     second_is_ok =0;
 0702 2224              clr R2
 0704 20922400          sts _second_is_ok,R2
 0708                   .dbline 243
 0708           ;       time();
 0708 7BDC              xcall _time
 070A                   .dbline 244
 070A           ;    }
 070A           L47:
 070A                   .dbline 245
 070A           ;    if(display_is_ok)
 070A 20902200          lds R2,_display_is_ok
 070E 2220              tst R2
 0710 29F0              breq L49
 0712                   .dbline 246
 0712           ;    {
 0712                   .dbline 247
 0712           ;       display_is_ok=0;
 0712 2224              clr R2
 0714 20922200          sts _display_is_ok,R2
 0718                   .dbline 248
 0718           ;       PutChar();
 0718 0DDE              xcall _PutChar
 071A                   .dbline 249
 071A           ;       display_time();
 071A 8DDC              xcall _display_time
 071C                   .dbline 250
 071C           ;       }
 071C           L49:
 071C                   .dbline 251
 071C           L45:
 071C                   .dbline 238
 071C EECF              xjmp L44
 071E           X0:
 071E                   .dbline -2
 071E           L37:
 071E                   .dbline 0 ; func end
 071E 0895              ret
 0720                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\张秋伟\我的实验\数字频率计\pro.c
 0000           _temp::
 0000                   .blkb 8
 0008                   .dbsym e temp _temp A[8:8]c
 0008           _Hour_L::
 0008                   .blkb 1
 0009                   .dbsym e Hour_L _Hour_L c
 0009           _Hour_H::
 0009                   .blkb 1
 000A                   .dbsym e Hour_H _Hour_H c
 000A           _Minute_L::
 000A                   .blkb 1
 000B                   .dbsym e Minute_L _Minute_L c
 000B           _Minute_H::
 000B                   .blkb 1
 000C                   .dbsym e Minute_H _Minute_H c
 000C           _Second_L::
 000C                   .blkb 1
 000D                   .dbsym e Second_L _Second_L c
 000D           _Second_H::
 000D                   .blkb 1
 000E                   .dbsym e Second_H _Second_H c
                        .area data(ram, con, rel)
 0025                   .dbfile E:\张秋伟\我的实验\数字频率计\pro.c
 0025           L43:
 0025                   .blkb 5
                        .area idata
 0025 C6B5C2CA00        .byte 198,181,194,202,0
                        .area data(ram, con, rel)
 002A                   .dbfile E:\张秋伟\我的实验\数字频率计\pro.c
 002A           L42:
 002A                   .blkb 5
                        .area idata
 002A CAB1BCE400        .byte 202,177,188,228,0
                        .area data(ram, con, rel)
 002F                   .dbfile E:\张秋伟\我的实验\数字频率计\pro.c
 002F           L41:
 002F                   .blkb 11
                        .area idata
 002F CAFDD7D6C6B5C2CABCC600    .byte 202,253,215,214,198,181,194,202,188,198,0
                        .area data(ram, con, rel)
 003A                   .dbfile E:\张秋伟\我的实验\数字频率计\pro.c
 003A           L40:
 003A                   .blkb 9
                        .area idata
 003A D1A7BAC53A20303600        .byte 209,167,186,197,58,32,48,54,0
                        .area data(ram, con, rel)
 0043                   .dbfile E:\张秋伟\我的实验\数字频率计\pro.c
 0043           L39:
 0043                   .blkb 13
                        .area idata
 0043 B0E0BCB63A203036B5E7C6F800        .byte 176,224,188,182,58,32,48,54,181,231,198,248,0
                        .area data(ram, con, rel)
 0050                   .dbfile E:\张秋伟\我的实验\数字频率计\pro.c
 0050           L38:
 0050                   .blkb 13
                        .area idata
 0050 D7F7D5DF3A20D5C5C7EFCEB000        .byte 215,247,213,223,58,32,213,197,199,239,206,176,0
                        .area data(ram, con, rel)
 005D                   .dbfile E:\张秋伟\我的实验\数字频率计\pro.c
 005D           L35:
 005D                   .blkb 3
                        .area idata
 005D 487A00            .byte 'H,'z,0
                        .area data(ram, con, rel)
 0060                   .dbfile E:\张秋伟\我的实验\数字频率计\pro.c

⌨️ 快捷键说明

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