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

📄 main.lis

📁 基于AVR单片机的热电偶测量系统源码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0094 9927              clr R25
 0096 8F70              andi R24,15
 0098 9070              andi R25,0
 009A 90931A00          sts _time_array+10+1,R25
 009E 80931900          sts _time_array+10,R24
 00A2                   .dbline 45
 00A2           ;       Draw_NtoArab(0x00,0x28,time_array[0]);
 00A2 20900F00          lds R2,_time_array
 00A6 30901000          lds R3,_time_array+1
 00AA 2882              std y+0,R2
 00AC 28E2              ldi R18,40
 00AE 0027              clr R16
 00B0 0E940000          xcall _Draw_NtoArab
 00B4                   .dbline 46
 00B4           ;       Draw_NtoArab(0x00,0x30,time_array[1]);
 00B4 20901100          lds R2,_time_array+2
 00B8 30901200          lds R3,_time_array+2+1
 00BC 2882              std y+0,R2
 00BE 20E3              ldi R18,48
 00C0 0027              clr R16
 00C2 0E940000          xcall _Draw_NtoArab
 00C6                   .dbline 47
 00C6           ;       Draw_NtoArab(0x00,0x40,time_array[2]);
 00C6 20901300          lds R2,_time_array+4
 00CA 30901400          lds R3,_time_array+4+1
 00CE 2882              std y+0,R2
 00D0 20E4              ldi R18,64
 00D2 0027              clr R16
 00D4 0E940000          xcall _Draw_NtoArab
 00D8                   .dbline 48
 00D8           ;       Draw_NtoArab(0x00,0x48,time_array[3]);
 00D8 20901500          lds R2,_time_array+6
 00DC 30901600          lds R3,_time_array+6+1
 00E0 2882              std y+0,R2
 00E2 28E4              ldi R18,72
 00E4 0027              clr R16
 00E6 0E940000          xcall _Draw_NtoArab
 00EA                   .dbline 49
 00EA           ;       Draw_NtoArab(0x00,0x58,time_array[4]);
 00EA 20901700          lds R2,_time_array+8
 00EE 30901800          lds R3,_time_array+8+1
 00F2 2882              std y+0,R2
 00F4 28E5              ldi R18,88
 00F6 0027              clr R16
 00F8 0E940000          xcall _Draw_NtoArab
 00FC                   .dbline 50
 00FC           ;       Draw_NtoArab(0x00,0x60,time_array[5]);
 00FC 20901900          lds R2,_time_array+10
 0100 30901A00          lds R3,_time_array+10+1
 0104 2882              std y+0,R2
 0106 20E6              ldi R18,96
 0108 0027              clr R16
 010A 0E940000          xcall _Draw_NtoArab
 010E                   .dbline -2
 010E           L1:
 010E 2196              adiw R28,1
 0110 0E940000          xcall pop_gset3
 0114                   .dbline 0 ; func end
 0114 0895              ret
 0116                   .dbsym r sec 20 c
 0116                   .dbsym r min 22 c
 0116                   .dbsym r hour 10 c
 0116                   .dbend
 0116                   .dbfunc e show_canbi _show_canbi fV
                        .even
 0116           _show_canbi::
 0116 2197              sbiw R28,1
 0118                   .dbline -1
 0118                   .dbline 54
 0118           ; }
 0118           ; 
 0118           ; void show_canbi(void)
 0118           ; {
 0118                   .dbline 55
 0118           ;       Draw_NtoArab(0x04,0x40,canbi_array[1]);
 0118 20900700          lds R2,_canbi_array+2
 011C 30900800          lds R3,_canbi_array+2+1
 0120 2882              std y+0,R2
 0122 20E4              ldi R18,64
 0124 04E0              ldi R16,4
 0126 0E940000          xcall _Draw_NtoArab
 012A                   .dbline 56
 012A           ;       Draw_NtoArab(0x04,0x48,canbi_array[2]);
 012A 20900900          lds R2,_canbi_array+4
 012E 30900A00          lds R3,_canbi_array+4+1
 0132 2882              std y+0,R2
 0134 28E4              ldi R18,72
 0136 04E0              ldi R16,4
 0138 0E940000          xcall _Draw_NtoArab
 013C                   .dbline 57
 013C           ;       Draw_NtoArab(0x04,0x58,canbi_array[3]);
 013C 20900B00          lds R2,_canbi_array+6
 0140 30900C00          lds R3,_canbi_array+6+1
 0144 2882              std y+0,R2
 0146 28E5              ldi R18,88
 0148 04E0              ldi R16,4
 014A 0E940000          xcall _Draw_NtoArab
 014E                   .dbline 58
 014E           ;       Draw_NtoArab(0x04,0x60,canbi_array[4]);
 014E 20900D00          lds R2,_canbi_array+8
 0152 30900E00          lds R3,_canbi_array+8+1
 0156 2882              std y+0,R2
 0158 20E6              ldi R18,96
 015A 04E0              ldi R16,4
 015C 0E940000          xcall _Draw_NtoArab
 0160                   .dbline -2
 0160           L12:
 0160 2196              adiw R28,1
 0162                   .dbline 0 ; func end
 0162 0895              ret
 0164                   .dbend
 0164                   .dbfunc e data_init _data_init fV
 0164           ;              i -> R16
                        .even
 0164           _data_init::
 0164                   .dbline -1
 0164                   .dbline 62
 0164           ; }
 0164           ; 
 0164           ; void data_init(void) 
 0164           ; {
 0164                   .dbline 64
 0164           ;       unsigned char i;
 0164           ;       entercount=0;
 0164 2224              clr R2
 0166 20922200          sts _entercount,R2
 016A                   .dbline 65
 016A           ;       leftcount=0;
 016A 20922100          sts _leftcount,R2
 016E                   .dbline 66
 016E           ;       rightcount=0;
 016E 20922000          sts _rightcount,R2
 0172                   .dbline 67
 0172           ;       position1302=0;
 0172 20921F00          sts _position1302,R2
 0176                   .dbline 68
 0176           ;       positioncanbi=0x02;
 0176 82E0              ldi R24,2
 0178 80931C00          sts _positioncanbi,R24
 017C                   .dbline 69
 017C           ;       for(i=1;i<5;i++)
 017C 01E0              ldi R16,1
 017E 0CC0              xjmp L21
 0180           L18:
 0180                   .dbline 70
 0180 82E0              ldi R24,2
 0182 809F              mul R24,R16
 0184 F001              movw R30,R0
 0186 80E0              ldi R24,<_canbi_array
 0188 90E0              ldi R25,>_canbi_array
 018A E80F              add R30,R24
 018C F91F              adc R31,R25
 018E 2224              clr R2
 0190 3324              clr R3
 0192 3182              std z+1,R3
 0194 2082              std z+0,R2
 0196           L19:
 0196                   .dbline 69
 0196 0395              inc R16
 0198           L21:
 0198                   .dbline 69
 0198 0530              cpi R16,5
 019A 90F3              brlo L18
 019C                   .dbline -2
 019C           L17:
 019C                   .dbline 0 ; func end
 019C 0895              ret
 019E                   .dbsym r i 16 c
 019E                   .dbend
 019E                   .dbfunc e main _main fV
                        .even
 019E           _main::
 019E                   .dbline -1
 019E                   .dbline 74
 019E           ;               canbi_array[i]=0x00;
 019E           ; }
 019E           ; 
 019E           ; void main(void)
 019E           ; {
 019E                   .dbline 75
 019E           ;       Initial_MCU();  //初始化mcu
 019E 0E940000          xcall _Initial_MCU
 01A2                   .dbline 76
 01A2           ;       Initial_LCD();  //初始化LCD
 01A2 0E940000          xcall _Initial_LCD
 01A6                   .dbline 77
 01A6           ;       Com0_Init();    //初始化串口
 01A6 0E940000          xcall _Com0_Init
 01AA                   .dbline 78
 01AA           ;       pDS1302_Init(); //初始化1302
 01AA 0E940000          xcall _pDS1302_Init
 01AE                   .dbline 79
 01AE           ;       data_init();
 01AE DADF              xcall _data_init
 01B0                   .dbline 80
 01B0           ;     Clear_DDRAM(0x00,0x07); //清除lcd的所有显示内容
 01B0 27E0              ldi R18,7
 01B2 0027              clr R16
 01B4 0E940000          xcall _Clear_DDRAM
 01B8                   .dbline 81
 01B8           ;       Draw_Menu_Interface();  //绘制主菜单
 01B8 0E940000          xcall _Draw_Menu_Interface
 01BC 0BC0              xjmp L24
 01BE           L23:
 01BE                   .dbline 83
 01BE                   .dbline 84
 01BE 01E6              ldi R16,97
 01C0 0E940000          xcall _Uart_Transmit
 01C4                   .dbline 85
 01C4 1DDF              xcall _show_time
 01C6                   .dbline 86
 01C6 0E940000          xcall _show_temperature
 01CA                   .dbline 87
 01CA A5DF              xcall _show_canbi
 01CC                   .dbline 88
 01CC 0E940000          xcall _checkkey
 01D0                   .dbline 89
 01D0 0E940000          xcall _display7135
 01D4                   .dbline 90
 01D4           L24:
 01D4                   .dbline 82
 01D4 F4CF              xjmp L23
 01D6           X0:
 01D6                   .dbline -2
 01D6           L22:
 01D6                   .dbline 0 ; func end
 01D6 0895              ret
 01D8                   .dbend
                        .area vector(rom, abs)
                        .org 20
 0014 0C94EC00          jmp _timer1_capt_isr
                        .area text(rom, con, rel)
 01D8                   .dbfile D:\zhangyu\H2test\program\main.c
 01D8                   .dbfunc e timer1_capt_isr _timer1_capt_isr fV
                        .even
 01D8           _timer1_capt_isr::
 01D8 2A92              st -y,R2
 01DA 3A92              st -y,R3
 01DC 8A93              st -y,R24
 01DE 2FB6              in R2,0x3f
 01E0 2A92              st -y,R2
 01E2                   .dbline -1
 01E2                   .dbline 97
 01E2           ;       while(1)
 01E2           ;       {
 01E2           ;               Uart_Transmit('a');
 01E2           ;               show_time();
 01E2           ;               show_temperature();
 01E2           ;               show_canbi();
 01E2           ;               checkkey();
 01E2           ;               display7135();
 01E2           ;       }       
 01E2           ; }
 01E2           ; 
 01E2           ; 
 01E2           ; //测7135的busy信号所需的定时器捕获中断函数
 01E2           ; #pragma interrupt_handler timer1_capt_isr:6
 01E2           ; void timer1_capt_isr(void)
 01E2           ; {
 01E2                   .dbline 98
 01E2           ;       if(ICP)
 01E2 969B              sbis 0x12,6
 01E4 07C0              rjmp L27
 01E6                   .dbline 99
 01E6           ;       {
 01E6                   .dbline 100
 01E6           ;               endflag=0;
 01E6 2224              clr R2
 01E8 20920400          sts _endflag,R2
 01EC                   .dbline 101
 01EC           ;               TCCR1B&=0xbf;   //下降沿捕获
 01EC 8EB5              in R24,0x2e
 01EE 8F7B              andi R24,191
 01F0 8EBD              out 0x2e,R24
 01F2                   .dbline 102
 01F2           ;       }
 01F2 0BC0              xjmp L28
 01F4           L27:
 01F4                   .dbline 104
 01F4                   .dbline 105
 01F4 26B4              in R2,0x26
 01F6 37B4              in R3,0x27
 01F8 30920100          sts _pulse+1,R3
 01FC 20920000          sts _pulse,R2
 0200                   .dbline 106
 0200 81E0              ldi R24,1
 0202 80930400          sts _endflag,R24
 0206                   .dbline 107
 0206 2224              clr R2
 0208 2EBC              out 0x2e,R2
 020A                   .dbline 108
 020A           L28:
 020A                   .dbline -2
 020A           L26:
 020A 2990              ld R2,y+
 020C 2FBE              out 0x3f,R2
 020E 8991              ld R24,y+
 0210 3990              ld R3,y+
 0212 2990              ld R2,y+
 0214                   .dbline 0 ; func end
 0214 1895              reti
 0216                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\zhangyu\H2test\program\main.c
 0000           _pulse::
 0000                   .blkb 2
 0002                   .dbsym e pulse _pulse i
 0002           _ovcounter::
 0002                   .blkb 2
 0004                   .dbsym e ovcounter _ovcounter i
 0004           _endflag::
 0004                   .blkb 1
 0005                   .dbsym e endflag _endflag c
 0005           _canbi_array::
 0005                   .blkb 10
 000F                   .dbsym e canbi_array _canbi_array A[10:5]i
 000F           _time_array::
 000F                   .blkb 12
 001B                   .dbsym e time_array _time_array A[12:6]i
 001B           _canbianjian::
 001B                   .blkb 1
 001C                   .dbsym e canbianjian _canbianjian c
 001C           _positioncanbi::
 001C                   .blkb 1
 001D                   .dbsym e positioncanbi _positioncanbi c
 001D           _mm::
 001D                   .blkb 1
 001E                   .dbsym e mm _mm c
 001E           _hh::
 001E                   .blkb 1
 001F                   .dbsym e hh _hh c
 001F           _position1302::
 001F                   .blkb 1
 0020                   .dbsym e position1302 _position1302 c
 0020           _rightcount::
 0020                   .blkb 1
 0021                   .dbsym e rightcount _rightcount c
 0021           _leftcount::
 0021                   .blkb 1
 0022                   .dbsym e leftcount _leftcount c
 0022           _entercount::
 0022                   .blkb 1
 0023                   .dbsym e entercount _entercount c

⌨️ 快捷键说明

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