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

📄 ylf240128a-3.lis

📁 自己编制的北京友力发公司的液晶显示模块驱动程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0054                   .dbline 107
 0054           ;     PORTA|=(1<<3); // /WR=1
 0054 DB9A              sbi 0x1b,3
 0056                   .dbline -2
 0056           L14:
 0056 0E940000          xcall pop_gset1
 005A                   .dbline 0 ; func end
 005A 0895              ret
 005C                   .dbsym r comd0 20 c
 005C                   .dbend
 005C                   .dbfunc e writedata _writedata fV
 005C           ;        onedata -> R20
                        .even
 005C           _writedata::
 005C 0E940000          xcall push_gset1
 0060 402F              mov R20,R16
 0062                   .dbline -1
 0062                   .dbline 112
 0062           ; }
 0062           ; 
 0062           ; //数据写入函数
 0062           ; void writedata(uchar onedata)
 0062           ; {
 0062                   .dbline 113
 0062           ;     st01();
 0062 DADF              xcall _st01
 0064                   .dbline 114
 0064           ;     DDRA|=(1<<1);
 0064 D19A              sbi 0x1a,1
 0066                   .dbline 115
 0066           ;     PORTA&=~(1<<1); // C/D=0,数据通道
 0066 D998              cbi 0x1b,1
 0068                   .dbline 116
 0068           ;     DDRB=0xff; //B口方向为输出
 0068 8FEF              ldi R24,255
 006A 87BB              out 0x17,R24
 006C                   .dbline 117
 006C           ;     PORTB=onedata; //送数据到B口寄存器
 006C 48BB              out 0x18,R20
 006E                   .dbline 118
 006E           ;     DDRA|=(1<<3);
 006E D39A              sbi 0x1a,3
 0070                   .dbline 119
 0070           ;     PORTA&=~(1<<3); // /WR=0
 0070 DB98              cbi 0x1b,3
 0072                   .dbline 120
 0072           ;     NOP();
 0072 0000              nop
 0074                   .dbline 121
 0074           ;     PORTA|=(1<<3); // /WR=1
 0074 DB9A              sbi 0x1b,3
 0076                   .dbline -2
 0076           L15:
 0076 0E940000          xcall pop_gset1
 007A                   .dbline 0 ; func end
 007A 0895              ret
 007C                   .dbsym r onedata 20 c
 007C                   .dbend
 007C                   .dbfunc e writeauto _writeauto fV
 007C           ;        onedata -> R20
                        .even
 007C           _writeauto::
 007C 0E940000          xcall push_gset1
 0080 402F              mov R20,R16
 0082                   .dbline -1
 0082                   .dbline 126
 0082           ; }
 0082           ; 
 0082           ; //数据自动写入函数
 0082           ; void writeauto(const uchar onedata)
 0082           ; {
 0082                   .dbline 127
 0082           ;     st3();
 0082 D6DF              xcall _st3
 0084                   .dbline 128
 0084           ;     DDRA|=(1<<1);
 0084 D19A              sbi 0x1a,1
 0086                   .dbline 129
 0086           ;     PORTA&=~(1<<1); // C/D=0,数据通道
 0086 D998              cbi 0x1b,1
 0088                   .dbline 130
 0088           ;     DDRB=0xff; //B口方向为输出
 0088 8FEF              ldi R24,255
 008A 87BB              out 0x17,R24
 008C                   .dbline 131
 008C           ;     PORTB=onedata; //送数据到B口寄存器
 008C 48BB              out 0x18,R20
 008E                   .dbline 132
 008E           ;     DDRA|=(1<<3);
 008E D39A              sbi 0x1a,3
 0090                   .dbline 133
 0090           ;     PORTA&=~(1<<3); // /WR=0
 0090 DB98              cbi 0x1b,3
 0092                   .dbline 134
 0092           ;     NOP();
 0092 0000              nop
 0094                   .dbline 135
 0094           ;     PORTA|=(1<<3); // /WR=1
 0094 DB9A              sbi 0x1b,3
 0096                   .dbline -2
 0096           L16:
 0096 0E940000          xcall pop_gset1
 009A                   .dbline 0 ; func end
 009A 0895              ret
 009C                   .dbsym r onedata 20 kc
 009C                   .dbend
 009C                   .dbfunc e oneparameter _oneparameter fV
 009C           ;          comd1 -> R20
 009C           ;          onep1 -> R22
                        .even
 009C           _oneparameter::
 009C 0E940000          xcall push_gset2
 00A0 422F              mov R20,R18
 00A2 602F              mov R22,R16
 00A4                   .dbline -1
 00A4                   .dbline 140
 00A4           ; }
 00A4           ; 
 00A4           ; //一字节参数指令写入函数
 00A4           ; void oneparameter(uchar onep1,uchar comd1)
 00A4           ; {
 00A4                   .dbline 141
 00A4           ;     writedata(onep1);
 00A4 062F              mov R16,R22
 00A6 DADF              xcall _writedata
 00A8                   .dbline 142
 00A8           ;     writecode(comd1);
 00A8 042F              mov R16,R20
 00AA C8DF              xcall _writecode
 00AC                   .dbline -2
 00AC           L17:
 00AC 0E940000          xcall pop_gset2
 00B0                   .dbline 0 ; func end
 00B0 0895              ret
 00B2                   .dbsym r comd1 20 c
 00B2                   .dbsym r onep1 22 c
 00B2                   .dbend
 00B2                   .dbfunc e twoparameter _twoparameter fV
 00B2           ;          comd2 -> y+4
 00B2           ;          twop2 -> R20
 00B2           ;          twop1 -> R22
                        .even
 00B2           _twoparameter::
 00B2 0E940000          xcall push_gset2
 00B6 422F              mov R20,R18
 00B8 602F              mov R22,R16
 00BA                   .dbline -1
 00BA                   .dbline 147
 00BA           ; }
 00BA           ; 
 00BA           ; //两字节参数指令写入函数
 00BA           ; void twoparameter(uchar twop1,uchar twop2,uchar comd2)
 00BA           ; {
 00BA                   .dbline 148
 00BA           ;     writedata(twop1);
 00BA 062F              mov R16,R22
 00BC CFDF              xcall _writedata
 00BE                   .dbline 149
 00BE           ;     writedata(twop2);
 00BE 042F              mov R16,R20
 00C0 CDDF              xcall _writedata
 00C2                   .dbline 150
 00C2           ;     writecode(comd2);
 00C2 0C81              ldd R16,y+4
 00C4 BBDF              xcall _writecode
 00C6                   .dbline -2
 00C6           L18:
 00C6 0E940000          xcall pop_gset2
 00CA                   .dbline 0 ; func end
 00CA 0895              ret
 00CC                   .dbsym l comd2 4 c
 00CC                   .dbsym r twop2 20 c
 00CC                   .dbsym r twop1 22 c
 00CC                   .dbend
 00CC                   .dbfunc e lcd_init _lcd_init fV
                        .even
 00CC           _lcd_init::
 00CC 2197              sbiw R28,1
 00CE                   .dbline -1
 00CE                   .dbline 158
 00CE           ; }
 00CE           ; 
 00CE           ; /***********************************************************
 00CE           ; 液晶初始化,清屏
 00CE           ; ***********************************************************/
 00CE           ; //内置T6963C控制器液晶初始化函数
 00CE           ; void lcd_init(void)
 00CE           ; {
 00CE                   .dbline 159
 00CE           ;     twoparameter(0x00,0x00,TXHOME); //文本显示区域首地址0x0000
 00CE 80E4              ldi R24,64
 00D0 8883              std y+0,R24
 00D2 2227              clr R18
 00D4 0027              clr R16
 00D6 EDDF              xcall _twoparameter
 00D8                   .dbline 160
 00D8           ;     twoparameter(0x00,0x02,GRHOME); //图形显示区域首地址0x0200
 00D8 82E4              ldi R24,66
 00DA 8883              std y+0,R24
 00DC 22E0              ldi R18,2
 00DE 0027              clr R16
 00E0 E8DF              xcall _twoparameter
 00E2                   .dbline 162
 00E2           ; 
 00E2           ;     twoparameter(0x1E,0x00,TXAREA); //文本显示区域宽度30字节
 00E2 81E4              ldi R24,65
 00E4 8883              std y+0,R24
 00E6 2227              clr R18
 00E8 0EE1              ldi R16,30
 00EA E3DF              xcall _twoparameter
 00EC                   .dbline 163
 00EC           ;     twoparameter(0x1E,0x00,GRAREA); //图形显示区域宽度30字节
 00EC 83E4              ldi R24,67
 00EE 8883              std y+0,R24
 00F0 2227              clr R18
 00F2 0EE1              ldi R16,30
 00F4 DEDF              xcall _twoparameter
 00F6                   .dbline 164
 00F6           ;     writecode(0x80); //显示方式设置(使用内部CGROM,OR合成)
 00F6 00E8              ldi R16,128
 00F8 A1DF              xcall _writecode
 00FA                   .dbline 166
 00FA           ;     
 00FA           ;     twoparameter(0x02,0x00,OFFSET);//偏移地址,1400
 00FA 82E2              ldi R24,34
 00FC 8883              std y+0,R24
 00FE 2227              clr R18
 0100 02E0              ldi R16,2
 0102 D7DF              xcall _twoparameter
 0104                   .dbline 168
 0104           ;     
 0104           ;     writecode(0x94); //显示开关(Text on,graphics off,cursor off)
 0104 04E9              ldi R16,148
 0106 9ADF              xcall _writecode
 0108                   .dbline -2
 0108           L19:
 0108 2196              adiw R28,1
 010A                   .dbline 0 ; func end
 010A 0895              ret
 010C                   .dbend
 010C                   .dbfunc e lcd_clear _lcd_clear fV
 010C           ;       cl_count -> R20,R21
                        .even
 010C           _lcd_clear::
 010C 0E940000          xcall push_gset1
 0110 2197              sbiw R28,1
 0112                   .dbline -1
 0112                   .dbline 173
 0112           ; }
 0112           ; 
 0112           ; //清除屏幕(清所有8K存储空间)
 0112           ; void lcd_clear(void)
 0112           ; {
 0112                   .dbline 175
 0112           ;     uint cl_count;
 0112           ;     twoparameter(0x00,0x00,ADPSET); //设置显示存储器首地址
 0112 84E2              ldi R24,36
 0114 8883              std y+0,R24
 0116 2227              clr R18
 0118 0027              clr R16
 011A CBDF              xcall _twoparameter
 011C                   .dbline 176
 011C           ;     writecode(AWRON); //设置自动写状态
 011C 00EB              ldi R16,176
 011E 8EDF              xcall _writecode
 0120                   .dbline 177
 0120           ;     for(cl_count=960;cl_count>0;cl_count--)
 0120 40EC              ldi R20,960
 0122 53E0              ldi R21,3
 0124 04C0              xjmp L24
 0126           L21:
 0126                   .dbline 178
 0126 05E0              ldi R16,5
 0128 A9DF              xcall _writeauto
 012A           L22:
 012A                   .dbline 177
 012A 4150              subi R20,1
 012C 5040              sbci R21,0
 012E           L24:

⌨️ 快捷键说明

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