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

📄 main.lst

📁 我用PROTEUS做了一个基于PIC16F877A的万年历
💻 LST
📖 第 1 页 / 共 5 页
字号:
  1005  066D  2412               	fcall	_time_seting
  1006  066E  251A  120A  118A   	fcall	_time_display
  1007  0671                     l95
  1008                           ;main.c: 269: PORTC=0x01;
  1009  0671  3001               	movlw	1
  1010  0672  1303               	bcf	3,6	;carry unused
  1011  0673  0087               	movwf	7	;volatile
  1012                           ;main.c: 270: }
  1013  0674  0008               	return
  1014                           ;main.c: 281: void right_key()
  1015                           ;main.c: 282: {
  1016  0675                     _right_key
  1017                           ;main.c: 283: if(1==set)
  1018  0675  1283               	bcf	3,5
  1019  0676  1703               	bsf	3,6
  1020  0677  0B18               	decfsz	_set^(0+256),w
  1021  0678  2E80               	goto	l100
  1022                           ;main.c: 284: {
  1023  0679  0A99               	incf	_shift^(0+256)
  1024                           ;main.c: 286: if(shift>6)shift=1;
  1025  067A  3007               	movlw	7
  1026  067B  0219               	subwf	_shift^(0+256),w
  1027  067C  1C03               	btfss	3,0
  1028  067D  2E80               	goto	l100
  1029  067E  0199               	clrf	_shift^(0+256)
  1030  067F  0A99               	incf	_shift^(0+256)
  1031                           ;main.c: 287: }
  1032  0680                     l100
  1033                           ;main.c: 288: PORTC=0x08;
  1034  0680  3008               	movlw	8
  1035  0681  1303               	bcf	3,6	;carry unused
  1036  0682  0087               	movwf	7	;volatile
  1037                           ;main.c: 289: }
  1038  0683  0008               	return
  1039                           ;main.c: 291: void add_key()
  1040                           ;main.c: 292: {
  1041  0684                     _add_key
  1042                           ;main.c: 293: if(1==set)add=1;
  1043  0684  1283               	bcf	3,5
  1044  0685  1703               	bsf	3,6
  1045  0686  0B18               	decfsz	_set^(0+256),w
  1046  0687  2E8A               	goto	l103
  1047  0688  0191               	clrf	_add^(0+256)
  1048  0689  0A91               	incf	_add^(0+256)
  1049  068A                     l103
  1050                           ;main.c: 294: PORTC=0x02;
  1051  068A  3002               	movlw	2
  1052  068B  1303               	bcf	3,6	;carry unused
  1053  068C  0087               	movwf	7	;volatile
  1054                           ;main.c: 295: }
  1055  068D  0008               	return
  1056                           ;main.c: 297: void reduce_key()
  1057                           ;main.c: 298: {
  1058  068E                     _reduce_key
  1059                           ;main.c: 299: if(1==set)reduce=1;
  1060  068E  1283               	bcf	3,5
  1061  068F  1703               	bsf	3,6
  1062  0690  0B18               	decfsz	_set^(0+256),w
  1063  0691  2E94               	goto	l105
  1064  0692  0196               	clrf	_reduce^(0+256)
  1065  0693  0A96               	incf	_reduce^(0+256)
  1066  0694                     l105
  1067                           ;main.c: 300: PORTC=0x04;
  1068  0694  3004               	movlw	4
  1069  0695  1303               	bcf	3,6	;carry unused
  1070  0696  0087               	movwf	7	;volatile
  1071                           ;main.c: 301: }
  1072  0697  0008               	return
  1073                           ;main.c: 228: unsigned char key_result()
  1074                           ;main.c: 229: {
  1075  0698                     _key_result
  1076                           ;	_key_value assigned to ?a_key_result+0
  1077  0000                     _key_result$key_value	set	?a_key_result
  1078                           ;main.c: 230: unsigned char key_value;
  1079  0698  0183               	clrf	3	;select bank 0
  1080  0699  151F               	bsf	31,2
  1081  069A                     l62
  1082                           ;main.c: 232: do{;}while(1==ADGO);
  1083  069A  191F               	btfsc	31,2
  1084  069B  2E9A               	goto	l62
  1085                           ;main.c: 233: ADGO=0;
  1086  069C  111F               	bcf	31,2
  1087                           ;main.c: 234: ad_key_result=ADRESH;
  1088  069D  081E               	movf	30,w	;volatile
  1089  069E  1703               	bsf	3,6
  1090  069F  0090               	movwf	_ad_key_result^(0+256)
  1091                           ;main.c: 235: if(ad_key_result>0xa5) key_value=
      +                          1;
  1092  06A0  30A6               	movlw	-90
  1093  06A1  0210               	subwf	_ad_key_result^(0+256),w
  1094  06A2  1C03               	btfss	3,0
  1095  06A3  2EA8               	goto	l63
  1096  06A4  1303               	bcf	3,6	;carry unused
  1097  06A5  01A3               	clrf	?a_key_result
  1098  06A6  0AA3               	incf	?a_key_result
  1099                           ;main.c: 236: else if(ad_key_result>0x7b) key_v
      +                          alue=2;
  1100  06A7  2EC4               	goto	l64
  1101  06A8                     l63
  1102  06A8  307C               	movlw	124
  1103  06A9  0210               	subwf	_ad_key_result^(0+256),w
  1104  06AA  1C03               	btfss	3,0
  1105  06AB  2EAE               	goto	l65
  1106  06AC  3002               	movlw	2
  1107  06AD  2EBF               	goto	L14
  1108                           ;main.c: 237: else if(ad_key_result>0x61) key_v
      +                          alue=3;
  1109  06AE                     l65
  1110  06AE  3062               	movlw	98
  1111  06AF  0210               	subwf	_ad_key_result^(0+256),w
  1112  06B0  1C03               	btfss	3,0
  1113  06B1  2EB4               	goto	l67
  1114  06B2  3003               	movlw	3
  1115  06B3  2EBF               	goto	L14
  1116                           ;main.c: 238: else if(ad_key_result>0x50) key_v
      +                          alue=4;
  1117  06B4                     l67
  1118  06B4  3051               	movlw	81
  1119  06B5  0210               	subwf	_ad_key_result^(0+256),w
  1120  06B6  1C03               	btfss	3,0
  1121  06B7  2EBA               	goto	l69
  1122  06B8  3004               	movlw	4
  1123  06B9  2EBF               	goto	L14
  1124                           ;main.c: 239: else if(ad_key_result>0x44) key_v
      +                          alue=5;
  1125  06BA                     l69
  1126  06BA  3045               	movlw	69
  1127  06BB  0210               	subwf	_ad_key_result^(0+256),w
  1128  06BC  1C03               	btfss	3,0
  1129  06BD  2EC2               	goto	l71
  1130  06BE  3005               	movlw	5
  1131  06BF                     L14
  1132  06BF  1303               	bcf	3,6	;carry unused
  1133  06C0  00A3               	movwf	?a_key_result
  1134                           ;main.c: 240: else key_value=0;
  1135  06C1  2EC4               	goto	l64
  1136  06C2                     l71
  1137  06C2  1303               	bcf	3,6	;carry unused
  1138  06C3  01A3               	clrf	?a_key_result
  1139  06C4                     l64
  1140                           ;main.c: 241: return key_value;
  1141  06C4  0823               	movf	?a_key_result,w
  1142                           ;main.c: 243: }
  1143  06C5  0008               	return
  1144                           ;main.c: 245: unsigned char get_key()
  1145                           ;main.c: 246: {
  1146  06C6                     _get_key
  1147                           ;	_key_temp assigned to ?a_get_key+0
  1148  0000                     _get_key$key_temp	set	?a_get_key
  1149                           ;	_k assigned to ?a_get_key+1
  1150  0000                     _get_key$k	set	?a_get_key+1
  1151  06C6                     l76
  1152                           ;main.c: 247: unsigned char key_temp;
  1153                           ;main.c: 250: key_temp=key_result();
  1154  06C6  2698               	fcall	_key_result
  1155  06C7  00A0               	movwf	?a_get_key
  1156                           ;main.c: 251: if(0!=key_temp)for(k=400;--k;);
  1157  06C8  08A0               	movf	?a_get_key
  1158  06C9  1903               	btfsc	3,2
  1159  06CA  2ED7               	goto	l77
  1160  06CB  3090               	movlw	144
  1161  06CC  00A1               	movwf	?a_get_key+1
  1162  06CD  3001               	movlw	1
  1163  06CE  00A2               	movwf	?a_get_key+2
  1164  06CF                     l81
  1165  06CF  30FF               	movlw	-1
  1166  06D0  07A1               	addwf	?a_get_key+1
  1167  06D1  1C03               	btfss	3,0
  1168  06D2  03A2               	decf	?a_get_key+2
  1169  06D3  0822               	movf	?a_get_key+2,w
  1170  06D4  0421               	iorwf	?a_get_key+1,w
  1171  06D5  1D03               	btfss	3,2
  1172  06D6  2ECF               	goto	l81
  1173  06D7                     l77
  1174                           ;main.c: 252: }while(key_temp!=key_result());
  1175  06D7  2698               	fcall	_key_result
  1176  06D8  0620               	xorwf	?a_get_key,w
  1177  06D9  1D03               	btfss	3,2
  1178  06DA  2EC6               	goto	l76
  1179                           ;main.c: 253: if(0!=key_temp)
  1180  06DB  08A0               	movf	?a_get_key
  1181  06DC  1903               	btfsc	3,2
  1182  06DD  2EF2               	goto	l82
  1183                           ;main.c: 254: {
  1184  06DE                     l88
  1185                           ;main.c: 256: do{;}while(0!=key_result());
  1186  06DE  2698               	fcall	_key_result
  1187  06DF  3800               	iorlw	0
  1188  06E0  1D03               	btfss	3,2
  1189  06E1  2EDE               	goto	l88
  1190                           ;main.c: 257: for(k=400;--k;);
  1191  06E2  3090               	movlw	144
  1192  06E3  00A1               	movwf	?a_get_key+1
  1193  06E4  3001               	movlw	1
  1194  06E5  00A2               	movwf	?a_get_key+2
  1195  06E6                     l92
  1196  06E6  30FF               	movlw	-1
  1197  06E7  07A1               	addwf	?a_get_key+1
  1198  06E8  1C03               	btfss	3,0
  1199  06E9  03A2               	decf	?a_get_key+2
  1200  06EA  0822               	movf	?a_get_key+2,w
  1201  06EB  0421               	iorwf	?a_get_key+1,w
  1202  06EC  1D03               	btfss	3,2
  1203  06ED  2EE6               	goto	l92
  1204                           ;main.c: 258: }while(0!=key_result());
  1205  06EE  2698               	fcall	_key_result
  1206  06EF  3800               	iorlw	0
  1207  06F0  1D03               	btfss	3,2
  1208  06F1  2EDE               	goto	l88
  1209  06F2                     l82
  1210                           ;main.c: 259: }
  1211  06F2  0820               	movf	?a_get_key,w
  1212                           ;main.c: 261: }
  1213  06F3  0008               	return
  1214                           ;main.c: 272: void left_key()
  1215                           ;main.c: 273: {
  1216  06F4                     _left_key
  1217                           ;main.c: 274: if(1==set)
  1218  06F4  1283               	bcf	3,5
  1219  06F5  1703               	bsf	3,6
  1220  06F6  0B18               	decfsz	_set^(0+256),w
  1221  06F7  2EFF               	goto	l97
  1222                           ;main.c: 275: {shift--;
  1223  06F8  0399               	decf	_shift^(0+256)
  1224                           ;main.c: 276: if(shift<1) shift=6;
  1225  06F9  3001               	movlw	1
  1226  06FA  0219               	subwf	_shift^(0+256),w
  1227  06FB  1803               	btfsc	3,0
  1228  06FC  2EFF               	goto	l97
  1229  06FD  3006               	movlw	6
  1230  06FE  0099               	movwf	_shift^(0+256)
  1231                           ;main.c: 277: }
  1232  06FF                     l97
  1233                           ;main.c: 278: PORTC=0x10;
  1234  06FF  3010               	movlw	16
  1235  0700  1303               	bcf	3,6	;carry unused
  1236  0701  0087               	movwf	7	;volatile
  1237                           ;main.c: 279: }
  1238  0702  0008               	return
  1239                           ;main.c: 304: void main()
  1240                           ;main.c: 305: {
  1241  0703                     _main
  1242                           ;main.c: 306: Init_LCD();
  1243  0703  120A  118A  23B0   	fcall	_Init_LCD
  1244                           ;main.c: 307: tmr1_init();
  1245  0706  120A  118A  2301   	fcall	_tmr1_init
  1246                           ;main.c: 308: ad_init();
  1247  0709  120A  118A  22F3   	fcall	_ad_init
  1248                           ;main.c: 309: LCD_Clear();
  1249  070C  120A  118A  23C9   	fcall	_LCD_Clear
  1250                           ;main.c: 310: LCD_DisplayString(1,1,test1);
  1251  070F  01AD               	clrf	?_LCD_DisplayString
  1252  0710  0AAD               	incf	?_LCD_DisplayString
  1253  0711  3039               	movlw	_test1
  1254  0712  00AE               	movwf	?_LCD_DisplayString+1
  1255  0713  3001               	movlw	1
  1256  0714  120A  118A  2311   	fcall	_LCD_DisplayString
  1257                           ;main.c: 311: LCD_DisplayString(2,1,test2);
  1258  0717  01AD               	clrf	?_LCD_DisplayString
  1259  0718  0AAD               	incf	?_LCD_DisplayS

⌨️ 快捷键说明

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