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

📄 uart.lis

📁 avr单片机mega128 的串口通讯的完整程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0092                   .dbend
 0092                   .dbfunc e buffer2str _buffer2str fpc
 0092           ;              i -> R20
 0092           ;            hhh -> R16,R17
                        .even
 0092           _buffer2str::
 0092 0E940000          xcall push_gset1
 0096                   .dbline -1
 0096                   .dbline 84
 0096           ; }
 0096           ; 
 0096           ; //-----------------------------------------------------------
 0096           ; //数组转换成可发送的字符串
 0096           ; //-----------------------------------------------------------
 0096           ; char *buffer2str(char *hhh)
 0096           ; {
 0096                   .dbline 85
 0096           ;    unsigned char i=0;
 0096 4427              clr R20
 0098 09C0              xjmp L23
 009A           L22:
 009A                   .dbline 88
 009A                   .dbline 89
 009A 242E              mov R2,R20
 009C 3324              clr R3
 009E 200E              add R2,R16
 00A0 311E              adc R3,R17
 00A2 F101              movw R30,R2
 00A4 8081              ldd R24,z+0
 00A6 805D              subi R24,208    ; addi 48
 00A8 8083              std z+0,R24
 00AA                   .dbline 90
 00AA 4395              inc R20
 00AC                   .dbline 91
 00AC           L23:
 00AC                   .dbline 87
 00AC           ; 
 00AC           ;    while (i<40)
 00AC 4832              cpi R20,40
 00AE A8F3              brlo L22
 00B0                   .dbline 92
 00B0           ;    {
 00B0           ;       hhh[i]=hhh[i]+48;
 00B0           ;       i++;
 00B0           ;    }  
 00B0           ;    return hhh;
 00B0                   .dbline -2
 00B0           L21:
 00B0 0E940000          xcall pop_gset1
 00B4                   .dbline 0 ; func end
 00B4 0895              ret
 00B6                   .dbsym r i 20 c
 00B6                   .dbsym r hhh 16 pc
 00B6                   .dbend
 00B6                   .dbfunc e long2str _long2str fpc
 00B6           ;             ss -> R10,R11
 00B6           ;             hh -> y+6
                        .even
 00B6           _long2str::
 00B6 0E940000          xcall push_arg4
 00BA 0E940000          xcall push_gset3
 00BE                   .dbline -1
 00BE                   .dbline 99
 00BE           ; }
 00BE           ; 
 00BE           ; //-----------------------------------------------------------
 00BE           ; //数字转换成可发送的字符串
 00BE           ; //-----------------------------------------------------------
 00BE           ; char *long2str(unsigned long hh)
 00BE           ; {
 00BE                   .dbline 100
 00BE           ;    char *ss="    ";
 00BE 80E0              ldi R24,<L26
 00C0 90E0              ldi R25,>L26
 00C2 5C01              movw R10,R24
 00C4                   .dbline 102
 00C4           ; 
 00C4           ;    ss[0]=48+hh/1000;
 00C4 48EE              ldi R20,232
 00C6 53E0              ldi R21,3
 00C8 60E0              ldi R22,0
 00CA 70E0              ldi R23,0
 00CC FE01              movw R30,R28
 00CE 2680              ldd R2,z+6
 00D0 3780              ldd R3,z+7
 00D2 4084              ldd R4,z+8
 00D4 5184              ldd R5,z+9
 00D6 7A93              st -y,R23
 00D8 6A93              st -y,R22
 00DA 5A93              st -y,R21
 00DC 4A93              st -y,R20
 00DE 8101              movw R16,R2
 00E0 9201              movw R18,R4
 00E2 0E940000          xcall div32u
 00E6 1801              movw R2,R16
 00E8 2901              movw R4,R18
 00EA 40E3              ldi R20,48
 00EC 50E0              ldi R21,0
 00EE 60E0              ldi R22,0
 00F0 70E0              ldi R23,0
 00F2 240E              add R2,R20
 00F4 351E              adc R3,R21
 00F6 461E              adc R4,R22
 00F8 571E              adc R5,R23
 00FA F501              movw R30,R10
 00FC 2082              std z+0,R2
 00FE                   .dbline 103
 00FE           ;    ss[1]=48+(hh%1000)/100;
 00FE 48EE              ldi R20,232
 0100 53E0              ldi R21,3
 0102 60E0              ldi R22,0
 0104 70E0              ldi R23,0
 0106 FE01              movw R30,R28
 0108 2680              ldd R2,z+6
 010A 3780              ldd R3,z+7
 010C 4084              ldd R4,z+8
 010E 5184              ldd R5,z+9
 0110 7A93              st -y,R23
 0112 6A93              st -y,R22
 0114 5A93              st -y,R21
 0116 4A93              st -y,R20
 0118 8101              movw R16,R2
 011A 9201              movw R18,R4
 011C 0E940000          xcall mod32u
 0120 44E6              ldi R20,100
 0122 50E0              ldi R21,0
 0124 60E0              ldi R22,0
 0126 70E0              ldi R23,0
 0128 7A93              st -y,R23
 012A 6A93              st -y,R22
 012C 5A93              st -y,R21
 012E 4A93              st -y,R20
 0130 0E940000          xcall div32u
 0134 1801              movw R2,R16
 0136 2901              movw R4,R18
 0138 40E3              ldi R20,48
 013A 50E0              ldi R21,0
 013C 60E0              ldi R22,0
 013E 70E0              ldi R23,0
 0140 240E              add R2,R20
 0142 351E              adc R3,R21
 0144 461E              adc R4,R22
 0146 571E              adc R5,R23
 0148 F501              movw R30,R10
 014A 2182              std z+1,R2
 014C                   .dbline 104
 014C           ;    ss[2]=48+(hh%100)/10;
 014C 44E6              ldi R20,100
 014E 50E0              ldi R21,0
 0150 60E0              ldi R22,0
 0152 70E0              ldi R23,0
 0154 FE01              movw R30,R28
 0156 2680              ldd R2,z+6
 0158 3780              ldd R3,z+7
 015A 4084              ldd R4,z+8
 015C 5184              ldd R5,z+9
 015E 7A93              st -y,R23
 0160 6A93              st -y,R22
 0162 5A93              st -y,R21
 0164 4A93              st -y,R20
 0166 8101              movw R16,R2
 0168 9201              movw R18,R4
 016A 0E940000          xcall mod32u
 016E 4AE0              ldi R20,10
 0170 50E0              ldi R21,0
 0172 60E0              ldi R22,0
 0174 70E0              ldi R23,0
 0176 7A93              st -y,R23
 0178 6A93              st -y,R22
 017A 5A93              st -y,R21
 017C 4A93              st -y,R20
 017E 0E940000          xcall div32u
 0182 1801              movw R2,R16
 0184 2901              movw R4,R18
 0186 40E3              ldi R20,48
 0188 50E0              ldi R21,0
 018A 60E0              ldi R22,0
 018C 70E0              ldi R23,0
 018E 240E              add R2,R20
 0190 351E              adc R3,R21
 0192 461E              adc R4,R22
 0194 571E              adc R5,R23
 0196 F501              movw R30,R10
 0198 2282              std z+2,R2
 019A                   .dbline 105
 019A           ;    ss[3]=48+(hh%10);
 019A 4AE0              ldi R20,10
 019C 50E0              ldi R21,0
 019E 60E0              ldi R22,0
 01A0 70E0              ldi R23,0
 01A2 FE01              movw R30,R28
 01A4 2680              ldd R2,z+6
 01A6 3780              ldd R3,z+7
 01A8 4084              ldd R4,z+8
 01AA 5184              ldd R5,z+9
 01AC 7A93              st -y,R23
 01AE 6A93              st -y,R22
 01B0 5A93              st -y,R21
 01B2 4A93              st -y,R20
 01B4 8101              movw R16,R2
 01B6 9201              movw R18,R4
 01B8 0E940000          xcall mod32u
 01BC 1801              movw R2,R16
 01BE 2901              movw R4,R18
 01C0 40E3              ldi R20,48
 01C2 50E0              ldi R21,0
 01C4 60E0              ldi R22,0
 01C6 70E0              ldi R23,0
 01C8 240E              add R2,R20
 01CA 351E              adc R3,R21
 01CC 461E              adc R4,R22
 01CE 571E              adc R5,R23
 01D0 F501              movw R30,R10
 01D2 2382              std z+3,R2
 01D4                   .dbline 107
 01D4           ; 
 01D4           ;    return ss; 
 01D4 8501              movw R16,R10
 01D6                   .dbline -2
 01D6           L25:
 01D6 0E940000          xcall pop_gset3
 01DA 2496              adiw R28,4
 01DC                   .dbline 0 ; func end
 01DC 0895              ret
 01DE                   .dbsym r ss 10 pc
 01DE                   .dbsym l hh 6 l
 01DE                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile C:\AVR_TOOL\test\uart.c
 0000           L26:
 0000                   .blkb 5
                        .area idata
 0000 2020202000        .byte 32,32,32,32,0
                        .area data(ram, con, rel)
 0005                   .dbfile C:\AVR_TOOL\test\uart.c

⌨️ 快捷键说明

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