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

📄 16f884.lst

📁 PWM输出产生正玄波后经AD采集电压控制输出幅度,并显示电压等状态
💻 LST
📖 第 1 页 / 共 5 页
字号:
   462  0159  008A               	movwf	10
   463  015A                     int_restore
   464  015A  0859               	movf	saved_status,w
   465  015B  0083               	movwf	3
   466  015C  0EFC               	swapf	saved_w
   467  015D  0E7C               	swapf	saved_w,w
   468  015E  0009               	retfie
   469                           
   470                           	psect	intentry
   471  0004                     int_entry
   472  0004  00FC               	movwf	saved_w
   473  0005  0803               	movf	3,w
   474  0006  0183               	clrf	3
   475  0007  00D9               	movwf	saved_status
   476  0008  0804               	movf	4,w
   477  0009  00DA               	movwf	saved_fsr
   478  000A  080A               	movf	10,w
   479  000B  00DB               	movwf	saved_pclath
   480  000C  018A               	clrf	10
   481                           
   482                           	psect	intsave
   483  0059                     saved_status
   484  0059                     	ds	1
   485  005A                     saved_fsr
   486  005A                     	ds	1
   487  005B                     saved_pclath
   488  005B                     	ds	1
   489                           
   490                           	psect	text2
   491  0343                     _display
   492                           ;	_temp_h assigned to ?a_display+0
   493  0000                     _display$temp_h	set	?a_display
   494                           ;	_temp_l assigned to ?a_display+1
   495  0000                     _display$temp_l	set	?a_display+1
   496                           ;16f884.c: 275: void display(void )
   497  0343  1683               	bsf	3,5
   498  0344  1303               	bcf	3,6	;carry unused
   499  0345  0821               	movf	_dis_i^(0+128),w
   500  0346  3ECC               	addlw	_display_buffer
   501  0347  0084               	movwf	4
   502  0348  1383               	bcf	3,7
   503  0349  0800               	movf	0,w
   504  034A  39F0               	andlw	-16
   505  034B  1283               	bcf	3,5
   506  034C  00B0               	movwf	?a_display
   507                           ;16f884.c: 279: temp_l=display_buffer[dis_i]&0x
      +                          0f;
   508  034D  1683               	bsf	3,5
   509  034E  0821               	movf	_dis_i^(0+128),w
   510  034F  3ECC               	addlw	_display_buffer
   511  0350  0084               	movwf	4
   512  0351  0800               	movf	0,w
   513  0352  390F               	andlw	15
   514  0353  1283               	bcf	3,5
   515  0354  00B1               	movwf	?a_display+1
   516                           ;16f884.c: 280: if(dis_i==0){PORTA=0;PORTC=temp
      +                          _h;PORTD=temp_l|128;}
   517  0355  1683               	bsf	3,5
   518  0356  08A1               	movf	_dis_i^(0+128)
   519  0357  1D03               	btfss	3,2
   520  0358  2B60               	goto	l135
   521  0359  1283               	bcf	3,5
   522  035A  0185               	clrf	5	;volatile
   523  035B  0830               	movf	?a_display,w
   524  035C  0087               	movwf	7	;volatile
   525  035D  0831               	movf	?a_display+1,w
   526  035E  3880               	iorlw	-128
   527  035F  2BB3               	goto	L18
   528  0360                     l135
   529                           ;16f884.c: 281: else if(dis_i==1){PORTA=0;PORTC
      +                          =temp_h;PORTD=temp_l|64;}
   530  0360  0B21               	decfsz	_dis_i^(0+128),w
   531  0361  2B69               	goto	l137
   532  0362  1283               	bcf	3,5
   533  0363  0185               	clrf	5	;volatile
   534  0364  0830               	movf	?a_display,w
   535  0365  0087               	movwf	7	;volatile
   536  0366  0831               	movf	?a_display+1,w
   537  0367  3840               	iorlw	64
   538  0368  2BB3               	goto	L18
   539  0369                     l137
   540                           ;16f884.c: 282: else if(dis_i==2){PORTA=0;PORTC
      +                          =temp_h;PORTD=temp_l|16;}
   541  0369  0821               	movf	_dis_i^(0+128),w
   542  036A  3A02               	xorlw	2
   543  036B  1D03               	btfss	3,2
   544  036C  2B74               	goto	l139
   545  036D  1283               	bcf	3,5
   546  036E  0185               	clrf	5	;volatile
   547  036F  0830               	movf	?a_display,w
   548  0370  0087               	movwf	7	;volatile
   549  0371  0831               	movf	?a_display+1,w
   550  0372  3810               	iorlw	16
   551  0373  2BB3               	goto	L18
   552  0374                     l139
   553                           ;16f884.c: 283: else if(dis_i==3){PORTA=0;PORTC
      +                          =temp_h|8;PORTD=temp_l;}
   554  0374  0821               	movf	_dis_i^(0+128),w
   555  0375  3A03               	xorlw	3
   556  0376  1D03               	btfss	3,2
   557  0377  2B7D               	goto	l141
   558  0378  1283               	bcf	3,5
   559  0379  0185               	clrf	5	;volatile
   560  037A  0830               	movf	?a_display,w
   561  037B  3808               	iorlw	8
   562  037C  2BB1               	goto	L19
   563  037D                     l141
   564                           ;16f884.c: 284: else if(dis_i==4){PORTA=0;PORTC
      +                          =temp_h|2;PORTD=temp_l;}
   565  037D  0821               	movf	_dis_i^(0+128),w
   566  037E  3A04               	xorlw	4
   567  037F  1D03               	btfss	3,2
   568  0380  2B86               	goto	l143
   569  0381  1283               	bcf	3,5
   570  0382  0185               	clrf	5	;volatile
   571  0383  0830               	movf	?a_display,w
   572  0384  3802               	iorlw	2
   573  0385  2BB1               	goto	L19
   574  0386                     l143
   575                           ;16f884.c: 285: else if(dis_i==5){PORTA=0;PORTC
      +                          =temp_h|1;PORTD=temp_l;}
   576  0386  0821               	movf	_dis_i^(0+128),w
   577  0387  3A05               	xorlw	5
   578  0388  1D03               	btfss	3,2
   579  0389  2B8F               	goto	l145
   580  038A  1283               	bcf	3,5
   581  038B  0185               	clrf	5	;volatile
   582  038C  0830               	movf	?a_display,w
   583  038D  3801               	iorlw	1
   584  038E  2BB1               	goto	L19
   585  038F                     l145
   586                           ;16f884.c: 286: else if(dis_i==6){PORTA=32;PORT
      +                          C=temp_h;PORTD=temp_l;}
   587  038F  0821               	movf	_dis_i^(0+128),w
   588  0390  3A06               	xorlw	6
   589  0391  1D03               	btfss	3,2
   590  0392  2B95               	goto	l147
   591  0393  3020               	movlw	32
   592  0394  2BAE               	goto	L20
   593  0395                     l147
   594                           ;16f884.c: 287: else if(dis_i==7){PORTA=16;PORT
      +                          C=temp_h;PORTD=temp_l;}
   595  0395  0821               	movf	_dis_i^(0+128),w
   596  0396  3A07               	xorlw	7
   597  0397  1D03               	btfss	3,2
   598  0398  2B9B               	goto	l149
   599  0399  3010               	movlw	16
   600  039A  2BAE               	goto	L20
   601  039B                     l149
   602                           ;16f884.c: 288: else if(dis_i==8){PORTA=8;PORTC
      +                          =temp_h;PORTD=temp_l;}
   603  039B  0821               	movf	_dis_i^(0+128),w
   604  039C  3A08               	xorlw	8
   605  039D  1D03               	btfss	3,2
   606  039E  2BA1               	goto	l151
   607  039F  3008               	movlw	8
   608  03A0  2BAE               	goto	L20
   609  03A1                     l151
   610                           ;16f884.c: 289: else if(dis_i==9){PORTA=4;PORTC
      +                          =temp_h;PORTD=temp_l;}
   611  03A1  0821               	movf	_dis_i^(0+128),w
   612  03A2  3A09               	xorlw	9
   613  03A3  1D03               	btfss	3,2
   614  03A4  2BA7               	goto	l153
   615  03A5  3004               	movlw	4
   616  03A6  2BAE               	goto	L20
   617  03A7                     l153
   618                           ;16f884.c: 290: else if(dis_i==10){PORTA=2;PORT
      +                          C=temp_h;PORTD=temp_l;}
   619  03A7  0821               	movf	_dis_i^(0+128),w
   620  03A8  3A0A               	xorlw	10
   621  03A9  1D03               	btfss	3,2
   622  03AA  2BAD               	goto	l155
   623  03AB  3002               	movlw	2
   624  03AC  2BAE               	goto	L20
   625  03AD                     l155
   626                           ;16f884.c: 291: else {PORTA=1;PORTC=temp_h;PORT
      +                          D=temp_l;}
   627  03AD  3001               	movlw	1
   628  03AE                     L20
   629  03AE  1283               	bcf	3,5
   630  03AF  0085               	movwf	5	;volatile
   631  03B0  0830               	movf	?a_display,w
   632  03B1                     L19
   633  03B1  0087               	movwf	7	;volatile
   634  03B2  0831               	movf	?a_display+1,w
   635  03B3                     L18
   636  03B3  0088               	movwf	8	;volatile
   637                           ;16f884.c: 292: dis_i++;
   638  03B4  1683               	bsf	3,5
   639  03B5  0AA1               	incf	_dis_i^(0+128)
   640                           ;16f884.c: 293: if(dis_i>11)dis_i=0;
   641  03B6  300C               	movlw	12
   642  03B7  0221               	subwf	_dis_i^(0+128),w
   643  03B8  1803               	btfsc	3,0
   644  03B9  01A1               	clrf	_dis_i^(0+128)
   645                           ;16f884.c: 295: }
   646  03BA  1283               	bcf	3,5
   647  03BB  0008               	return	;W free
   648                           
   649                           	psect	text3
   650  0AF4                     _key_identify
   651                           ;16f884.c: 297: void key_identify(void)
   652  0AF4  0183               	clrf	3	;select bank 0
   653  0AF5  0828               	movf	_key_data,w	;volatile
   654  0AF6  3A0E               	xorlw	14
   655  0AF7  1D03               	btfss	3,2
   656  0AF8  2AFB               	goto	l159
   657  0AF9  15A1               	bsf	_ext/(0+8),_ext& (0+7)
   658  0AFA  0008               	return
   659  0AFB                     l159
   660                           ;16f884.c: 301: else if(key_data==13)up=1;
   661  0AFB  0828               	movf	_key_data,w	;volatile
   662  0AFC  3A0D               	xorlw	13
   663  0AFD  1D03               	btfss	3,2
   664  0AFE  2B01               	goto	l161
   665  0AFF  1422               	bsf	_up/(0+8),_up& (0+7)
   666  0B00  0008               	return
   667  0B01                     l161
   668                           ;16f884.c: 302: else if(key_data==11)down=1;
   669  0B01  0828               	movf	_key_data,w	;volatile
   670  0B02  3A0B               	xorlw	11
   671  0B03  1D03               	btfss	3,2
   672  0B04  2B07               	goto	l163
   673  0B05  1521               	bsf	_down/(0+8),_down& (0+7)
   674  0B06  0008               	return
   675  0B07                     l163
   676                           ;16f884.c: 303: else if(key_data==7)ok=1;
   677  0B07  0828               	movf	_key_data,w	;volatile
   678  0B08  3A07               	xorlw	7
   679  0B09  1903               	btfsc	3,2
   680  0B0A  16A1               	bsf	_ok/(0+8),_ok& (0+7)
   681                           ;16f884.c: 305: }
   682  0B0B  0008               	return	;W free
   683                           
   684                           	psect	text5
   685  01BD                     _temp_dis_buffer1
   686                           ;	_bit3 assigned to ?a_temp_dis_buffer1+0
   687  0000                     _temp_dis_buffer1$bit3	set	?a_temp_dis_buffer1
   688                           ;_bit3 stored from w
   689  01BD  0183               	clrf	3	;select bank 0
   690  01BE  00B3               	movwf	?a_temp_dis_buffer1
   691                           ;16f884.c: 315: void temp_dis_buffer1(unsigned 
      +                          char bit3,unsigned char bit2,unsigned char bit1
      +                          ,unsigned char bit0)
   692  01BF  3008               	movlw	_display_data shr (0+8)

⌨️ 快捷键说明

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