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

📄 lcd4bit.lis

📁 C语言开发使LCD显示汉字程序,采用自带汉字库的LCD模块.
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 05B2 0E940000          xcall lpm32
 05B6 50900300          lds R5,_del+2+1
 05BA 40900200          lds R4,_del+2
 05BE 30900100          lds R3,_del+1
 05C2 20900000          lds R2,_del
 05C6 200E              add R2,R16
 05C8 311E              adc R3,R17
 05CA 421E              adc R4,R18
 05CC 531E              adc R5,R19
 05CE 30920100          sts _del+1,R3
 05D2 20920000          sts _del,R2
 05D6 50920300          sts _del+2+1,R5
 05DA 40920200          sts _del+2,R4
 05DE                   .dbline 159
 05DE 00E0              ldi R16,<L19
 05E0 10E0              ldi R17,>L19
 05E2 0E940000          xcall lpm32
 05E6 50900300          lds R5,_del+2+1
 05EA 40900200          lds R4,_del+2
 05EE 30900100          lds R3,_del+1
 05F2 20900000          lds R2,_del
 05F6 2016              cp R2,R16
 05F8 3106              cpc R3,R17
 05FA 4206              cpc R4,R18
 05FC 5306              cpc R5,R19
 05FE BCF2              brlt L64
 0600                   .dbline -2
 0600                   .dbline 160
                       ; }
 0600                 L59:
 0600 0E940000          xcall pop_gset3x
 0604                   .dbline 0 ; func end
 0604 0895              ret
 0606                   .dbsym r data 10 c
 0606                   .dbfunc s LCD4_PutC_Const _LCD4_PutC_Const fI
                       ;           data -> R10
                         .even
 0606                 _LCD4_PutC_Const::
 0606 0E940000          xcall push_gset3x
 060A A02E              mov R10,R16
 060C                   .dbline -1
 060C                   .dbline 163
                       ; 
                       ; void LCD4_PutC_Const(const unsigned char data)
                       ; {
 060C                   .dbline 164
                       ;     LCD4_WR4bits( data >> 4);
 060C 0A2D              mov R16,R10
 060E 0695              lsr R16
 0610 0695              lsr R16
 0612 0695              lsr R16
 0614 0695              lsr R16
 0616 0FDD              xcall _LCD4_WR4bits
 0618                   .dbline 165
 0618 00E0              ldi R16,<L17
 061A 10E0              ldi R17,>L17
 061C 0E940000          xcall lpm32
 0620 10930100          sts _del+1,R17
 0624 00930000          sts _del,R16
 0628 30930300          sts _del+2+1,R19
 062C 20930200          sts _del+2,R18
 0630                 L69:
 0630                   .dbline 165
 0630                 L70:
 0630                   .dbline 165
                       ;     DELAY;
 0630 00E0              ldi R16,<L18
 0632 10E0              ldi R17,>L18
 0634 0E940000          xcall lpm32
 0638 50900300          lds R5,_del+2+1
 063C 40900200          lds R4,_del+2
 0640 30900100          lds R3,_del+1
 0644 20900000          lds R2,_del
 0648 200E              add R2,R16
 064A 311E              adc R3,R17
 064C 421E              adc R4,R18
 064E 531E              adc R5,R19
 0650 30920100          sts _del+1,R3
 0654 20920000          sts _del,R2
 0658 50920300          sts _del+2+1,R5
 065C 40920200          sts _del+2,R4
 0660                   .dbline 165
 0660 00E0              ldi R16,<L19
 0662 10E0              ldi R17,>L19
 0664 0E940000          xcall lpm32
 0668 50900300          lds R5,_del+2+1
 066C 40900200          lds R4,_del+2
 0670 30900100          lds R3,_del+1
 0674 20900000          lds R2,_del
 0678 2016              cp R2,R16
 067A 3106              cpc R3,R17
 067C 4206              cpc R4,R18
 067E 5306              cpc R5,R19
 0680 BCF2              brlt L69
 0682                   .dbline 166
                       ;     LCD4_WR4bits( data);
 0682 0A2D              mov R16,R10
 0684 D8DC              xcall _LCD4_WR4bits
 0686                   .dbline 167
 0686 00E0              ldi R16,<L17
 0688 10E0              ldi R17,>L17
 068A 0E940000          xcall lpm32
 068E 10930100          sts _del+1,R17
 0692 00930000          sts _del,R16
 0696 30930300          sts _del+2+1,R19
 069A 20930200          sts _del+2,R18
 069E                 L73:
 069E                   .dbline 167
 069E                 L74:
 069E                   .dbline 167
                       ;     DELAY;
 069E 00E0              ldi R16,<L18
 06A0 10E0              ldi R17,>L18
 06A2 0E940000          xcall lpm32
 06A6 50900300          lds R5,_del+2+1
 06AA 40900200          lds R4,_del+2
 06AE 30900100          lds R3,_del+1
 06B2 20900000          lds R2,_del
 06B6 200E              add R2,R16
 06B8 311E              adc R3,R17
 06BA 421E              adc R4,R18
 06BC 531E              adc R5,R19
 06BE 30920100          sts _del+1,R3
 06C2 20920000          sts _del,R2
 06C6 50920300          sts _del+2+1,R5
 06CA 40920200          sts _del+2,R4
 06CE                   .dbline 167
 06CE 00E0              ldi R16,<L19
 06D0 10E0              ldi R17,>L19
 06D2 0E940000          xcall lpm32
 06D6 50900300          lds R5,_del+2+1
 06DA 40900200          lds R4,_del+2
 06DE 30900100          lds R3,_del+1
 06E2 20900000          lds R2,_del
 06E6 2016              cp R2,R16
 06E8 3106              cpc R3,R17
 06EA 4206              cpc R4,R18
 06EC 5306              cpc R5,R19
 06EE BCF2              brlt L73
 06F0                   .dbline -2
 06F0                   .dbline 168
                       ; }
 06F0                 L68:
 06F0 0E940000          xcall pop_gset3x
 06F4                   .dbline 0 ; func end
 06F4 0895              ret
 06F6                   .dbsym r data 10 c
 06F6                   .dbfunc s LCD4_PutS _LCD4_PutS fI
                       ;              c -> R10
                       ;           data -> R12,R13
                         .even
 06F6                 _LCD4_PutS::
 06F6 0E940000          xcall push_gset4x
 06FA 6801              movw R12,R16
 06FC                   .dbline -1
 06FC                   .dbline 171
                       ; 
                       ; void LCD4_PutS(unsigned char *data)
                       ; {
 06FC                   .dbline 172
                       ;     unsigned char c = 0;
 06FC AA24              clr R10
 06FE 49C0              xjmp L79
 0700                 L78:
 0700                   .dbline 174
                       ; 
                       ;     while (data[c] != 0) {
 0700                   .dbline 175
                       ;         LCD4_WR4bits( data[c] >> 4);
 0700 EA2D              mov R30,R10
 0702 FF27              clr R31
 0704 EC0D              add R30,R12
 0706 FD1D              adc R31,R13
 0708 0081              ldd R16,z+0
 070A 0695              lsr R16
 070C 0695              lsr R16
 070E 0695              lsr R16
 0710 0695              lsr R16
 0712 91DC              xcall _LCD4_WR4bits
 0714                   .dbline 176
                       ;         LCD4_WR4bits( data[c++]);
 0714 2A2C              mov R2,R10
 0716 3324              clr R3
 0718 8A2D              mov R24,R10
 071A 8F5F              subi R24,255    ; addi 1
 071C A82E              mov R10,R24
 071E F101              movw R30,R2
 0720 EC0D              add R30,R12
 0722 FD1D              adc R31,R13
 0724 0081              ldd R16,z+0
 0726 87DC              xcall _LCD4_WR4bits
 0728                   .dbline 177
 0728 00E0              ldi R16,<L17
 072A 10E0              ldi R17,>L17
 072C 0E940000          xcall lpm32
 0730 10930100          sts _del+1,R17
 0734 00930000          sts _del,R16
 0738 30930300          sts _del+2+1,R19
 073C 20930200          sts _del+2,R18
 0740                 L81:
 0740                   .dbline 177
 0740                 L82:
 0740                   .dbline 177
 0740 00E0              ldi R16,<L18
 0742 10E0              ldi R17,>L18
 0744 0E940000          xcall lpm32
 0748 50900300          lds R5,_del+2+1
 074C 40900200          lds R4,_del+2
 0750 30900100          lds R3,_del+1
 0754 20900000          lds R2,_del
 0758 200E              add R2,R16
 075A 311E              adc R3,R17
 075C 421E              adc R4,R18
 075E 531E              adc R5,R19
 0760 30920100          sts _del+1,R3
 0764 20920000          sts _del,R2
 0768 50920300          sts _del+2+1,R5
 076C 40920200          sts _del+2,R4
 0770                   .dbline 177
 0770 00E0              ldi R16,<L19
 0772 10E0              ldi R17,>L19
 0774 0E940000          xcall lpm32
 0778 50900300          lds R5,_del+2+1
 077C 40900200          lds R4,_del+2
 0780 30900100          lds R3,_del+1
 0784 20900000          lds R2,_del
 0788 2016              cp R2,R16
 078A 3106              cpc R3,R17
 078C 4206              cpc R4,R18
 078E 5306              cpc R5,R19
 0790 BCF2              brlt L81
 0792                   .dbline 178
 0792                 L79:
 0792                   .dbline 174
 0792 EA2D              mov R30,R10
 0794 FF27              clr R31
 0796 EC0D              add R30,R12
 0798 FD1D              adc R31,R13
 079A 2080              ldd R2,z+0
 079C 2220              tst R2
 079E 09F0              breq X0
 07A0 AFCF              xjmp L78
 07A2                 X0:
 07A2                   .dbline -2
 07A2                   .dbline 179
                       ;         DELAY;
                       ;     }
                       ; }
 07A2                 L77:
 07A2 0E940000          xcall pop_gset4x
 07A6                   .dbline 0 ; func end
 07A6 0895              ret
 07A8                   .dbsym r c 10 c
 07A8                   .dbsym r data 12 pc
 07A8                   .dbfunc s main _main fI
                         .even
 07A8                 _main::
 07A8                   .dbline -1
 07A8                   .dbline 181
                       ; void main(void)
                       ; {
 07A8                   .dbline 182
                       ;  LCD4_Init();
 07A8 5DDC              xcall _LCD4_Init
 07AA                   .dbline 183
                       ;  LCD4_Clear();
 07AA 59DD              xcall _LCD4_Clear
 07AC                   .dbline 184
                       ;  LCD4_Home();
 07AC CCDD              xcall _LCD4_Home
 07AE                   .dbline 185
                       ;  LCD4_Home2();
 07AE 3FDE              xcall _LCD4_Home2
 07B0                   .dbline -2
 07B0                   .dbline 189
                       ; // LCD4_PutC(unsigned char);
                       ; // LCD4_PutC_Const(const unsigned char);
                       ; // LCD4_PutS(unsigned char *);
                       ; }
 07B0                 L85:
 07B0                   .dbline 0 ; func end
 07B0 0895              ret
                         .area bss(ram, con, rel)
 0000                   .dbfile D:\我的文档\mingkang\LCDCN\LCD4BIT.C
 0000                 _del::
 0000                   .blkb 4
 0004                   .dbsym s del _del L
                         .area lit(rom, con, rel)
 0000                 L19:
 0000 10000000          .word 16,0
 0004                 L18:
 0004 01000000          .word 1,0
 0008                 L17:
 0008 00000000          .word 0,0

⌨️ 快捷键说明

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