📄 lcd_driver.ls1
字号:
0034 33 885 RLC A
0035 AB00 F 886 MOV R3,mat?867
0037 AA00 F 887 MOV R2,mat?867+01H
0039 A900 F 888 MOV R1,mat?867+02H
003B 8F82 889 MOV DPL,R7
003D F583 890 MOV DPH,A
003F 120000 F 891 LCALL ?C?CLDOPTR
0042 FF 892 MOV R7,A
0043 120000 F 893 LCALL _lcd_write_data
894 ; lcd_write_data(mat[i][1]);
895 ; SOURCE LINE # 185
0046 E500 F 896 MOV A,i?868+01H
0048 25E0 897 ADD A,ACC
004A FF 898 MOV R7,A
004B E500 F 899 MOV A,i?868
004D 33 900 RLC A
004E FE 901 MOV R6,A
004F AB00 F 902 MOV R3,mat?867
0051 E500 F 903 MOV A,mat?867+02H
0053 2F 904 ADD A,R7
0054 F9 905 MOV R1,A
0055 E500 F 906 MOV A,mat?867+01H
0057 3E 907 ADDC A,R6
0058 FA 908 MOV R2,A
0059 900001 909 MOV DPTR,#01H
005C 120000 F 910 LCALL ?C?CLDOPTR
005F FF 911 MOV R7,A
0060 120000 F 912 LCALL _lcd_write_data
913 ; }
914 ; SOURCE LINE # 186
0063 0500 F 915 INC i?868+01H
A51 MACRO ASSEMBLER LCD_DRIVER 05/23/2006 22:06:29 PAGE 15
0065 E500 F 916 MOV A,i?868+01H
0067 7002 917 JNZ ?C0048
0069 0500 F 918 INC i?868
006B 919 ?C0048:
006B C3 920 CLR C
006C 9410 921 SUBB A,#010H
006E E500 F 922 MOV A,i?868
0070 6480 923 XRL A,#080H
0072 9480 924 SUBB A,#080H
0074 409D 925 JC ?C0027
926 ; }
927 ; SOURCE LINE # 187
0076 928 ?C0030:
0076 22 929 RET
930 ; END OF _lcd_zh
931
932 ;
933 ; void lcd_clear(void)
934
---- 935 RSEG ?PR?lcd_clear?LCD_DRIVER
0000 936 lcd_clear:
937 USING 0
938 ; SOURCE LINE # 189
939 ; {
940 ; SOURCE LINE # 190
941 ; int i, j;
942 ; for(i = 0; i < 32; i++)
943 ; SOURCE LINE # 192
944 ;---- Variable 'i?970' assigned to Register 'DPTR' ----
0000 900000 945 MOV DPTR,#00H
0003 946 ?C0031:
947 ; {
948 ; SOURCE LINE # 193
949 ; lcd_write_instruction(0x3e, 1);
950 ; SOURCE LINE # 194
0003 7D01 951 MOV R5,#01H
0005 7F3E 952 MOV R7,#03EH
0007 120000 F 953 LCALL _lcd_write_instruction
954 ; //Delay(50);
955 ; lcd_write_instruction(i | 0x80, 1);
956 ; SOURCE LINE # 196
000A 120000 F 957 LCALL L?0051
958 ; //Delay(50);
959 ; lcd_write_instruction(0 | 0x80, 1);
960 ; SOURCE LINE # 198
000D 7D01 961 MOV R5,#01H
000F 7F80 962 MOV R7,#080H
0011 120000 F 963 LCALL _lcd_write_instruction
964 ; //Delay(50);
965 ; lcd_write_instruction(0x3a, 1);
966 ; SOURCE LINE # 200
0014 7D01 967 MOV R5,#01H
0016 7F3A 968 MOV R7,#03AH
0018 120000 F 969 LCALL _lcd_write_instruction
970 ; //Delay(50);
971 ; for(j = 0; j < 8; j++)
972 ; SOURCE LINE # 202
001B E4 973 CLR A
001C F500 F 974 MOV j?971,A
001E F500 F 975 MOV j?971+01H,A
0020 976 ?C0034:
977 ; {
978 ; SOURCE LINE # 203
979 ; lcd_write_data(0x00);
980 ; SOURCE LINE # 204
981 ; lcd_write_data(0x00);
A51 MACRO ASSEMBLER LCD_DRIVER 05/23/2006 22:06:29 PAGE 16
982 ; SOURCE LINE # 205
0020 120000 F 983 LCALL L?0053
984 ; }
985 ; SOURCE LINE # 206
0023 0500 F 986 INC j?971+01H
0025 E500 F 987 MOV A,j?971+01H
0027 7002 988 JNZ ?C0049
0029 0500 F 989 INC j?971
002B 990 ?C0049:
002B C3 991 CLR C
002C 9408 992 SUBB A,#08H
002E E500 F 993 MOV A,j?971
0030 6480 994 XRL A,#080H
0032 9480 995 SUBB A,#080H
0034 40EA 996 JC ?C0034
997 ; }
998 ; SOURCE LINE # 207
0036 999 ?C0033:
0036 A3 1000 INC DPTR
0037 E582 1001 MOV A,DPL
0039 6420 1002 XRL A,#020H
003B 4583 1003 ORL A,DPH
003D 70C4 1004 JNZ ?C0031
003F 1005 ?C0032:
1006 ;
1007 ; for(i = 0; i < 32; i++)
1008 ; SOURCE LINE # 209
003F E4 1009 CLR A
0040 F583 1010 MOV DPH,A
0042 F582 1011 MOV DPL,A
0044 1012 ?C0037:
1013 ; {
1014 ; SOURCE LINE # 210
1015 ; lcd_write_instruction(0x3e, 1);
1016 ; SOURCE LINE # 211
0044 7D01 1017 MOV R5,#01H
0046 7F3E 1018 MOV R7,#03EH
0048 120000 F 1019 LCALL _lcd_write_instruction
1020 ; //Delay(50);
1021 ; lcd_write_instruction(i | 0x80, 1);
1022 ; SOURCE LINE # 213
004B 120000 F 1023 LCALL L?0051
1024 ; //Delay(50);
1025 ; lcd_write_instruction(8 | 0x80, 1);
1026 ; SOURCE LINE # 215
004E 7D01 1027 MOV R5,#01H
0050 7F88 1028 MOV R7,#088H
0052 120000 F 1029 LCALL _lcd_write_instruction
1030 ; //Delay(50);
1031 ; lcd_write_instruction(0x3a, 1);
1032 ; SOURCE LINE # 217
0055 7D01 1033 MOV R5,#01H
0057 7F3A 1034 MOV R7,#03AH
0059 120000 F 1035 LCALL _lcd_write_instruction
1036 ; //Delay(50);
1037 ; for(j = 0; j < 8; j++)
1038 ; SOURCE LINE # 219
005C E4 1039 CLR A
005D F500 F 1040 MOV j?971,A
005F F500 F 1041 MOV j?971+01H,A
0061 1042 ?C0040:
1043 ; {
1044 ; SOURCE LINE # 220
1045 ; lcd_write_data(0x00);
1046 ; SOURCE LINE # 221
1047 ; lcd_write_data(0x00);
A51 MACRO ASSEMBLER LCD_DRIVER 05/23/2006 22:06:29 PAGE 17
1048 ; SOURCE LINE # 222
0061 120000 F 1049 LCALL L?0053
1050 ; }
1051 ; SOURCE LINE # 223
0064 0500 F 1052 INC j?971+01H
0066 E500 F 1053 MOV A,j?971+01H
0068 7002 1054 JNZ ?C0050
006A 0500 F 1055 INC j?971
006C 1056 ?C0050:
006C C3 1057 CLR C
006D 9408 1058 SUBB A,#08H
006F E500 F 1059 MOV A,j?971
0071 6480 1060 XRL A,#080H
0073 9480 1061 SUBB A,#080H
0075 40EA 1062 JC ?C0040
1063 ; }
1064 ; SOURCE LINE # 224
0077 1065 ?C0039:
0077 A3 1066 INC DPTR
0078 E582 1067 MOV A,DPL
007A 6420 1068 XRL A,#020H
007C 4583 1069 ORL A,DPH
007E 70C4 1070 JNZ ?C0037
1071 ; }
1072 ; SOURCE LINE # 225
0080 1073 ?C0043:
0080 22 1074 RET
1075 ; END OF lcd_clear
1076
1077 END
A51 MACRO ASSEMBLER LCD_DRIVER 05/23/2006 22:06:29 PAGE 18
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C0001. . . . . . . . . . . . . . . . C ADDR 0003H R SEG=?PR?_LCD_SEND_BYTE?LCD_DRIVER
?C0004. . . . . . . . . . . . . . . . C ADDR 000BH R SEG=?PR?_LCD_SEND_BYTE?LCD_DRIVER
?C0005. . . . . . . . . . . . . . . . C ADDR 000DH R SEG=?PR?_LCD_SEND_BYTE?LCD_DRIVER
?C0006. . . . . . . . . . . . . . . . C ADDR 0020H R SEG=?PR?_LCD_SEND_BYTE?LCD_DRIVER
?C0007. . . . . . . . . . . . . . . . C ADDR 0003H R SEG=?PR?_LCD_SEND_WORD?LCD_DRIVER
?C0010. . . . . . . . . . . . . . . . C ADDR 000BH R SEG=?PR?_LCD_SEND_WORD?LCD_DRIVER
?C0011. . . . . . . . . . . . . . . . C ADDR 000DH R SEG=?PR?_LCD_SEND_WORD?LCD_DRIVER
?C0012. . . . . . . . . . . . . . . . C ADDR 0023H R SEG=?PR?_LCD_SEND_WORD?LCD_DRIVER
?C0013. . . . . . . . . . . . . . . . C ADDR 0005H R SEG=?PR?LCD_READ_BYTE?LCD_DRIVER
?C0014. . . . . . . . . . . . . . . . C ADDR 0029H R SEG=?PR?LCD_READ_BYTE?LCD_DRIVER
?C0016. . . . . . . . . . . . . . . . C ADDR 003EH R SEG=?PR?LCD_READ_BYTE?LCD_DRIVER
?C0017. . . . . . . . . . . . . . . . C ADDR 000EH R SEG=?PR?LCD_BUSY_FLAG?LCD_DRIVER
?C0018. . . . . . . . . . . . . . . . C ADDR 0014H R SEG=?PR?_LCD_WRITE_INSTRUCTION?LCD_DRIVER
?C0019. . . . . . . . . . . . . . . . C ADDR 000DH R SEG=?PR?_LCD_WRITE_INSTRUCTION?LCD_DRIVER
?C0024. . . . . . . . . . . . . . . . C ADDR 0018H R SEG=?PR?_LCD_CHAR?LCD_DRIVER
?C0025. . . . . . . . . . . . . . . . C ADDR 0020H R SEG=?PR?_LCD_CHAR?LCD_DRIVER
?C0027. . . . . . . . . . . . . . . . C ADDR 0013H R SEG=?PR?_LCD_ZH?LCD_DRIVER
?C0030. . . . . . . . . . . . . . . . C ADDR 0076H R SEG=?PR?_LCD_ZH?LCD_DRIVER
?C0031. . . . . . . . . . . . . . . . C ADDR 0003H R SEG=?PR?LCD_CLEAR?LCD_DRIVER
?C0032. . . . . . . . . . . . . . . . C ADDR 003FH R SEG=?PR?LCD_CLEAR?LCD_DRIVER
?C0033. . . . . . . . . . . . . . . . C ADDR 0036H R SEG=?PR?LCD_CLEAR?LCD_DRIVER
?C0034. . . . . . . . . . . . . . . . C ADDR 0020H R SEG=?PR?LCD_CL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -