📄 lcd.lst
字号:
930 0F45 3064 movlw 100
931 0F46 00F2 movwf btemp+2
932 0F47 01F3 clrf btemp+3
933 0F48 0821 movf ?_DisplayNum+1,w
934 0F49 00F1 movwf btemp+1
935 0F4A 0820 movf ?_DisplayNum,w
936 0F4B 00F0 movwf btemp
937 0F4C 120A 118A 2783 fcall awmod
938 0F4F 0824 movf ?a_DisplayNum+4,w
939 0F50 02F0 subwf btemp
940 0F51 1C03 btfss 3,0
941 0F52 03F1 decf btemp+1
942 0F53 300A movlw 10
943 0F54 00F2 movwf btemp+2
944 0F55 3000 movlw 0
945 0F56 01F3 clrf btemp+3
946 0F57 120A 118A 2783 fcall awdiv
947 0F5A 0874 movf btemp+4,w
948 0F5B 3E30 addlw 48
949 0F5C 00A3 movwf ?a_DisplayNum+3
950 ;lcd.c: 202: digit[2]=(val%1000-digit[3]-digit[
+ 4])/100+48;
951 0F5D 30E8 movlw 232
952 0F5E 00F2 movwf btemp+2
953 0F5F 3003 movlw 3
954 0F60 00F3 movwf btemp+3
955 0F61 0821 movf ?_DisplayNum+1,w
956 0F62 00F1 movwf btemp+1
957 0F63 0820 movf ?_DisplayNum,w
958 0F64 00F0 movwf btemp
959 0F65 120A 118A 2783 fcall awmod
960 0F68 0823 movf ?a_DisplayNum+3,w
961 0F69 02F0 subwf btemp
962 0F6A 1C03 btfss 3,0
963 0F6B 03F1 decf btemp+1
964 0F6C 0824 movf ?a_DisplayNum+4,w
965 0F6D 02F0 subwf btemp
966 0F6E 1C03 btfss 3,0
967 0F6F 03F1 decf btemp+1
968 0F70 3064 movlw 100
969 0F71 00F2 movwf btemp+2
970 0F72 3000 movlw 0
971 0F73 01F3 clrf btemp+3
972 0F74 120A 118A 2783 fcall awdiv
973 0F77 0874 movf btemp+4,w
974 0F78 3E30 addlw 48
975 0F79 00A2 movwf ?a_DisplayNum+2
976 ;lcd.c: 203: digit[1]=(val%10000-digit[3]-digit
+ [2]-digit[4])/1000+48;
977 0F7A 3010 movlw 16
978 0F7B 00F2 movwf btemp+2
979 0F7C 3027 movlw 39
980 0F7D 00F3 movwf btemp+3
981 0F7E 0821 movf ?_DisplayNum+1,w
982 0F7F 00F1 movwf btemp+1
983 0F80 0820 movf ?_DisplayNum,w
984 0F81 00F0 movwf btemp
985 0F82 120A 118A 2783 fcall awmod
986 0F85 0823 movf ?a_DisplayNum+3,w
987 0F86 02F0 subwf btemp
988 0F87 1C03 btfss 3,0
989 0F88 03F1 decf btemp+1
990 0F89 0822 movf ?a_DisplayNum+2,w
991 0F8A 02F0 subwf btemp
992 0F8B 1C03 btfss 3,0
993 0F8C 03F1 decf btemp+1
994 0F8D 0824 movf ?a_DisplayNum+4,w
995 0F8E 02F0 subwf btemp
996 0F8F 1C03 btfss 3,0
997 0F90 03F1 decf btemp+1
998 0F91 30E8 movlw 232
999 0F92 00F2 movwf btemp+2
1000 0F93 3003 movlw 3
1001 0F94 00F3 movwf btemp+3
1002 0F95 120A 118A 2783 fcall awdiv
+ 120A 158A
1003 0F9A 0874 movf btemp+4,w
1004 0F9B 3E30 addlw 48
1005 0F9C 00A1 movwf ?a_DisplayNum+1
1006 ;lcd.c: 204: if(val<0)digit[0]='-';
1007 0F9D 1FA1 btfss ?_DisplayNum+1,7
1008 0F9E 2FA1 goto l64
1009 0F9F 302D movlw 45
1010 0FA0 2FA2 goto L6
1011 ;lcd.c: 205: else digit[0]=' ';
1012 0FA1 l64
1013 0FA1 3020 movlw 32
1014 0FA2 L6
1015 0FA2 00A0 movwf ?a_DisplayNum
1016 ;lcd.c: 206: DisplayChar(digit,x,y);
1017 0FA3 3020 movlw ?a_DisplayNum
1018 0FA4 00A0 movwf ?_DisplayChar
1019 0FA5 3080 movlw 128
1020 0FA6 00A1 movwf ?_DisplayChar+1
1021 0FA7 0822 movf ?_DisplayNum+2,w
1022 0FA8 00A2 movwf ?_DisplayChar+2
1023 0FA9 0823 movf ?_DisplayNum+3,w
1024 0FAA 00A3 movwf ?_DisplayChar+3
1025 0FAB 2DCA ljmp _DisplayChar
1026 0FAC _Delay1ms
1027 ; _d assigned to ?a_Delay1ms+0
1028 0000 _Delay1ms$d set ?a_Delay1ms
1029 ;lcd.c: 13: unsigned int d=delay;
1030 0FAC 3064 movlw 100
1031 0FAD 0183 clrf 3 ;select bank 0
1032 0FAE 00A5 movwf ?a_Delay1ms
1033 0FAF 01A6 clrf ?a_Delay1ms+1
1034 ;lcd.c: 14: while(--d){;}
1035 0FB0 l2
1036 0FB0 30FF movlw -1
1037 0FB1 07A5 addwf ?a_Delay1ms
1038 0FB2 1C03 btfss 3,0
1039 0FB3 03A6 decf ?a_Delay1ms+1
1040 0FB4 0826 movf ?a_Delay1ms+1,w
1041 0FB5 0425 iorwf ?a_Delay1ms,w
1042 0FB6 1903 btfsc 3,2
1043 0FB7 0008 return
1044 0FB8 2FB0 goto l2
1045 0FB9 _DelayNms
1046 ; _i assigned to ?a_DelayNms+0
1047 0000 _DelayNms$i set ?a_DelayNms
1048 ;lcd.c: 19: unsigned int i;
1049 0FB9 0183 clrf 3 ;select bank 0
1050 0FBA 0821 movf ?_DelayNms,w
1051 0FBB 00A3 movwf ?a_DelayNms
1052 0FBC 0822 movf ?_DelayNms+1,w
1053 0FBD 00A4 movwf ?a_DelayNms+1
1054 0FBE 2FC0 goto l9
1055 0FBF l6
1056 ;lcd.c: 21: Delay1ms();
1057 0FBF 27AC fcall _Delay1ms
1058 0FC0 l9
1059 0FC0 0823 movf ?a_DelayNms,w
1060 0FC1 1903 btfsc 3,2
1061 0FC2 03A4 decf ?a_DelayNms+1
1062 0FC3 03A3 decf ?a_DelayNms
1063 0FC4 0A23 incf ?a_DelayNms,w
1064 0FC5 1903 btfsc 3,2
1065 0FC6 0A24 incf ?a_DelayNms+1,w
1066 0FC7 1903 btfsc 3,2
1067 0FC8 0008 return
1068 0FC9 2FBF goto l6
1069 ;lcd.c: 24: void Toggle()
1070 ;lcd.c: 25: {
1071 0FCA _Toggle
1072 ;lcd.c: 26: RD7=1;
1073 0FCA 0183 clrf 3 ;select bank 0
1074 0FCB 1788 bsf 8,7
1075 ;lcd.c: 27: RD7=0;
1076 0FCC 1388 bcf 8,7
1077 ;lcd.c: 29: }
1078 0FCD 0008 return
1079 ;lcd.c: 78: void Init_LCD()
1080 ;lcd.c: 79: {
1081 0FCE _Init_LCD
1082 ;lcd.c: 80: TRISC=0X00;
1083 0FCE 1683 bsf 3,5
1084 0FCF 1303 bcf 3,6 ;carry unused
1085 0FD0 0187 clrf 7 ;volatile
1086 ;lcd.c: 81: PORTC=0X30;
1087 0FD1 3030 movlw 48
1088 0FD2 1283 bcf 3,5
1089 0FD3 0087 movwf 7 ;volatile
1090 ;lcd.c: 82: RD5=0;
1091 0FD4 1288 bcf 8,5
1092 ;lcd.c: 83: RD6=0;
1093 0FD5 1308 bcf 8,6
1094 ;lcd.c: 84: Toggle();
1095 0FD6 27CA fcall _Toggle
1096 ;lcd.c: 85: DelayNms(5);
1097 0FD7 3005 movlw 5
1098 0FD8 00A1 movwf ?_DelayNms
1099 0FD9 01A2 clrf ?_DelayNms+1
1100 0FDA 27B9 fcall _DelayNms
1101 ;lcd.c: 87: PORTC=0X30;
1102 0FDB 3030 movlw 48
1103 0FDC 0087 movwf 7 ;volatile
1104 ;lcd.c: 88: RD5=0;
1105 0FDD 1288 bcf 8,5
1106 ;lcd.c: 89: RD6=0;
1107 0FDE 1308 bcf 8,6
1108 ;lcd.c: 90: Toggle();
1109 0FDF 27CA fcall _Toggle
1110 ;lcd.c: 91: Delay1ms();
1111 0FE0 27AC fcall _Delay1ms
1112 ;lcd.c: 93: PORTC=0X30;
1113 0FE1 3030 movlw 48
1114 0FE2 0087 movwf 7 ;volatile
1115 ;lcd.c: 94: RD5=0;
1116 0FE3 1288 bcf 8,5
1117 ;lcd.c: 95: RD6=0;
1118 0FE4 1308 bcf 8,6
1119 ;lcd.c: 96: Toggle();
1120 0FE5 27CA fcall _Toggle
1121 ;lcd.c: 97: DelayNms(2);
1122 0FE6 3002 movlw 2
1123 0FE7 00A1 movwf ?_DelayNms
1124 0FE8 01A2 clrf ?_DelayNms+1
1125 0FE9 27B9 fcall _DelayNms
1126 ;lcd.c: 99: WRCommand(0x38);
1127 0FEA 3038 movlw 56
1128 0FEB 25AD 120A 158A fcall _WRCommand
1129 ;lcd.c: 100: WRCommand(0x08);
1130 0FEE 3008 movlw 8
1131 0FEF 25AD 120A 158A fcall _WRCommand
1132 ;lcd.c: 101: WRCommand(0x01);
1133 0FF2 3001 movlw 1
1134 0FF3 25AD 120A 158A fcall _WRCommand
1135 ;lcd.c: 102: DelayNms(20);
1136 0FF6 3014 movlw 20
1137 0FF7 00A1 movwf ?_DelayNms
1138 0FF8 01A2 clrf ?_DelayNms+1
1139 0FF9 27B9 fcall _DelayNms
1140 ;lcd.c: 103: WRCommand(0x06);
1141 0FFA 3006 movlw 6
1142 0FFB 25AD 120A 158A fcall _WRCommand
1143 ;lcd.c: 104: WRCommand(0x0F);
1144 0FFE 300F movlw 15
1145 0FFF 2DAD ljmp _WRCommand
1146
1147 psect text12
1148 ;lcd.c: 163: void ReturnHome()
1149 ;lcd.c: 164: {
1150 0140 _ReturnHome
1151 ;lcd.c: 165: WRCommand(0x02);
1152 0140 3002 movlw 2
1153 0141 120A 158A 2DAD ljmp _WRCommand
1154
1155 psect text13
1156 ;lcd.c: 168: void CleanScreen()
1157 ;lcd.c: 169: {
1158 0144 _CleanScreen
1159 ;lcd.c: 170: WRCommand(0x01);
1160 0144 3001 movlw 1
1161 0145 120A 158A 2DAD ljmp _WRCommand
1162
1163 psect text14
1164 ;lcd.c: 173: void HideCursor()
1165 ;lcd.c: 174: {
1166 0138 _HideCursor
1167 ;lcd.c: 175: WRCommand(0x0c);
1168 0138 300C movlw 12
1169 0139 120A 158A 2DAD ljmp _WRCommand
1170
1171 psect text15
1172 ;lcd.c: 178: void CursorOn()
1173 ;lcd.c: 179: {
1174 013C _CursorOn
1175 ;lcd.c: 180: WRCommand(0x0f);
1176 013C 300F movlw 15
1177 013D 120A 158A 2DAD ljmp _WRCommand
1178
1179 psect text16
1180 ;lcd.c: 183: void Init_IO()
1181 ;lcd.c: 184: {
1182 0148 _Init_IO
1183 ;lcd.c: 185: TRISD=0X00;
1184 0148 1683 bsf 3,5
1185 0149 1303 bcf 3,6 ;carry unused
1186 014A 0188 clrf 8 ;volatile
1187 ;lcd.c: 186: TRISC=0X00;
1188 014B 0187 clrf 7 ;volatile
1189 ;lcd.c: 187: }
1190 014C 1283 bcf 3,5
1191 014D 0008 return
1192
1193 psect const2
1194 00B2 0782 addwf 2
1195 00B3 _delay
1196 00B3 3464 retlw 100
1197 00B4 3400 retlw 0
1198
1199 psect temp
1200 0070 btemp
1201 0070 ds 5
HI-TECH Software PICC Macro Assembler V8.05PL1
Symbol Table Mon Apr 2 10:24:31 2007
_ScreenScroll 0D8D ?a_Delay1ms 0025
?a_DelayNms 0023 ?a_ReadBF 002A
l2 0FB0 l6 0FBF
l9 0FC0 pc 0002
l13 0DA2 l30 0EBA
l31 0ECC l40 0188
l32 0EDE l24 0DE9
l33 0EF0 l50 0D8F
l34 0F02 l35 0F14
l60 0F33 l52 0D94
l28 0E96 l45 01EB
l37 0177 l29 0EA8
l46 01F4 l64 0FA1
u19 005C u29 006B
u45 0DCF ?a_WRCommand 0029
_CursorScroll 01D7 _RDData 0DC2
u225 0DF2 u245 01DD
?_strlen 0029 ?a_SetCGRAM 0020
_WRData 0DB7 _ReadBF 0D9E
_Toggle 0FCA _WRCommand 0DAD
?_DisplayChar 0020 _Test 0F1A
btemp 0070 awdiv 0783
awmod 0783 _string 00A7
_strlen 018D _Init_IO 0148
?a_DisplayNum 0020 _ReturnHome 0140
_DisplayChar 0DCA ?a_ScreenScroll 0020
_HideCursor 0138 _Delay1ms 0FAC
_DelayNms 0FB9 code_ptr 0044
_delay 00B3 string_table 002A
?_DisplayNum 0020 ?a_CursorScroll 0020
?_CursorScroll 0020 status 0003
_Init_LCD 0FCE _SetCGRAM 016F
_DisplayNum 0F36 ?a_DisplayChar 0024
_CursorOn 013C ?_DelayNms 0021
used_code_ptr 0001 _CleanScreen 0144
?_SetCGRAM 0020 ?a_RDData 0020
used_btemp0 0001 used_btemp1 0001
used_btemp2 0001 used_btemp3 0001
used_btemp4 0001 ?a_WRData 0029
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -