?? lcd_back.lis
字號:
0068 .dbend
0068 .dbfunc e Set_Data _Set_Data fV
0068 ; data -> R16
.even
0068 _Set_Data::
0068 .dbline -1
0068 .dbline 183
0068 ;
0068 ; //******************************************************************************
0068 ; // Function : Set_Data
0068 ; // Input : data - Data Line Level
0068 ; // Output : none
0068 ; // Description : Low Level Interface Function
0068 ; //******************************************************************************
0068 ; void Set_Data(INT8U data)
0068 ; {
0068 .dbline 184
0068 ; PORTA = data;
0068 0BBB out 0x1b,R16
006A .dbline -2
006A .dbline 185
006A ; }
006A L24:
006A .dbline 0 ; func end
006A 0895 ret
006C .dbsym r data 16 c
006C .dbend
006C .dbfunc e DisplayOnOff _DisplayOnOff fV
006C ; onoff -> R20
.even
006C _DisplayOnOff::
006C 0E940000 xcall push_gset1
0070 402F mov R20,R16
0072 .dbline -1
0072 .dbline 189
0072 ;
0072 ; //顯示開關控制命令,i=0開顯示,i=1關顯示//
0072 ; void DisplayOnOff(INT8U onoff)
0072 ; {
0072 .dbline 190
0072 ; Set_RW(0);
0072 0027 clr R16
0074 DBDF xcall _Set_RW
0076 .dbline 191
0076 ; Set_DI(0);
0076 0027 clr R16
0078 D3DF xcall _Set_DI
007A .dbline 192
007A ; Set_EN(0);
007A 0027 clr R16
007C DDDF xcall _Set_EN
007E .dbline 193
007E ; Set_Data(0x3E + onoff);
007E 042F mov R16,R20
0080 025C subi R16,194 ; addi 62
0082 F2DF xcall _Set_Data
0084 .dbline 194
0084 ; nop(10);
0084 .dbline 194
0084 .dbline 194
0084 .dbline 194
0084 .dbline 195
0084 ; Set_EN(1);
0084 01E0 ldi R16,1
0086 D8DF xcall _Set_EN
0088 .dbline 196
0088 ; nop(10);
0088 .dbline 196
0088 .dbline 196
0088 .dbline 196
0088 .dbline 197
0088 ; Set_EN(0);
0088 0027 clr R16
008A D6DF xcall _Set_EN
008C .dbline -2
008C .dbline 198
008C ; }
008C L25:
008C 0E940000 xcall pop_gset1
0090 .dbline 0 ; func end
0090 0895 ret
0092 .dbsym r onoff 20 c
0092 .dbend
0092 .dbfunc e SetStartLine _SetStartLine fV
0092 ; line -> R20
.even
0092 _SetStartLine::
0092 0E940000 xcall push_gset1
0096 402F mov R20,R16
0098 .dbline -1
0098 .dbline 202
0098 ;
0098 ; //設置顯示起始行,i=0~63//
0098 ; void SetStartLine(INT8U line)
0098 ; {
0098 .dbline 203
0098 ; Set_RW(0);
0098 0027 clr R16
009A C8DF xcall _Set_RW
009C .dbline 204
009C ; Set_DI(0);
009C 0027 clr R16
009E C0DF xcall _Set_DI
00A0 .dbline 205
00A0 ; Set_EN(0);
00A0 0027 clr R16
00A2 CADF xcall _Set_EN
00A4 .dbline 206
00A4 ; Set_Data(0xC0 + line);
00A4 042F mov R16,R20
00A6 0054 subi R16,64 ; addi 192
00A8 DFDF xcall _Set_Data
00AA .dbline 207
00AA ; nop(10);
00AA .dbline 207
00AA .dbline 207
00AA .dbline 207
00AA .dbline 208
00AA ; Set_EN(1);
00AA 01E0 ldi R16,1
00AC C5DF xcall _Set_EN
00AE .dbline 209
00AE ; nop(10);
00AE .dbline 209
00AE .dbline 209
00AE .dbline 209
00AE .dbline 210
00AE ; Set_EN(0);
00AE 0027 clr R16
00B0 C3DF xcall _Set_EN
00B2 .dbline -2
00B2 .dbline 211
00B2 ; }
00B2 L26:
00B2 0E940000 xcall pop_gset1
00B6 .dbline 0 ; func end
00B6 0895 ret
00B8 .dbsym r line 20 c
00B8 .dbend
00B8 .dbfunc e LCD_Command_Set_X _LCD_Command_Set_X fV
00B8 ; row -> R20
.even
00B8 _LCD_Command_Set_X::
00B8 0E940000 xcall push_gset1
00BC 402F mov R20,R16
00BE .dbline -1
00BE .dbline 215
00BE ;
00BE ; //設置頁(行)地址,i=0~7//
00BE ; void LCD_Command_Set_X(INT8U row)
00BE ; {
00BE .dbline 216
00BE ; Set_RW(0);
00BE 0027 clr R16
00C0 B5DF xcall _Set_RW
00C2 .dbline 217
00C2 ; Set_DI(0);
00C2 0027 clr R16
00C4 ADDF xcall _Set_DI
00C6 .dbline 218
00C6 ; Set_EN(0);
00C6 0027 clr R16
00C8 B7DF xcall _Set_EN
00CA .dbline 219
00CA ; Set_Data(0xB8 + row);
00CA 042F mov R16,R20
00CC 0854 subi R16,72 ; addi 184
00CE CCDF xcall _Set_Data
00D0 .dbline 220
00D0 ; nop(10);
00D0 .dbline 220
00D0 .dbline 220
00D0 .dbline 220
00D0 .dbline 221
00D0 ; Set_EN(1);
00D0 01E0 ldi R16,1
00D2 B2DF xcall _Set_EN
00D4 .dbline 222
00D4 ; nop(10);
00D4 .dbline 222
00D4 .dbline 222
00D4 .dbline 222
00D4 .dbline 223
00D4 ; Set_EN(0);
00D4 0027 clr R16
00D6 B0DF xcall _Set_EN
00D8 .dbline -2
00D8 .dbline 224
00D8 ; }
00D8 L27:
00D8 0E940000 xcall pop_gset1
00DC .dbline 0 ; func end
00DC 0895 ret
00DE .dbsym r row 20 c
00DE .dbend
00DE .dbfunc e LCD_Command_Set_Y _LCD_Command_Set_Y fV
00DE ; column -> R20
.even
00DE _LCD_Command_Set_Y::
00DE 0E940000 xcall push_gset1
00E2 402F mov R20,R16
00E4 .dbline -1
00E4 .dbline 228
00E4 ;
00E4 ; //設置Y(列)地址,i=0~127//
00E4 ; void LCD_Command_Set_Y(INT8U column)
00E4 ; {
00E4 .dbline 229
00E4 ; Set_RW(0);
00E4 0027 clr R16
00E6 A2DF xcall _Set_RW
00E8 .dbline 230
00E8 ; Set_DI(0);
00E8 0027 clr R16
00EA 9ADF xcall _Set_DI
00EC .dbline 231
00EC ; Set_EN(0);
00EC 0027 clr R16
00EE A4DF xcall _Set_EN
00F0 .dbline 232
00F0 ; Set_Data(0x40 + column);
00F0 042F mov R16,R20
00F2 005C subi R16,192 ; addi 64
00F4 B9DF xcall _Set_Data
00F6 .dbline 233
00F6 ; nop(10);
00F6 .dbline 233
00F6 .dbline 233
00F6 .dbline 233
00F6 .dbline 234
00F6 ; Set_EN(1);
00F6 01E0 ldi R16,1
00F8 9FDF xcall _Set_EN
00FA .dbline 235
00FA ; nop(10);
00FA .dbline 235
00FA .dbline 235
00FA .dbline 235
00FA .dbline 236
00FA ; Set_EN(0);
00FA 0027 clr R16
00FC 9DDF xcall _Set_EN
00FE .dbline -2
00FE .dbline 237
00FE ; }
00FE L28:
00FE 0E940000 xcall pop_gset1
0102 .dbline 0 ; func end
0102 0895 ret
0104 .dbsym r column 20 c
0104 .dbend
0104 .dbfunc e LCD_Command_WriteByte _LCD_Command_WriteByte fV
0104 ; data -> R20
.even
0104 _LCD_Command_WriteByte::
0104 0E940000 xcall push_gset1
0108 402F mov R20,R16
010A .dbline -1
010A .dbline 241
010A ;
010A ; //寫顯示數據,i為送DDRAM的數據
010A ; void LCD_Command_WriteByte(INT8U data)
010A ; {
010A .dbline 242
010A ; Set_RW(0);
010A 0027 clr R16
010C 8FDF xcall _Set_RW
010E .dbline 243
010E ; Set_DI(1);
010E 01E0 ldi R16,1
0110 87DF xcall _Set_DI
0112 .dbline 244
0112 ; Set_EN(0);
0112 0027 clr R16
0114 91DF xcall _Set_EN
0116 .dbline 245
0116 ; Set_Data(data);
0116 042F mov R16,R20
0118 A7DF xcall _Set_Data
011A .dbline 246
011A ; nop(10);
011A .dbline 246
011A .dbline 246
011A .dbline 246
011A .dbline 247
011A ; Set_EN(1);
011A 01E0 ldi R16,1
011C 8DDF xcall _Set_EN
011E .dbline 248
011E ; nop(10);
011E .dbline 248
011E .dbline 248
011E .dbline 248
011E .dbline 249
011E ; Set_EN(0);
011E 0027 clr R16
0120 8BDF xcall _Set_EN
0122 .dbline -2
0122 .dbline 250
0122 ; }
0122 L29:
0122 0E940000 xcall pop_gset1
0126 .dbline 0 ; func end
0126 0895 ret
0128 .dbsym r data 20 c
0128 .dbend
0128 .dbfunc e Read_Byte _Read_Byte fc
0128 ; data -> R20
.even
0128 _Read_Byte::
0128 0E940000 xcall push_gset1
012C .dbline -1
012C .dbline 253
012C ;
012C ; INT8U Read_Byte(void)
012C ; {
012C .dbline 255
012C ; INT8U data;
012C ; DDRA = 0x00;
012C 2224 clr R2
012E 2ABA out 0x1a,R2
0130 .dbline 256
0130 ; PORTA = 0x00;
0130 2BBA out 0x1b,R2
0132 .dbline 257
0132 ; Set_EN(0);
0132 0027 clr R16
0134 81DF xcall _Set_EN
0136 .dbline 258
0136 ; Set_RW(1);
0136 01E0 ldi R16,1
0138 79DF xcall _Set_RW
013A .dbline 259
013A ; Set_DI(1);
013A 01E0 ldi R16,1
013C 71DF xcall _Set_DI
013E .dbline 261
013E ; // Set_EN(0);
013E ; nop(100);
013E .dbline 261
013E .dbline 261
013E .dbline 261
013E .dbline 262
013E ; Set_EN(1);
013E 01E0 ldi R16,1
0140 7BDF xcall _Set_EN
0142 .dbline 263
0142 ; nop(100);
0142 .dbline 263
0142 .dbline 263
0142 .dbline 263
0142 .dbline 265
0142 ; //data = Get_Data();
0142 ; data = PINA;
0142 49B3 in R20,0x19
0144 .dbline 266
0144 ; Set_EN(0);
0144 0027 clr R16
0146 78DF xcall _Set_EN
0148 .dbline 267
0148 ; return(data);
0148 042F mov R16,R20
014A .dbline -2
014A L30:
014A 0E940000 xcall pop_gset1
014E .dbline 0 ; func end
014E 0895 ret
0150 .dbsym r data 20 c
0150 .dbend
0150 .dbfunc e LCD_Reset _LCD_Reset fV
.even
0150 _LCD_Reset::
0150 .dbline -1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -