⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.lst

📁 基于跳转表的LCD目录跳转C程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
   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 + -