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

📄 display.lis

📁 包含无线收发模块 NREF905的所有功能库函数 本库函数与外部函数接口简单易用
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0114 005D              subi R16,208  ; offset = 48
 0116 1F4F              sbci R17,255
 0118 00D0              rcall _lcd_write_data
 011A                   .dbline 40
 011A           ;   lcd_write_data(data/10%10+0x30);
 011A 2AE0              ldi R18,10
 011C 30E0              ldi R19,0
 011E 042F              mov R16,R20
 0120 1127              clr R17
 0122 00D0              rcall div16s
 0124 2AE0              ldi R18,10
 0126 30E0              ldi R19,0
 0128 00D0              rcall mod16s
 012A 005D              subi R16,208  ; offset = 48
 012C 1F4F              sbci R17,255
 012E 00D0              rcall _lcd_write_data
 0130                   .dbline 41
 0130           ;   lcd_write_data(data%10+0x30); 
 0130 2AE0              ldi R18,10
 0132 30E0              ldi R19,0
 0134 042F              mov R16,R20
 0136 1127              clr R17
 0138 00D0              rcall mod16s
 013A 005D              subi R16,208  ; offset = 48
 013C 1F4F              sbci R17,255
 013E 00D0              rcall _lcd_write_data
 0140                   .dbline -2
 0140           L15:
 0140 00D0              rcall pop_gset1
 0142                   .dbline 0 ; func end
 0142 0895              ret
 0144                   .dbsym r data 20 c
 0144                   .dbend
 0144                   .dbfunc e displayint _displayint fV
 0144           ;           data -> R20
 0144           ;        address -> R22
                        .even
 0144           _displayint::
 0144 00D0              rcall push_gset2
 0146 422F              mov R20,R18
 0148 602F              mov R22,R16
 014A                   .dbline -1
 014A                   .dbline 44
 014A           ; }
 014A           ; void displayint(unsigned char address,unsigned char data)
 014A           ; {   lcd_write_comm(0x30);
 014A                   .dbline 44
 014A 00E3              ldi R16,48
 014C 10E0              ldi R17,0
 014E 00D0              rcall _lcd_write_comm
 0150                   .dbline 45
 0150           ;     lcd_write_comm(address);
 0150 062F              mov R16,R22
 0152 1127              clr R17
 0154 00D0              rcall _lcd_write_comm
 0156                   .dbline 46
 0156           ;       displaybyte(data);
 0156 042F              mov R16,R20
 0158 D3DF              rcall _displaybyte
 015A                   .dbline -2
 015A           L16:
 015A 00D0              rcall pop_gset2
 015C                   .dbline 0 ; func end
 015C 0895              ret
 015E                   .dbsym r data 20 c
 015E                   .dbsym r address 22 c
 015E                   .dbend
 015E                   .dbfunc e displaybyte2 _displaybyte2 fV
 015E           ;           data -> R20
                        .even
 015E           _displaybyte2::
 015E 00D0              rcall push_gset1
 0160 402F              mov R20,R16
 0162                   .dbline -1
 0162                   .dbline 50
 0162           ; }
 0162           ; 
 0162           ; void displaybyte2(unsigned char data)
 0162           ; { 
 0162                   .dbline 51
 0162           ;   lcd_write_data(data/10%10+0x30);
 0162 2AE0              ldi R18,10
 0164 30E0              ldi R19,0
 0166 042F              mov R16,R20
 0168 1127              clr R17
 016A 00D0              rcall div16s
 016C 2AE0              ldi R18,10
 016E 30E0              ldi R19,0
 0170 00D0              rcall mod16s
 0172 005D              subi R16,208  ; offset = 48
 0174 1F4F              sbci R17,255
 0176 00D0              rcall _lcd_write_data
 0178                   .dbline 52
 0178           ;   lcd_write_data(data%10+0x30); 
 0178 2AE0              ldi R18,10
 017A 30E0              ldi R19,0
 017C 042F              mov R16,R20
 017E 1127              clr R17
 0180 00D0              rcall mod16s
 0182 005D              subi R16,208  ; offset = 48
 0184 1F4F              sbci R17,255
 0186 00D0              rcall _lcd_write_data
 0188                   .dbline -2
 0188           L17:
 0188 00D0              rcall pop_gset1
 018A                   .dbline 0 ; func end
 018A 0895              ret
 018C                   .dbsym r data 20 c
 018C                   .dbend
 018C                   .dbfunc e display_char _display_char fV
 018C           ;              i -> R20
 018C           ;            len -> R22
 018C           ;        address -> R20
 018C           ;            Ptr -> R10,R11
                        .even
 018C           _display_char::
 018C 00D0              rcall push_gset3
 018E 422F              mov R20,R18
 0190 5801              movw R10,R16
 0192 6E81              ldd R22,y+6
 0194                   .dbline -1
 0194                   .dbline 60
 0194           ; }
 0194           ; //////////////////////////////////////////////////////////////////////
 0194           ; //*Ptr       字符串的首地址 
 0194           ; //address    液晶屏的地址0x80-0x8f,0x90-0x9f之间
 0194           ; //len        显示的数据的长度,如果不够后面补空格
 0194           ; /////////////////////////////////////////////////////////////////////
 0194           ; void display_char(unsigned char *Ptr ,unsigned char address,unsigned char len)
 0194           ; {   unsigned char i;
 0194                   .dbline 62
 0194           ; 
 0194           ;     lcd_write_comm(0x30);
 0194 00E3              ldi R16,48
 0196 10E0              ldi R17,0
 0198 00D0              rcall _lcd_write_comm
 019A                   .dbline 63
 019A           ;     lcd_write_comm(address);
 019A 042F              mov R16,R20
 019C 1127              clr R17
 019E 00D0              rcall _lcd_write_comm
 01A0                   .dbline 64
 01A0           ;     lcd_write_comm(0x0c);
 01A0 0CE0              ldi R16,12
 01A2 10E0              ldi R17,0
 01A4 00D0              rcall _lcd_write_comm
 01A6                   .dbline 65
 01A6           ;       for(i=0;i<len;i++)
 01A6 4427              clr R20
 01A8 0DC0              rjmp L22
 01AA           L19:
 01AA                   .dbline 66
 01AA           ;       {
 01AA                   .dbline 67
 01AA           ;       if(*Ptr!='/0')
 01AA F501              movw R30,R10
 01AC 8081              ldd R24,z+0
 01AE 8F32              cpi R24,47
 01B0 29F0              breq L23
 01B2                   .dbline 68
 01B2           ;       lcd_write_data(*Ptr++);
 01B2 0191              ld R16,Z+
 01B4 5F01              movw R10,R30
 01B6 1127              clr R17
 01B8 00D0              rcall _lcd_write_data
 01BA 03C0              rjmp L24
 01BC           L23:
 01BC                   .dbline 70
 01BC           ;       else
 01BC           ;       lcd_write_data(' ');
 01BC 00E2              ldi R16,32
 01BE 10E0              ldi R17,0
 01C0 00D0              rcall _lcd_write_data
 01C2           L24:
 01C2                   .dbline 71
 01C2           L20:
 01C2                   .dbline 65
 01C2 4395              inc R20
 01C4           L22:
 01C4                   .dbline 65
 01C4 4617              cp R20,R22
 01C6 88F3              brlo L19
 01C8                   .dbline -2
 01C8           L18:
 01C8 00D0              rcall pop_gset3
 01CA                   .dbline 0 ; func end
 01CA 0895              ret
 01CC                   .dbsym r i 20 c
 01CC                   .dbsym r len 22 c
 01CC                   .dbsym r address 20 c
 01CC                   .dbsym r Ptr 10 pc
 01CC                   .dbend
 01CC                   .dbfunc e display_int _display_int fV
 01CC           ;              i -> R20
 01CC           ;            len -> R22
 01CC           ;        address -> R20
 01CC           ;            Ptr -> R10,R11
                        .even
 01CC           _display_int::
 01CC 00D0              rcall push_gset3
 01CE 422F              mov R20,R18
 01D0 5801              movw R10,R16
 01D2 6E81              ldd R22,y+6
 01D4                   .dbline -1
 01D4                   .dbline 80
 01D4           ;       }
 01D4           ; }
 01D4           ; 
 01D4           ; //////////////////////////////////////////////////////////////////////
 01D4           ; //*Ptr       字符串的首地址 
 01D4           ; //address    液晶屏的地址0x80-0x8f,0x90-0x9f之间
 01D4           ; //len        显示的数据的长度,如果不够后面补空格
 01D4           ; /////////////////////////////////////////////////////////////////////
 01D4           ; void display_int(unsigned char *Ptr ,unsigned char address,unsigned char len)
 01D4           ; {   unsigned char i;
 01D4                   .dbline 82
 01D4           ; 
 01D4           ;     lcd_write_comm(0x30);
 01D4 00E3              ldi R16,48
 01D6 10E0              ldi R17,0
 01D8 00D0              rcall _lcd_write_comm
 01DA                   .dbline 83
 01DA           ;     lcd_write_comm(address);
 01DA 042F              mov R16,R20
 01DC 1127              clr R17
 01DE 00D0              rcall _lcd_write_comm
 01E0                   .dbline 84
 01E0           ;     lcd_write_comm(0x0c);
 01E0 0CE0              ldi R16,12
 01E2 10E0              ldi R17,0
 01E4 00D0              rcall _lcd_write_comm
 01E6                   .dbline 85
 01E6           ;       for(i=0;i<len;i++)
 01E6 4427              clr R20
 01E8 0AC0              rjmp L29
 01EA           L26:
 01EA                   .dbline 86
 01EA                   .dbline 89
 01EA                   .dbline 90
 01EA F501              movw R30,R10
 01EC 0081              ldd R16,z+0
 01EE 88DF              rcall _displaybyte
 01F0                   .dbline 91
 01F0 C501              movw R24,R10
 01F2 0196              adiw R24,1
 01F4 5C01              movw R10,R24
 01F6                   .dbline 92
 01F6 00E2              ldi R16,32
 01F8 10E0              ldi R17,0
 01FA 00D0              rcall _lcd_write_data
 01FC                   .dbline 93
 01FC                   .dbline 97
 01FC           L27:
 01FC                   .dbline 85
 01FC 4395              inc R20
 01FE           L29:
 01FE                   .dbline 85
 01FE 4617              cp R20,R22
 0200 A0F3              brlo L26
 0202                   .dbline -2
 0202           L25:
 0202 00D0              rcall pop_gset3
 0204                   .dbline 0 ; func end
 0204 0895              ret
 0206                   .dbsym r i 20 c
 0206                   .dbsym r len 22 c
 0206                   .dbsym r address 20 c
 0206                   .dbsym r Ptr 10 pc
 0206                   .dbend

⌨️ 快捷键说明

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