📄 glcd.lst
字号:
892 ; Parameters:
893 ; None
894 ; Registers used:
895 ; wreg, fsr0l, fsr1l, fsr2l, status,2, status,0
+ , prodl, prodh
896 ; Tracked objects:
897 ; On entry : 0/0
898 ; On exit : 0/0
899 ; Unchanged: FFFFFFFF/0
900 ; Data sizes:
901 ; Autos: 2
902 ; Params: 0
903 ; Temp: 0
904 ; Total: 2
905 ; This function calls:
906 ; _GLCD_SetPos
907 ; _GLCD_WriteData
908 ; This function is called by:
909 ; _GLCD_Init
910 000214 _GLCD_Clear:
911 ;glcd.c: 198: unsigned char x,y;
912 ;glcd.c: 199: for(y=0; y<8; y++)
913 ;access bank - no selection
914 000214 6AE1 clrf 225,c
915 000216 l26:
916 ;glcd.c: 200: {
917 ;glcd.c: 201: GLCD_SetPos(y, 0);
918 000216 0101 movlb 1 ;banked
919 ;current bank (1) selected
920 000218 6B19 clrf ?_GLCD_SetPos& (0+255),b
921 ;access bank - no selection
922 00021A 50E1 movf 225,w,c
923 00021C D80C call _GLCD_SetPos
924 ;glcd.c: 202: for(x=0; x<128; x++)
925 ;access bank - no selection
926 00021E 6AE9 clrf 233,c
927 000220 l29:
928 000220 0E00 movlw 0
929 000222 D82D call _GLCD_WriteData
930 ;access bank - no selection
931 000224 2AE9 incf 233,f,c
932 000226 0E7F movlw -129
933 ;access bank - no selection
934 000228 64E9 cpfsgt 233,c
935 00022A D7FA goto l29
936 ;access bank - no selection
937 00022C 2AE1 incf 225,f,c
938 00022E 0E07 movlw 7
939 ;access bank - no selection
940 000230 64E1 cpfsgt 225,c
941 000232 D7F1 goto l26
942 000234 0012 return
943 ;glcd.c: 204: }
944 ;glcd.c: 205: }
945 ; =============== function _GLCD_Clear ends ====
+ ========
946 ; *************** function _GLCD_SetPos ********
+ *********
947 ; Defined at:
948 ; line 229 in file "E:\DOC\ELECTRONIC\PIC\Proje
+ ct\Libs\4455glcd\glcd.c"
949 ; Parameters:
950 ; line reg: wreg type: unsigned char
951 ; pos type: unsigned char
952 ; Registers used:
953 ; wreg, fsr2l, status,2, status,0, prodl, prodh
954 ; Tracked objects:
955 ; On entry : 0/0
956 ; On exit : 0/0
957 ; Unchanged: FFFFFFFF/0
958 ; Data sizes:
959 ; Autos: 1
960 ; Params: 1
961 ; Temp: 0
962 ; Total: 2
963 ; This function calls:
964 ; _GLCD_ChipSelect
965 ; _GLCD_WriteCommand
966 ; This function is called by:
967 ; _GLCD_ReadData
968 ; _GLCD_Clear
969 ; _GLCD_WriteData
970 ; _GLCD_WriteCombineData
971 ; _GLCD_WriteString
972 ; _GLCD_WriteAlignString
973 ; _GLCD_WriteDot
974 ; _GLCD_WriteDotCombine
975 ; _main
976 000236 _GLCD_SetPos:
977 ; _GLCD_SetPos_line loaded to fsr2l
978 000236 CFE8 FFD9 movff wreg,fsr2l
979 ;glcd.c: 228: void GLCD_SetPos(unsigned char lin
+ e, unsigned char pos)
980 ;glcd.c: 229: {
981 ;glcd.c: 230: GLCD_pos = pos;
982 00023A 0101 movlb 1 ;banked
983 00023C C119 F005 movff ?_GLCD_SetPos,5
984 ;glcd.c: 231: if(pos < 64)
985 000240 0E40 movlw 64
986 ;current bank (1) selected
987 ;current bank (1) selected
988 000242 6119 cpfslt ?_GLCD_SetPos& (0+255),b
989 000244 D007 goto l35
990 ;glcd.c: 232: {
991 ;glcd.c: 233: GLCD_ChipSelect(0);
992 000246 0E00 movlw 0
993 000248 D80F call _GLCD_ChipSelect
994 ;glcd.c: 234: GLCD_WriteCommand(0b01000000 + pos
+ );
995 00024A 0101 movlb 1 ;banked
996 ;current bank (1) selected
997 00024C 5119 movf ?_GLCD_SetPos& (0+255),w,b
998 00024E 0F40 addlw 64
999 000250 DFCC call _GLCD_WriteCommand
1000 000252 D005 goto L2
1001 ;glcd.c: 235: GLCD_line = line; GLCD_WriteComman
+ d(0b10111000 + line);
1002 ;access bank - no selection
1003 ;glcd.c: 236: }
1004 000254 l35:
1005 ;glcd.c: 237: else
1006 ;glcd.c: 238: {
1007 ;glcd.c: 239: GLCD_ChipSelect(1);
1008 000254 0E01 movlw 1
1009 000256 D808 call _GLCD_ChipSelect
1010 ;glcd.c: 240: GLCD_WriteCommand(0b01000000 + pos
+ - 64);
1011 000258 0101 movlb 1 ;banked
1012 ;current bank (1) selected
1013 00025A 5119 movf ?_GLCD_SetPos& (0+255),w,b
1014 00025C DFC6 call _GLCD_WriteCommand
1015 00025E L2:
1016 ;glcd.c: 241: GLCD_line = line; GLCD_WriteComman
+ d(0b10111000 + line);
1017 00025E CFD9 F006 movff fsr2l,6
1018 ;access bank - no selection
1019 000262 50D9 movf 217,w,c
1020 000264 0FB8 addlw 184
1021 000266 D7C1 goto _GLCD_WriteCommand
1022 ;glcd.c: 242: }
1023 ;glcd.c: 243: }
1024 ; =============== function _GLCD_SetPos ends ===
+ =========
1025 ; *************** function _GLCD_ChipSelect ****
+ *************
1026 ; Defined at:
1027 ; line 59 in file "E:\DOC\ELECTRONIC\PIC\Projec
+ t\Libs\4455glcd\glcd.c"
1028 ; Parameters:
1029 ; x reg: wreg type: unsigned char
1030 ; Registers used:
1031 ; wreg, status,2, status,0, prodl, prodh
1032 ; Tracked objects:
1033 ; On entry : 0/0
1034 ; On exit : 0/0
1035 ; Unchanged: FFFFFFFF/0
1036 ; Data sizes:
1037 ; Autos: 1
1038 ; Params: 0
1039 ; Temp: 0
1040 ; Total: 1
1041 ; This function calls:
1042 ; _DelayUs
1043 ; This function is called by:
1044 ; _GLCD_ReadData
1045 ; _GLCD_SetPos
1046 ; _GLCD_WriteData
1047 000268 _GLCD_ChipSelect:
1048 ; _GLCD_ChipSelect_F701_x loaded to prodl
1049 000268 CFE8 FFF3 movff wreg,prodl
1050 ;glcd.c: 58: void GLCD_ChipSelect(unsigned char
+ x)
1051 ;glcd.c: 59: {
1052 ;glcd.c: 60: PORTB &= ~0x03;
1053 00026C 0EFC movlw 252
1054 ;access bank - no selection
1055 00026E 1681 andwf 129,f,c ;volatile
1056 ;glcd.c: 61: if(x==0)
1057 ;access bank - no selection
1058 000270 66F3 tstfsz 243,c
1059 000272 D002 goto l17
1060 ;glcd.c: 62: PORTB |= 0x01;
1061 ;access bank - no selection
1062 000274 8081 bsf 129,0,c ;volatile
1063 000276 D001 goto l18
1064 000278 l17:
1065 ;glcd.c: 63: else
1066 ;glcd.c: 64: PORTB |= 0x02;
1067 ;access bank - no selection
1068 000278 8281 bsf 129,1,c ;volatile
1069 00027A l18:
1070 ;glcd.c: 65: DelayUs(1);
1071 00027A 0E01 movlw 1
1072 00027C D796 goto _DelayUs
1073 ;glcd.c: 66: }
1074 ; =============== function _GLCD_ChipSelect ends
+ ============
1075 ; *************** function _GLCD_WriteData *****
+ ************
1076 ; Defined at:
1077 ; line 249 in file "E:\DOC\ELECTRONIC\PIC\Proje
+ ct\Libs\4455glcd\glcd.c"
1078 ; Parameters:
1079 ; cData reg: wreg type: unsigned char
1080 ; Registers used:
1081 ; wreg, fsr2l, status,2, status,0, prodl, prodh
1082 ; Tracked objects:
1083 ; On entry : 0/0
1084 ; On exit : 0/0
1085 ; Unchanged: FFFFFFFF/0
1086 ; Data sizes:
1087 ; Autos: 1
1088 ; Params: 0
1089 ; Temp: 0
1090 ; Total: 1
1091 ; This function calls:
1092 ; _GLCD_Strobe
1093 ; _GLCD_ChipSelect
1094 ; _GLCD_SetPos
1095 ; This function is called by:
1096 ; _GLCD_Clear
1097 ; _GLCD_WriteCombineData
1098 ; _GLCD_WriteChar
1099 ; _GLCD_WritePackedChar
1100 ; _GLCD_WriteDot
1101 ; _GLCD_WriteDotCombine
1102 ; _main
1103 00027E _GLCD_WriteData:
1104 ;glcd.c: 248: void GLCD_WriteData(unsigned char
+ cData)
1105 ;glcd.c: 249: {
1106 ;glcd.c: 251: RC1 = 1;
1107 ;access bank - no selection
1108 00027E 8282 bsf 3970,1,c ;volatile
1109 ;glcd.c: 255: PORTD = cData;
1110 000280 CFE8 FF83 movff wreg,3971 ;volatile
1111 ;glcd.c: 257: GLCD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -