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

📄 lc.lis

📁 ICC-AVR环境,用ATmage16做的LC表
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 012E                   .dbline 30
 012E 8AB3              in R24,0x1a
 0130 806F              ori R24,240
 0132 8ABB              out 0x1a,R24
 0134                   .dbline 31
 0134 84B3              in R24,0x14
 0136 8360              ori R24,3
 0138 84BB              out 0x14,R24
 013A                   .dbline 32
 013A 2224              clr R2
 013C 21BA              out 0x11,R2
 013E                   .dbline 33
 013E 8FEF              ldi R24,255
 0140 82BB              out 0x12,R24
 0142                   .dbline 34
 0142 C7DF              xcall _LCD_init
 0144 02C0              xjmp L15
 0146           L14:
 0146                   .dbline 37
 0146 04E6              ldi R16,100
 0148 39D3              xcall _delay_nms
 014A           L15:
 014A                   .dbline 36
 014A 842F              mov R24,R20
 014C 8150              subi R24,1
 014E 482F              mov R20,R24
 0150 8823              tst R24
 0152 C9F7              brne L14
 0154                   .dbline 39
 0154 F894              cli
 0156                   .dbline 40
 0156 86D0              xcall _timer1_init
 0158                   .dbline 41
 0158 8DD0              xcall _timer2_init
 015A                   .dbline 42
 015A 2224              clr R2
 015C 25BE              out 0x35,R2
 015E                   .dbline 43
 015E 2BBE              out 0x3b,R2
 0160                   .dbline 44
 0160 80E4              ldi R24,64
 0162 89BF              out 0x39,R24
 0164                   .dbline 45
 0164 7894              sei
 0166                   .dbline 47
 0166 2227              clr R18
 0168 3327              clr R19
 016A 01E0              ldi R16,1
 016C 10E0              ldi R17,0
 016E 4DDF              xcall _LCD_write_char
 0170                   .dbline 48
 0170 02E0              ldi R16,2
 0172 24D3              xcall _delay_nms
 0174           L17:
 0174                   .dbline 49
 0174           L18:
 0174                   .dbline 49
 0174 FFCF              xjmp L17
 0176           X1:
 0176                   .dbline -2
 0176           L13:
 0176                   .dbline 0 ; func end
 0176 0895              ret
 0178                   .dbsym r k 20 c
 0178                   .dbend
                        .area vector(rom, abs)
                        .org 16
 0010 0C94BC00          jmp _timer2_ovf_isr
                        .area text(rom, con, rel)
 0178                   .dbfile E:\资料文件\MCU\myLC\LC.c
 0178                   .dbfunc e timer2_ovf_isr _timer2_ovf_isr fV
                        .even
 0178           _timer2_ovf_isr::
 0178 0E940000          xcall push_lset
 017C 2297              sbiw R28,2
 017E                   .dbline -1
 017E                   .dbline 54
 017E                   .dbline 55
 017E 2224              clr R2
 0180 25BC              out 0x25,R2
 0182                   .dbline 56
 0182 2EBC              out 0x2e,R2
 0184                   .dbline 57
 0184 2CB4              in R2,0x2c
 0186 3DB4              in R3,0x2d
 0188 30920700          sts _last_TCNT1+1,R3
 018C 20920600          sts _last_TCNT1,R2
 0190                   .dbline 59
 0190 80B3              in R24,0x10
 0192 8E6F              ori R24,254
 0194 8E3F              cpi R24,254
 0196 99F5              brne L21
 0198                   .dbline 60
 0198                   .dbline 61
 0198 2227              clr R18
 019A 3327              clr R19
 019C 01E0              ldi R16,1
 019E 10E0              ldi R17,0
 01A0 34DF              xcall _LCD_write_char
 01A2                   .dbline 62
 01A2 02E0              ldi R16,2
 01A4 0BD3              xcall _delay_nms
 01A6                   .dbline 63
 01A6 2227              clr R18
 01A8 0027              clr R16
 01AA 80DF              xcall _LCD_set_xy
 01AC                   .dbline 65
 01AC 23E4              ldi R18,67
 01AE 30E0              ldi R19,0
 01B0 0027              clr R16
 01B2 1127              clr R17
 01B4 2ADF              xcall _LCD_write_char
 01B6                   .dbline 66
 01B6 2EE6              ldi R18,110
 01B8 30E0              ldi R19,0
 01BA 0027              clr R16
 01BC 1127              clr R17
 01BE 25DF              xcall _LCD_write_char
 01C0                   .dbline 67
 01C0 2DE3              ldi R18,61
 01C2 30E0              ldi R19,0
 01C4 0027              clr R16
 01C6 1127              clr R17
 01C8 20DF              xcall _LCD_write_char
 01CA                   .dbline 68
 01CA 5CD0              xcall _calc_Cn
 01CC                   .dbline 70
 01CC 80E0              ldi R24,<L23
 01CE 90E0              ldi R25,>L23
 01D0 9983              std y+1,R25
 01D2 8883              std y+0,R24
 01D4 21E0              ldi R18,1
 01D6 0027              clr R16
 01D8 90DF              xcall _LCD_write_string
 01DA                   .dbline 71
 01DA 8AE0              ldi R24,10
 01DC 90E0              ldi R25,0
 01DE 9983              std y+1,R25
 01E0 8883              std y+0,R24
 01E2 20910600          lds R18,_last_TCNT1
 01E6 30910700          lds R19,_last_TCNT1+1
 01EA 00E0              ldi R16,<_buf
 01EC 10E0              ldi R17,>_buf
 01EE 0E940000          xcall _itoa
 01F2 1983              std y+1,R17
 01F4 0883              std y+0,R16
 01F6 21E0              ldi R18,1
 01F8 01E0              ldi R16,1
 01FA 7FDF              xcall _LCD_write_string
 01FC                   .dbline 73
 01FC 2DC0              xjmp L22
 01FE           L21:
 01FE                   .dbline 75
 01FE                   .dbline 76
 01FE 2227              clr R18
 0200 3327              clr R19
 0202 01E0              ldi R16,1
 0204 10E0              ldi R17,0
 0206 01DF              xcall _LCD_write_char
 0208                   .dbline 77
 0208 02E0              ldi R16,2
 020A D8D2              xcall _delay_nms
 020C                   .dbline 79
 020C 2227              clr R18
 020E 0027              clr R16
 0210 4DDF              xcall _LCD_set_xy
 0212                   .dbline 80
 0212           ;               LCD_write_char(0,'C');
 0212 23E4              ldi R18,67
 0214 30E0              ldi R19,0
 0216 0027              clr R16
 0218 1127              clr R17
 021A F7DE              xcall _LCD_write_char
 021C                   .dbline 81
 021C           ;               LCD_write_char(0,'x');
 021C 28E7              ldi R18,120
 021E 30E0              ldi R19,0
 0220 0027              clr R16
 0222 1127              clr R17
 0224 F2DE              xcall _LCD_write_char
 0226                   .dbline 82
 0226           ;               LCD_write_char(0,'=');
 0226 2DE3              ldi R18,61
 0228 30E0              ldi R19,0
 022A 0027              clr R16
 022C 1127              clr R17
 022E EDDE              xcall _LCD_write_char
 0230                   .dbline 83
 0230           ;               calc_Cx();
 0230 F0D0              xcall _calc_Cx
 0232                   .dbline 85
 0232           ;               
 0232           ;               LCD_set_xy(0,1);
 0232 21E0              ldi R18,1
 0234 0027              clr R16
 0236 3ADF              xcall _LCD_set_xy
 0238                   .dbline 86
 0238           ;               LCD_write_char(0,'L');
 0238 2CE4              ldi R18,76
 023A 30E0              ldi R19,0
 023C 0027              clr R16
 023E 1127              clr R17
 0240 E4DE              xcall _LCD_write_char
 0242                   .dbline 87
 0242           ;               LCD_write_char(0,'x');
 0242 28E7              ldi R18,120
 0244 30E0              ldi R19,0
 0246 0027              clr R16
 0248 1127              clr R17
 024A DFDE              xcall _LCD_write_char
 024C                   .dbline 88
 024C           ;               LCD_write_char(0,'=');
 024C 2DE3              ldi R18,61
 024E 30E0              ldi R19,0
 0250 0027              clr R16
 0252 1127              clr R17
 0254 DADE              xcall _LCD_write_char
 0256                   .dbline 89
 0256           ;               calc_Lx();
 0256 CDD1              xcall _calc_Lx
 0258                   .dbline 90
 0258           ;       }
 0258           L22:
 0258                   .dbline 92
 0258           ;       
 0258           ;       timer1_init();
 0258 05D0              xcall _timer1_init
 025A                   .dbline 93
 025A           ;       timer2_init();
 025A 0CD0              xcall _timer2_init
 025C                   .dbline -2
 025C           L20:
 025C 2296              adiw R28,2
 025E 0E940000          xcall pop_lset
 0262                   .dbline 0 ; func end
 0262 1895              reti
 0264                   .dbend
 0264                   .dbfunc e timer1_init _timer1_init fV
                        .even
 0264           _timer1_init::
 0264                   .dbline -1
 0264                   .dbline 97
 0264           ; }
 0264           ; 
 0264           ; void timer1_init(void)
 0264           ; {
 0264                   .dbline 98
 0264           ;       TCCR1B = 0x00; //stop
 0264 2224              clr R2
 0266 2EBC              out 0x2e,R2
 0268                   .dbline 99
 0268           ;       TCNT1H = 0x00;
 0268 2DBC              out 0x2d,R2
 026A                   .dbline 100
 026A           ;       TCNT1L = 0x00;
 026A 2CBC              out 0x2c,R2
 026C                   .dbline 101
 026C           ;       TCCR1A = 0x00;
 026C 2FBC              out 0x2f,R2
 026E                   .dbline 110
 026E           ;       /*----取消-----
 026E           ;       OCR1AH = 0x00;
 026E           ;       OCR1AL = 0x39;
 026E           ;       OCR1BH = 0x00;
 026E           ;       OCR1BL = 0x39;
 026E           ;       ICR1H  = 0x00;
 026E           ;       ICR1L  = 0x39;
 026E           ;       -------------*/
 026E           ;       TCCR1B = 0x06; //start,外部下降沿触发
 026E 86E0              ldi R24,6
 0270 8EBD              out 0x2e,R24
 0272                   .dbline -2
 0272           L24:
 0272                   .dbline 0 ; func end
 0272 0895              ret
 0274                   .dbend
 0274                   .dbfunc e timer2_init _timer2_init fV
                        .even
 0274           _timer2_init::
 0274                   .dbline -1
 0274                   .dbline 114
 0274           ; }
 0274           ; 
 0274           ; void timer2_init(void)
 0274           ; {
 0274                   .dbline 115
 0274           ;       TCCR2 = 0x00; //stop
 0274 2224              clr R2
 0276 25BC              out 0x25,R2
 0278                   .dbline 116
 0278           ;       ASSR  = 0x00; //同步计算模式
 0278 22BC              out 0x22,R2
 027A                   .dbline 117
 027A           ;       TCNT2 = 0x0A; //置初值,定时0.25s
 027A 8AE0              ldi R24,10
 027C 84BD              out 0x24,R24
 027E                   .dbline 121
 027E           ;       /*----取消-----
 027E           ;       OCR2=0x9C;
 027E           ;       -------------*/
 027E           ;       TCCR2 = 0x07; //start,系统时钟1024分频
 027E 87E0              ldi R24,7
 0280 85BD              out 0x25,R24
 0282                   .dbline -2
 0282           L25:
 0282                   .dbline 0 ; func end
 0282 0895              ret
 0284                   .dbend
 0284                   .dbfunc e calc_Cn _calc_Cn fV
 0284           ;              f -> y+2
                        .even
 0284           _calc_Cn::
 0284 0E940000          xcall push_gset3
 0288 2A97              sbiw R28,10
 028A                   .dbline -1
 028A                   .dbline 125
 028A           ; }
 028A           ; 
 028A           ; void calc_Cn(void)
 028A           ; {
 028A                   .dbline 126
 028A           ;       float f=1/(last_TCNT1*4)*1000000;
 028A 20910600          lds R18,_last_TCNT1
 028E 30910700          lds R19,_last_TCNT1+1
 0292 04E0              ldi R16,4
 0294 10E0              ldi R17,0
 0296 0E940000          xcall empy16s
 029A 9801              movw R18,R16
 029C 01E0              ldi R16,1
 029E 10E0              ldi R17,0
 02A0 0E940000          xcall div16u
 02A4 1801              movw R2,R16
 02A6 4424              clr R4
 02A8 5524              clr R5
 02AA 40E4              ldi R20,64
 02AC 52E4              ldi R21,66
 02AE 6FE0              ldi R22,15
 02B0 70E0              ldi R23,0
 02B2 5A92              st -y,R5
 02B4 4A92              st -y,R4
 02B6 3A92              st -y,R3
 02B8 2A92              st -y,R2
 02BA 8A01              movw R16,R20
 02BC 9B01              movw R18,R22
 02BE 0E940000          xcall empy32s
 02C2 0E940000          xcall long2fp
 02C6 FE01              movw R30,R28
 02C8 0283              std z+2,R16
 02CA 1383              std z+3,R17
 02CC 2483              std z+4,R18
 02CE 3583              std z+5,R19
 02D0                   .dbline 127
 02D0           ;       Cn=(1/(39.4384*f*f*L1)-C1)/1000000;
 02D0 00E0              ldi R16,<L29
 02D2 10E0              ldi R17,>L29
 02D4 0E940000          xcall lpm32
 02D8 3A93              st -y,R19
 02DA 2A93              st -y,R18
 02DC 1A93              st -y,R17
 02DE 0A93              st -y,R16
 02E0 00E0              ldi R16,<L30
 02E2 10E0              ldi R17,>L30
 02E4 0E940000          xcall lpm32
 02E8 3A93              st -y,R19
 02EA 2A93              st -y,R18

⌨️ 快捷键说明

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