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

📄 1602_main.lis

📁 10K到5MHz的频率测量
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 01FC           L27:
 01FC                   .dbline 167
 01FC 6031              cpi R22,16
 01FE 98F3              brlo L24
 0200           X4:
 0200                   .dbline -2
 0200           L19:
 0200                   .dbline 0 ; func end
 0200 0C940000          xjmp pop_xgsetF00C
 0204                   .dbsym r t 10 c
 0204                   .dbsym r i 22 c
 0204                   .dbsym r pBuffer 20 pkc
 0204                   .dbend
 0204                   .dbfunc e WriteNum _WriteNum fV
 0204           ;            num -> R20,R21
 0204           ;            col -> R10,R11
 0204           ;            row -> R22,R23
                        .even
 0204           _WriteNum::
 0204 0E940000          xcall push_xgsetF00C
 0208 5901              movw R10,R18
 020A B801              movw R22,R16
 020C 4E81              ldd R20,y+6
 020E 5F81              ldd R21,y+7
 0210                   .dbline -1
 0210                   .dbline 185
 0210           ; }
 0210           ; //====================================================
 0210           ; // 描述:在任意位置写数字函数
 0210           ; // 入口:’row‘表示要写数字所在的行地址,只能为1或2
 0210           ; //       ’col‘表示要写数字所在的列地址,只能为0--15
 0210           ; //             ‘num’表示要写的数字,只能为0--9
 0210           ; // 出口:无
 0210           ; //===================================================
 0210           ; void  WriteNum(uint   row,uint        col,uint         num)
 0210           ; {
 0210                   .dbline 186
 0210           ;       if (row == 1)   row = 0x80 + col;
 0210 6130              cpi R22,1
 0212 E0E0              ldi R30,0
 0214 7E07              cpc R23,R30
 0216 21F4              brne L29
 0218           X5:
 0218                   .dbline 186
 0218 B501              movw R22,R10
 021A 6058              subi R22,128  ; offset = 128
 021C 7F4F              sbci R23,255
 021E 03C0              xjmp L30
 0220           L29:
 0220                   .dbline 187
 0220           ;       else    row = 0xC0 + col;
 0220 B501              movw R22,R10
 0222 6054              subi R22,64  ; offset = 192
 0224 7F4F              sbci R23,255
 0226           L30:
 0226                   .dbline 188
 0226           ;       writecom(row);
 0226 062F              mov R16,R22
 0228 1CDF              xcall _writecom
 022A                   .dbline 189
 022A           ;       if (num<=0 | num>9)     num =0x30;
 022A 4030              cpi R20,0
 022C 4507              cpc R20,R21
 022E 21F4              brne L33
 0230           X6:
 0230 81E0              ldi R24,1
 0232 90E0              ldi R25,0
 0234 5C01              movw R10,R24
 0236 02C0              xjmp L34
 0238           L33:
 0238 AA24              clr R10
 023A BB24              clr R11
 023C           L34:
 023C 89E0              ldi R24,9
 023E 90E0              ldi R25,0
 0240 8417              cp R24,R20
 0242 9507              cpc R25,R21
 0244 18F4              brsh L35
 0246           X7:
 0246 61E0              ldi R22,1
 0248 70E0              ldi R23,0
 024A 02C0              xjmp L36
 024C           L35:
 024C 6627              clr R22
 024E 7727              clr R23
 0250           L36:
 0250 1501              movw R2,R10
 0252 262A              or R2,R22
 0254 372A              or R3,R23
 0256 2220              tst R2
 0258 11F4              brne X8
 025A 3320              tst R3
 025C 19F0              breq L31
 025E           X8:
 025E                   .dbline 189
 025E 40E3              ldi R20,48
 0260 50E0              ldi R21,0
 0262 02C0              xjmp L32
 0264           L31:
 0264                   .dbline 190
 0264           ;       else    num = 0x30 + num;
 0264 405D              subi R20,208  ; offset = 48
 0266 5F4F              sbci R21,255
 0268           L32:
 0268                   .dbline 192
 0268           ; 
 0268           ;       PORTB|=(1<<RS);
 0268 C59A              sbi 0x18,5
 026A                   .dbline 193
 026A           ;       s_ms(20);
 026A 04E1              ldi R16,20
 026C 10E0              ldi R17,0
 026E C8DE              xcall _s_ms
 0270                   .dbline 194
 0270           ;       PORTB&=~(1<<RW);
 0270 C698              cbi 0x18,6
 0272                   .dbline 195
 0272           ;       s_ms(20);
 0272 04E1              ldi R16,20
 0274 10E0              ldi R17,0
 0276 C4DE              xcall _s_ms
 0278                   .dbline 196
 0278           ;       PORTA = num;
 0278 4BBB              out 0x1b,R20
 027A                   .dbline 197
 027A           ;       s_ms(20);
 027A 04E1              ldi R16,20
 027C 10E0              ldi R17,0
 027E C0DE              xcall _s_ms
 0280                   .dbline 198
 0280           ;       PORTB|=(1<<EN);
 0280 C79A              sbi 0x18,7
 0282                   .dbline 199
 0282           ;       s_ms(20);
 0282 04E1              ldi R16,20
 0284 10E0              ldi R17,0
 0286 BCDE              xcall _s_ms
 0288                   .dbline 200
 0288           ;       PORTB&=~(1<<EN);        
 0288 C798              cbi 0x18,7
 028A                   .dbline 201
 028A           ;       s_ms(20);                       
 028A 04E1              ldi R16,20
 028C 10E0              ldi R17,0
 028E B8DE              xcall _s_ms
 0290                   .dbline -2
 0290           L28:
 0290                   .dbline 0 ; func end
 0290 0C940000          xjmp pop_xgsetF00C
 0294                   .dbsym r num 20 i
 0294                   .dbsym r col 10 i
 0294                   .dbsym r row 22 i
 0294                   .dbend
 0294                   .dbfunc e WriteChar _WriteChar fV
 0294           ;              t -> R12
 0294           ;              i -> R10
 0294           ;        pBuffer -> R20,R21
 0294           ;            num -> y+8
 0294           ;            col -> R10
 0294           ;            row -> R22
                        .even
 0294           _WriteChar::
 0294 0E940000          xcall push_xgsetF03C
 0298 A22E              mov R10,R18
 029A 602F              mov R22,R16
 029C 4A85              ldd R20,y+10
 029E 5B85              ldd R21,y+11
 02A0                   .dbline -1
 02A0                   .dbline 211
 02A0           ; }
 02A0           ; //================================================================
 02A0           ; // 描述:在任意位置写任意多个字符
 02A0           ; // 入口:’row‘要写的字符所在的行,只能为1或2;
 02A0           ; //       ‘col’要写的字符所在的列,只能为0---15
 02A0           ; //       ‘num’要写字符的个数
 02A0           ; //       ‘pbuffer’要写字符的首地址
 02A0           ; //================================================================== 
 02A0           ; void  WriteChar(uchar row,uchar col,uchar num,uchar *pBuffer)
 02A0           ; {
 02A0                   .dbline 213
 02A0           ;       uchar i,t;
 02A0           ;       if (row == 1)   row = 0x80 + col;
 02A0 6130              cpi R22,1
 02A2 19F4              brne L38
 02A4           X9:
 02A4                   .dbline 213
 02A4 6A2D              mov R22,R10
 02A6 6058              subi R22,128    ; addi 128
 02A8 02C0              xjmp L39
 02AA           L38:
 02AA                   .dbline 214
 02AA           ;       else    row = 0xC0 + col;
 02AA 6A2D              mov R22,R10
 02AC 6054              subi R22,64    ; addi 192
 02AE           L39:
 02AE                   .dbline 215
 02AE           ;       writecom(row);
 02AE 062F              mov R16,R22
 02B0 D8DE              xcall _writecom
 02B2                   .dbline 219
 02B2           ;       //if (num<=0 | num>9)   num =0x30;
 02B2           ;       //else  num = 0x30 + num;
 02B2           ; 
 02B2           ;       PORTB|=(1<<RS);
 02B2 C59A              sbi 0x18,5
 02B4                   .dbline 220
 02B4           ;       s_ms(20);
 02B4 04E1              ldi R16,20
 02B6 10E0              ldi R17,0
 02B8 A3DE              xcall _s_ms
 02BA                   .dbline 221
 02BA           ;       PORTB&=~(1<<RW);
 02BA C698              cbi 0x18,6
 02BC                   .dbline 222
 02BC           ;       s_ms(20);
 02BC 04E1              ldi R16,20
 02BE 10E0              ldi R17,0
 02C0 9FDE              xcall _s_ms
 02C2                   .dbline 223
 02C2           ;       for(i=num;i!=0;i--)
 02C2 A884              ldd R10,y+8
 02C4 14C0              xjmp L43
 02C6           L40:
 02C6                   .dbline 224
 02C6           ;       {
 02C6                   .dbline 225
 02C6           ;               t = *pBuffer;
 02C6 FA01              movw R30,R20
 02C8 C080              ldd R12,z+0
 02CA                   .dbline 226
 02CA           ;               s_ms(20);
 02CA 04E1              ldi R16,20
 02CC 10E0              ldi R17,0
 02CE 98DE              xcall _s_ms
 02D0                   .dbline 227
 02D0           ;               PORTA = t;
 02D0 CBBA              out 0x1b,R12
 02D2                   .dbline 228
 02D2           ;               s_ms(20);
 02D2 04E1              ldi R16,20
 02D4 10E0              ldi R17,0
 02D6 94DE              xcall _s_ms
 02D8                   .dbline 229
 02D8           ;               PORTB|=(1<<EN);
 02D8 C79A              sbi 0x18,7
 02DA                   .dbline 230
 02DA           ;               s_ms(20);
 02DA 04E1              ldi R16,20
 02DC 10E0              ldi R17,0
 02DE 90DE              xcall _s_ms
 02E0                   .dbline 231
 02E0           ;               PORTB&=~(1<<EN);                
 02E0 C798              cbi 0x18,7
 02E2                   .dbline 232
 02E2           ;               s_ms(20);               
 02E2 04E1              ldi R16,20
 02E4 10E0              ldi R17,0
 02E6 8CDE              xcall _s_ms
 02E8                   .dbline 233
 02E8           ;               pBuffer++;
 02E8 4F5F              subi R20,255  ; offset = 1
 02EA 5F4F              sbci R21,255
 02EC                   .dbline 234
 02EC           ;       }
 02EC           L41:
 02EC                   .dbline 223
 02EC AA94              dec R10
 02EE           L43:
 02EE                   .dbline 223
 02EE AA20              tst R10
 02F0 51F7              brne L40
 02F2           X10:
 02F2                   .dbline -2
 02F2           L37:
 02F2                   .dbline 0 ; func end
 02F2 0C940000          xjmp pop_xgsetF03C
 02F6                   .dbsym r t 12 c
 02F6                   .dbsym r i 10 c
 02F6                   .dbsym r pBuffer 20 pc
 02F6                   .dbsym l num 8 c
 02F6                   .dbsym r col 10 c
 02F6                   .dbsym r row 22 c
 02F6                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile D:\我的资源\我的文件\电子技术\AVR\AVR学习\JASON'~2\M16频率计(10K-5MHz,误差0.1%以下)(已验证)\1602.h
 0000           _F::
 0000                   .blkb 3
                        .area idata
 0000 463D00            .byte 'F,61,0
                        .area data(ram, con, rel)
 0003                   .dbfile D:\我的资源\我的文件\电子技术\AVR\AVR学习\JASON'~2\M16频率计(10K-5MHz,误差0.1%以下)(已验证)\1602.h
 0003                   .dbfile D:\我的资源\我的文件\电子技术\AVR\AVR学习\JASON'~2\M16频率计(10K-5MHz,误差0.1%以下)(已验证)\1602_main.c
 0003                   .dbsym e F _F A[3:3]c
 0003           _Hz::
 0003                   .blkb 3
                        .area idata
 0003 487A00            .byte 'H,'z,0
                        .area data(ram, con, rel)
 0006                   .dbfile D:\我的资源\我的文件\电子技术\AVR\AVR学习\JASON'~2\M16频率计(10K-5MHz,误差0.1%以下)(已验证)\1602_main.c
 0006                   .dbsym e Hz _Hz A[3:3]c
 0006           _T::
 0006                   .blkb 3
                        .area idata
 0006 543D00            .byte 'T,61,0
                        .area data(ram, con, rel)
 0009                   .dbfile D:\我的资源\我的文件\电子技术\AVR\AVR学习\JASON'~2\M16频率计(10K-5MHz,误差0.1%以下)(已验证)\1602_main.c
 0009                   .dbsym e T _T A[3:3]c
 0009           _S::
 0009                   .blkb 2
                        .area idata
 0009 5300              .byte 'S,0
                        .area data(ram, con, rel)
 000B                   .dbfile D:\我的资源\我的文件\电子技术\AVR\AVR学习\JASON'~2\M16频率计(10K-5MHz,误差0.1%以下)(已验证)\1602_main.c
 000B                   .dbsym e S _S A[2:2]c
 000B           _uS::
 000B                   .blkb 3
                        .area idata
 000B 755300            .byte 'u,'S,0
                        .area data(ram, con, rel)
 000E                   .dbfile D:\我的资源\我的文件\电子技术\AVR\AVR学习\JASON'~2\M16频率计(10K-5MHz,误差0.1%以下)(已验证)\1602_main.c
 000E                   .dbsym e uS _uS A[3:3]c
 000E           _dot::
 000E                   .blkb 2
                        .area idata
 000E 2E00              .byte 46,0
                        .area data(ram, con, rel)
 0010                   .dbfile D:\我的资源\我的文件\电子技术\AVR\AVR学习\JASON'~2\M16频率计(10K-5MHz,误差0.1%以下)(已验证)\1602_main.c
 0010                   .dbsym e dot _dot A[2:2]c
                        .area text(rom, con, rel)

⌨️ 快捷键说明

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