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

📄 main.lst

📁 是关于PIC单片机(型号是PIC16F917)实现液晶显示的一个DEMO
💻 LST
📖 第 1 页 / 共 5 页
字号:
      +       120A  118A         
   975  0430  0874               	movf	btemp+4,w
   976  0431  00B0               	movwf	?a_displayTemp
   977                           ;main.c: 605: displayNumber(3, temp);
   978  0432  00B1               	movwf	?_displayNumber
   979  0433  3003               	movlw	3
   980  0434  21F8               	fcall	_displayNumber
   981                           ;main.c: 606: number = number - temp * 100;
   982  0435  3064               	movlw	100
   983  0436  00F2               	movwf	btemp+2
   984  0437  01F3               	clrf	btemp+3
   985  0438  0830               	movf	?a_displayTemp,w
   986  0439  00F0               	movwf	btemp
   987  043A  01F1               	clrf	btemp+1
   988  043B  120A  118A  21E3   	fcall	lwmul
   989  043E  0874               	movf	btemp+4,w
   990  043F  02AE               	subwf	?_displayTemp
   991  0440  1C03               	btfss	3,0
   992  0441  03AF               	decf	?_displayTemp+1
   993  0442  0875               	movf	btemp+5,w
   994  0443  02AF               	subwf	?_displayTemp+1
   995                           ;main.c: 607: temp = number / 10;
   996  0444  300A               	movlw	10
   997  0445  00F2               	movwf	btemp+2
   998  0446  01F3               	clrf	btemp+3
   999  0447  082F               	movf	?_displayTemp+1,w
  1000  0448  00F1               	movwf	btemp+1
  1001  0449  082E               	movf	?_displayTemp,w
  1002  044A  00F0               	movwf	btemp
  1003  044B  120A  118A  27C6   	fcall	lwdiv
      +       120A  118A         
  1004  0450  0874               	movf	btemp+4,w
  1005  0451  00B0               	movwf	?a_displayTemp
  1006                           ;main.c: 609: displayNumber(4, temp);
  1007  0452  00B1               	movwf	?_displayNumber
  1008  0453  3004               	movlw	4
  1009  0454  21F8               	fcall	_displayNumber
  1010                           ;main.c: 610: number = number - temp * 10;
  1011  0455  300A               	movlw	10
  1012  0456  00F2               	movwf	btemp+2
  1013  0457  01F3               	clrf	btemp+3
  1014  0458  0830               	movf	?a_displayTemp,w
  1015  0459  00F0               	movwf	btemp
  1016  045A  01F1               	clrf	btemp+1
  1017  045B  120A  118A  21E3   	fcall	lwmul
      +       120A  118A         
  1018  0460  0874               	movf	btemp+4,w
  1019  0461  02AE               	subwf	?_displayTemp
  1020  0462  1C03               	btfss	3,0
  1021  0463  03AF               	decf	?_displayTemp+1
  1022  0464  0875               	movf	btemp+5,w
  1023  0465  02AF               	subwf	?_displayTemp+1
  1024                           ;main.c: 611: displayNumber(5, number);
  1025  0466  082E               	movf	?_displayTemp,w
  1026  0467  00B1               	movwf	?_displayNumber
  1027  0468  3005               	movlw	5
  1028  0469  21F8               	fcall	_displayNumber
  1029                           ;main.c: 613: SEG4COM2 = 1;
  1030  046A  1703               	bsf	3,6
  1031  046B  1616               	bsf	22,4
  1032                           ;main.c: 614: SEG1COM2 = 1;
  1033  046C  1496               	bsf	22,1
  1034                           ;main.c: 616: }
  1035  046D  1303               	bcf	3,6	;carry unused
  1036  046E  0008               	return	;W free
  1037  046F                     _getTemperature
  1038                           ;main.c: 586: void getTemperature(void){
  1039  046F  0183               	clrf	3	;select bank 0
  1040  0470  151F               	bsf	31,2
  1041                           ;main.c: 590: delay();
  1042  0471  120A  118A  26CD   	fcall	_delay
  1043                           ;main.c: 591: delay();
  1044  0474  120A  118A  26CD   	fcall	_delay
      +       120A  118A         
  1045                           ;main.c: 593: GODONE = 1;
  1046  0479  149F               	bsf	31,1
  1047                           ;main.c: 594: while (GODONE);
  1048  047A                     l141
  1049  047A  189F               	btfsc	31,1
  1050  047B  2C7A               	goto	l141
  1051                           ;main.c: 595: boardTemp = (ADRESH << 8) + ADRES
      +                          L;
  1052  047C  081E               	movf	30,w	;volatile
  1053  047D  00AB               	movwf	_boardTemp+1
  1054  047E  1683               	bsf	3,5
  1055  047F  081E               	movf	30,w	;volatile
  1056  0480  1283               	bcf	3,5
  1057  0481  00AA               	movwf	_boardTemp
  1058                           ;main.c: 596: boardTemp = 36 * (boardTemp - 303
      +                          ) / 10;
  1059  0482  3024               	movlw	36
  1060  0483  00F2               	movwf	btemp+2
  1061  0484  01F3               	clrf	btemp+3
  1062  0485  082B               	movf	_boardTemp+1,w
  1063  0486  00F1               	movwf	btemp+1
  1064  0487  082A               	movf	_boardTemp,w
  1065  0488  00F0               	movwf	btemp
  1066  0489  30D1               	movlw	209
  1067  048A  07F0               	addwf	btemp
  1068  048B  1803               	btfsc	3,0
  1069  048C  0AF1               	incf	btemp+1
  1070  048D  30FE               	movlw	254
  1071  048E  07F1               	addwf	btemp+1
  1072  048F  120A  118A  21E3   	fcall	lwmul
  1073  0492  0874               	movf	btemp+4,w
  1074  0493  00F0               	movwf	btemp
  1075  0494  0875               	movf	btemp+5,w
  1076  0495  00F1               	movwf	btemp+1
  1077  0496  300A               	movlw	10
  1078  0497  00F2               	movwf	btemp+2
  1079  0498  3000               	movlw	0
  1080  0499  01F3               	clrf	btemp+3
  1081  049A  120A  118A  27C6   	fcall	lwdiv
      +       120A  118A         
  1082  049F  0874               	movf	btemp+4,w
  1083  04A0  00AA               	movwf	_boardTemp
  1084  04A1  0875               	movf	btemp+5,w
  1085  04A2  00AB               	movwf	_boardTemp+1
  1086                           ;main.c: 597: displayTemp(boardTemp);
  1087  04A3  082A               	movf	_boardTemp,w
  1088  04A4  00AE               	movwf	?_displayTemp
  1089  04A5  082B               	movf	_boardTemp+1,w
  1090  04A6  00AF               	movwf	?_displayTemp+1
  1091  04A7  2C22               	ljmp	_displayTemp
  1092  04A8                     _numberBreak
  1093                           ;	_number assigned to ?a_numberBreak+0
  1094  0000                     _numberBreak$number	set	?a_numberBreak
  1095                           ;_number stored from w
  1096  04A8  0183               	clrf	3	;select bank 0
  1097  04A9  00AE               	movwf	?a_numberBreak
  1098                           ;main.c: 428: void numberBreak(unsigned char nu
      +                          mber){
  1099  04AA  01A9               	clrf	_tens
  1100                           ;main.c: 430: ones = 0;
  1101  04AB  01A7               	clrf	_ones
  1102                           ;main.c: 431: while(number >= 10){
  1103  04AC  2CB0               	goto	l101
  1104  04AD                     l102
  1105                           ;main.c: 432: number = number - 10;
  1106  04AD  30F6               	movlw	-10
  1107  04AE  07AE               	addwf	?a_numberBreak
  1108                           ;main.c: 433: tens ++;
  1109  04AF  0AA9               	incf	_tens
  1110  04B0                     l101
  1111  04B0  300A               	movlw	10
  1112  04B1  022E               	subwf	?a_numberBreak,w
  1113  04B2  1803               	btfsc	3,0
  1114  04B3  2CAD               	goto	l102
  1115                           ;main.c: 434: }
  1116  04B4  082E               	movf	?a_numberBreak,w
  1117  04B5  00A7               	movwf	_ones
  1118                           ;main.c: 438: }
  1119  04B6  0008               	return	;W free
  1120  04B7                     _displayTime
  1121                           ;main.c: 528: void displayTime(){
  1122  04B7  0183               	clrf	3	;select bank 0
  1123  04B8  0824               	movf	_hours,w
  1124  04B9  24A8               	fcall	_numberBreak
  1125                           ;main.c: 531: if (hours > 9) {
  1126  04BA  300A               	movlw	10
  1127  04BB  0224               	subwf	_hours,w
  1128  04BC  1C03               	btfss	3,0
  1129  04BD  2CC0               	goto	l129
  1130                           ;main.c: 532: displayNumber(1,tens);
  1131  04BE  0829               	movf	_tens,w
  1132  04BF  2CC1               	goto	L61
  1133                           ;main.c: 533: displayNumber(2,ones);
  1134                           ;main.c: 534: }
  1135  04C0                     l129
  1136                           ;main.c: 535: else{
  1137  04C0  300A               	movlw	10
  1138  04C1                     L61
  1139  04C1  00B1               	movwf	?_displayNumber
  1140  04C2  3001               	movlw	1
  1141  04C3  21F8               	fcall	_displayNumber
  1142                           ;main.c: 537: displayNumber(2,ones);
  1143  04C4  0827               	movf	_ones,w
  1144  04C5  00B1               	movwf	?_displayNumber
  1145  04C6  3002               	movlw	2
  1146  04C7  21F8               	fcall	_displayNumber
  1147                           ;main.c: 538: }
  1148  04C8  0825               	movf	_minutes,w
  1149  04C9  24A8               	fcall	_numberBreak
  1150                           ;main.c: 540: displayNumber(3,tens);
  1151  04CA  0829               	movf	_tens,w
  1152  04CB  00B1               	movwf	?_displayNumber
  1153  04CC  3003               	movlw	3
  1154  04CD  21F8               	fcall	_displayNumber
  1155                           ;main.c: 541: displayNumber(4,ones);
  1156  04CE  0827               	movf	_ones,w
  1157  04CF  00B1               	movwf	?_displayNumber
  1158  04D0  3004               	movlw	4
  1159  04D1  29F8               	ljmp	_displayNumber
  1160                           
  1161                           	psect	text5
  1162  04D2                     _displayBars
  1163                           ;	_value assigned to ?a_displayBars+0
  1164  0000                     _displayBars$value	set	?a_displayBars
  1165                           ;_value stored from w
  1166  04D2  0183               	clrf	3	;select bank 0
  1167  04D3  00AE               	movwf	?a_displayBars
  1168                           ;main.c: 441: void displayBars(unsigned char va
      +                          lue){
  1169  04D4  2EA3               	goto	l106
  1170  04D5                     l107
  1171                           ;main.c: 443: case 0:
  1172                           ;main.c: 444: SEG17COM0=SEG17COM3=SEG17COM1=SEG
      +                          17COM2=SEG16COM2=SEG16COM1=SEG16COM3=SEG16COM0=
      +                          SEG15COM0=SEG15COM3=SEG15COM1=SEG15COM2=SEG11CO
      +                          M2=SEG11COM1=SEG11COM3=SEG11COM0=SEG10COM0=SEG1
      +                          0COM3=SEG10COM1=SEG10COM2=0;
  1173  04D5  1703               	bsf	3,6
  1174  04D6  1117               	bcf	23,2
  1175  04D7  1114               	bcf	20,2
  1176  04D8  111A               	bcf	26,2
  1177  04D9  1111               	bcf	17,2
  1178  04DA  1191               	bcf	17,3
  1179  04DB  119A               	bcf	26,3
  1180  04DC  1194               	bcf	20,3
  1181  04DD  1197               	bcf	23,3
  1182  04DE  1397               	bcf	23,7
  1183  04DF  1394               	bcf	20,7
  1184  04E0  139A               	bcf	26,7
  1185  04E1  1391               	bcf	17,7
  1186  04E2  1012               	bcf	18,0
  1187  04E3  101B               	bcf	27,0
  1188  04E4  1015               	bcf	21,0
  1189  04E5  1018               	bcf	24,0
  1190  04E6  1098               	bcf	24,1
  1191  04E7  1095               	bcf	21,1
  1192  04E8  109B               	bcf	27,1
  1193  04E9  1092               	bcf	18,1
  1194                           ;main.c: 445: break;
  1195  04EA  2ECB               	goto	l104
  1196  04EB                     l108
  1197                           ;main.c: 446: case 1:
  1198                           ;main.c: 447: SEG17COM0=1;
  1199  04EB  1703               	bsf	3,6
  1200  04EC  1492               	bsf	18,1
  1201                           ;main.c: 448: SEG17COM3=SEG17COM1=SEG17COM2=SEG
      +                          16COM2=SEG16COM1=SEG16COM3=SEG16COM0=SEG15COM0=
      +                          SEG15COM3=SEG15COM1=SEG15COM2=SEG11COM2=SEG11CO
      +                          M1=SEG11COM3=SEG11COM0=SEG10COM0=SEG10COM3=SEG1
      +                          0COM1=SEG10COM2=0;
  1202  04ED  1117               	bcf	23,2
  1203  04EE  1114               	bcf	20,2
  1204  04EF  111A               	bcf	26,2
  1205  04F0  1111               	bcf	17,2
  1206  04F1  1191               	bcf	17,3
  1207  04F2  119A               	bcf	26,3
  1208  04F3  1194               	bcf	20,3
  1209  04F4  1197               	bcf	23,3
  1210  04F5  1397               	bcf	23,7
  1211  04F6  1394               	bcf	20,7
  1212  04F7  139A               	bcf	26,7
  1213  04F8  1391               	bcf	17,7
  1214  04F9  1012               	bcf	18,0
  1215  04FA  101

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -