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

📄 so12864.lis

📁 采用Mega128控制LCD12864液晶显示器
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0072                   .dbline 76
 0072           ;               Write_LCDCOM(0x10);                                     //列地址,高低字节两次写入,从第0列开始
 0072 00E1              ldi R16,16
 0074 ECDF              xcall _Write_LCDCOM
 0076                   .dbline 77
 0076           ;               Write_LCDCOM(0x00);
 0076 0027              clr R16
 0078 EADF              xcall _Write_LCDCOM
 007A                   .dbline 78
 007A           ;               for(seg = 0; seg < 128; seg++)                  //写128列
 007A 6627              clr R22
 007C 03C0              xjmp L18
 007E           L15:
 007E                   .dbline 79
 007E           ;               { 
 007E                   .dbline 80
 007E           ;                       Write_LCDDATA(0x00);
 007E 0027              clr R16
 0080 ECDF              xcall _Write_LCDDATA
 0082                   .dbline 81
 0082           ;               }
 0082           L16:
 0082                   .dbline 78
 0082 6395              inc R22
 0084           L18:
 0084                   .dbline 78
 0084 6038              cpi R22,128
 0086 D8F3              brlo L15
 0088           X2:
 0088                   .dbline 82
 0088           ;       }
 0088           L12:
 0088                   .dbline 73
 0088 4395              inc R20
 008A           L14:
 008A                   .dbline 73
 008A 483B              cpi R20,184
 008C 80F3              brlo L11
 008E           X3:
 008E                   .dbline -2
 008E           L10:
 008E                   .dbline 0 ; func end
 008E 6991              ld R22,y+
 0090 4991              ld R20,y+
 0092 0895              ret
 0094                   .dbsym r page 20 c
 0094                   .dbsym r seg 22 c
 0094                   .dbend
 0094                   .dbfunc e DispEN_LCD _DispEN_LCD fV
 0094           ;            seg -> R20
 0094           ;            ptr -> R10,R11
 0094           ;         column -> R12,R13
 0094           ;           page -> R14
                        .even
 0094           _DispEN_LCD::
 0094 0E940000          xcall push_xgset30FC
 0098 6901              movw R12,R18
 009A E02E              mov R14,R16
 009C A884              ldd R10,y+8
 009E B984              ldd R11,y+9
 00A0                   .dbline -1
 00A0                   .dbline 89
 00A0           ; }
 00A0           ; 
 00A0           ; /*************************************************/
 00A0           ; //Display English words
 00A0           ; /*************************************************/
 00A0           ; void DispEN_LCD(BYTE page, WORD column, BYTE *ptr)
 00A0           ; {
 00A0                   .dbline 92
 00A0           ;       unsigned char seg;
 00A0           ;       
 00A0           ;       Write_LCDCOM(page);
 00A0 0E2D              mov R16,R14
 00A2 D5DF              xcall _Write_LCDCOM
 00A4                   .dbline 93
 00A4           ;       Write_LCDCOM(HIBYTE(column));   //列地址,高低字节两次写入
 00A4 8601              movw R16,R12
 00A6 012F              mov R16,R17
 00A8 1127              clr R17
 00AA 1070              andi R17,0
 00AC D0DF              xcall _Write_LCDCOM
 00AE                   .dbline 94
 00AE           ;       Write_LCDCOM(LOBYTE(column));
 00AE 0C2D              mov R16,R12
 00B0 CEDF              xcall _Write_LCDCOM
 00B2                   .dbline 96
 00B2           ; 
 00B2           ;       for(seg = 0; seg < 8; seg++)    //写8列
 00B2 4427              clr R20
 00B4 05C0              xjmp L23
 00B6           L20:
 00B6                   .dbline 97
 00B6           ;       { 
 00B6                   .dbline 98
 00B6           ;               Write_LCDDATA((BYTE)(*ptr++));
 00B6 F501              movw R30,R10
 00B8 0191              ld R16,Z+
 00BA 5F01              movw R10,R30
 00BC CEDF              xcall _Write_LCDDATA
 00BE                   .dbline 99
 00BE           ;       }
 00BE           L21:
 00BE                   .dbline 96
 00BE 4395              inc R20
 00C0           L23:
 00C0                   .dbline 96
 00C0 4830              cpi R20,8
 00C2 C8F3              brlo L20
 00C4           X4:
 00C4                   .dbline -2
 00C4           L19:
 00C4                   .dbline 0 ; func end
 00C4 0C940000          xjmp pop_xgset30FC
 00C8                   .dbsym r seg 20 c
 00C8                   .dbsym r ptr 10 pc
 00C8                   .dbsym r column 12 s
 00C8                   .dbsym r page 14 c
 00C8                   .dbend
 00C8                   .dbfunc e DispCN_LCD _DispCN_LCD fV
 00C8           ;         offset -> R20
 00C8           ;            seg -> R22
 00C8           ;            ptr -> R10,R11
 00C8           ;         column -> R12,R13
 00C8           ;           page -> R14
                        .even
 00C8           _DispCN_LCD::
 00C8 0E940000          xcall push_xgsetF0FC
 00CC 6901              movw R12,R18
 00CE E02E              mov R14,R16
 00D0 AA84              ldd R10,y+10
 00D2 BB84              ldd R11,y+11
 00D4                   .dbline -1
 00D4                   .dbline 106
 00D4           ; }
 00D4           ; 
 00D4           ; /*************************************************/
 00D4           ; //Display Chinese words
 00D4           ; /*************************************************/
 00D4           ; void DispCN_LCD(BYTE page, WORD column, BYTE *ptr)
 00D4           ; {
 00D4                   .dbline 109
 00D4           ;       unsigned char seg;
 00D4           ;       unsigned char offset;
 00D4           ;       for(offset = 0; offset < 2; offset++)
 00D4 4427              clr R20
 00D6 18C0              xjmp L28
 00D8           L25:
 00D8                   .dbline 110
 00D8           ;       {
 00D8                   .dbline 111
 00D8           ;               Write_LCDCOM((BYTE)(page + offset));
 00D8 242E              mov R2,R20
 00DA 3324              clr R3
 00DC 0E2D              mov R16,R14
 00DE 1127              clr R17
 00E0 020D              add R16,R2
 00E2 131D              adc R17,R3
 00E4 B4DF              xcall _Write_LCDCOM
 00E6                   .dbline 112
 00E6           ;               Write_LCDCOM(HIBYTE(column));   //列地址,高低字节两次写入
 00E6 8601              movw R16,R12
 00E8 012F              mov R16,R17
 00EA 1127              clr R17
 00EC 1070              andi R17,0
 00EE AFDF              xcall _Write_LCDCOM
 00F0                   .dbline 113
 00F0           ;               Write_LCDCOM(LOBYTE(column));
 00F0 0C2D              mov R16,R12
 00F2 ADDF              xcall _Write_LCDCOM
 00F4                   .dbline 115
 00F4           ;               
 00F4           ;               for(seg = 0; seg < 16; seg++)   //写16列
 00F4 6627              clr R22
 00F6 05C0              xjmp L32
 00F8           L29:
 00F8                   .dbline 116
 00F8           ;               { 
 00F8                   .dbline 117
 00F8           ;                       Write_LCDDATA((BYTE)(*ptr++));
 00F8 F501              movw R30,R10
 00FA 0191              ld R16,Z+
 00FC 5F01              movw R10,R30
 00FE ADDF              xcall _Write_LCDDATA
 0100                   .dbline 118
 0100           ;               }
 0100           L30:
 0100                   .dbline 115
 0100 6395              inc R22
 0102           L32:
 0102                   .dbline 115
 0102 6031              cpi R22,16
 0104 C8F3              brlo L29
 0106           X5:
 0106                   .dbline 119
 0106           ;       }
 0106           L26:
 0106                   .dbline 109
 0106 4395              inc R20
 0108           L28:
 0108                   .dbline 109
 0108 4230              cpi R20,2
 010A 30F3              brlo L25
 010C           X6:
 010C                   .dbline -2
 010C           L24:
 010C                   .dbline 0 ; func end
 010C 0C940000          xjmp pop_xgsetF0FC
 0110                   .dbsym r offset 20 c
 0110                   .dbsym r seg 22 c
 0110                   .dbsym r ptr 10 pc
 0110                   .dbsym r column 12 s
 0110                   .dbsym r page 14 c
 0110                   .dbend
 0110           ; }

⌨️ 快捷键说明

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