📄 ylf240128a-3.lis
字号:
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 + -