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

📄 16f884.lst

📁 PWM输出产生正玄波后经AD采集电压控制输出幅度,并显示电压等状态
💻 LST
📖 第 1 页 / 共 5 页
字号:


HI-TECH Software PICC Macro Assembler V9.50PL2
                                                      Mon Dec 15 19:09:15 2008


     1                           	processor	16F884
     2                           	opt	pw 79
     3                           	psect	config,global,class=CONFIG,delta=2
     4                           	psect	strings,global,class=STRING,delta=2
     5                           	psect	const1,local,class=CONST,delta=2
     6                           	psect	rdata_2,global,class=BANK2,space=1,delta
      +                          =1
     7                           	psect	idata_2,global,class=CODE,delta=2
     8                           	psect	rdata_1,global,class=BANK1,space=1,delta
      +                          =1
     9                           	psect	idata_1,global,class=CODE,delta=2
    10                           	psect	text1,local,class=CODE,delta=2
    11                           	psect	intcode,global,class=CODE,delta=2
    12                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
    13                           	psect	intret,global,class=CODE,delta=2
    14                           	psect	intentry,global,class=CODE,delta=2
    15                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    16                           	psect	text2,local,class=CODE,delta=2
    17                           	psect	text3,local,class=CODE,delta=2
    18                           	psect	text5,local,class=CODE,delta=2
    19                           	psect	text6,local,class=CODE,delta=2
    20                           	psect	text7,local,class=CODE,delta=2
    21                           	psect	text8,local,class=CODE,delta=2
    22                           	psect	text9,local,class=CODE,delta=2
    23                           	psect	text10,local,class=CODE,delta=2
    24                           	psect	text11,local,class=CODE,delta=2
    25                           	psect	text12,local,class=CODE,delta=2
    26                           	psect	rbit_0,global,bit,class=BANK0,space=1,de
      +                          lta=1
    27                           	psect	rbss_1,global,class=BANK1,space=1,delta=
      +                          1
    28                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    29                           	psect	rbss_2,global,class=BANK2,space=1,delta=
      +                          1
    30                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    31  0000                     
    32  0000                     
    33  0000                     
    34  0000                     
    35  0000                     
    36  0000                     
    37  0000                     
    38  0000                     
    39  0000                     
    40  0000                     	;#
    41                           
    42                           	psect	config
    43  2007  20AA               	dw	8362	;#
    44                           
    45                           	psect	const1
    46  0800  0782               	addwf	2
    47  0801                     _display_data
    48  0801  343F               	retlw	63
    49  0802  3430               	retlw	48
    50  0803  345B               	retlw	91
    51  0804  344F               	retlw	79
    52  0805  3466               	retlw	102
    53  0806  346D               	retlw	109
    54  0807  347D               	retlw	125
    55  0808  3407               	retlw	7
    56  0809  347F               	retlw	127
    57  080A  346F               	retlw	111
    58  080B  3473               	retlw	115
    59  080C  3453               	retlw	83
    60  080D  3477               	retlw	119
    61  080E  346D               	retlw	109
    62  080F  3479               	retlw	121
    63  0810  3431               	retlw	49
    64  0811  3471               	retlw	113
    65  0812  3438               	retlw	56
    66  0813  3400               	retlw	0
    67  0814  3477               	retlw	119
    68  0815  343E               	retlw	62
    69  0816  3437               	retlw	55
    70                           
    71                           	psect	rdata_2
    72  0166                     _zhuangtai
    73  0166                     	ds	1
    74                           
    75                           	psect	idata_2
    76  0003  3403               	retlw	3
    77                           
    78                           	psect	rdata_1
    79  00EC                     _new_pdc
    80  00EC                     	ds	2
    81  00EE                     _RDY_RANGE
    82  00EE                     	ds	2
    83                           
    84                           	psect	idata_1
    85  07FC  3463               	retlw	99
    86  07FD  3400               	retlw	0
    87  07FE  3446               	retlw	70
    88  07FF  3400               	retlw	0
    89                           
    90                           	psect	intcode
    91  001D                     _ISR
    92  001D                     int_func
    93                           ;16f884.c: 219: void interrupt ISR(void)
    94  001D  0183               	clrf	3	;select bank 0
    95  001E  1C8C               	btfss	12,1
    96  001F  28CC               	goto	l106
    97                           ;16f884.c: 222: {TMR2IF=0;
    98  0020  108C               	bcf	12,1
    99                           ;16f884.c: 223: if(zhengbanzhou)
   100  0021  1DA2               	btfss	_zhengbanzhou/(0+8),_zhengbanzhou& (0+7)
   101  0022  286A               	goto	l107
   102                           ;16f884.c: 224: {CCPR1L=new_pdc;GODONE=1;
   103  0023  1683               	bsf	3,5
   104  0024  086C               	movf	_new_pdc^(0+128),w	;volatile
   105  0025  1283               	bcf	3,5
   106  0026  0095               	movwf	21	;volatile
   107  0027  149F               	bsf	31,1
   108                           ;16f884.c: 225: new_pdc=pwm_data[point++];
   109  0028  082B               	movf	_point,w	;volatile
   110  0029  3E34               	addlw	_pwm_data^(0+256)
   111  002A  0084               	movwf	4
   112  002B  1783               	bsf	3,7
   113  002C  0800               	movf	0,w
   114  002D  1683               	bsf	3,5
   115  002E  00EC               	movwf	_new_pdc^(0+128)	;volatile
   116  002F  01ED               	clrf	(_new_pdc+1)^(0+128)	;volatile
   117  0030  1283               	bcf	3,5
   118  0031  0AAB               	incf	_point	;volatile
   119                           ;16f884.c: 226: new_pdc=new_pdc*range;
   120  0032  1683               	bsf	3,5
   121  0033  0834               	movf	(_range+1)^(0+128),w	;volatile
   122  0034  00F3               	movwf	btemp+3
   123  0035  0833               	movf	_range^(0+128),w	;volatile
   124  0036  00F2               	movwf	btemp+2
   125  0037  086C               	movf	_new_pdc^(0+128),w	;volatile
   126  0038  00F0               	movwf	btemp
   127  0039  086D               	movf	(_new_pdc+1)^(0+128),w	;volatile
   128  003A  00F1               	movwf	btemp+1
   129  003B  118A  21A8  118A   	fcall	lwmul
   130  003E  0874               	movf	btemp+4,w
   131  003F  00EC               	movwf	_new_pdc^(0+128)	;volatile
   132  0040  0875               	movf	btemp+5,w
   133  0041  00ED               	movwf	(_new_pdc+1)^(0+128)	;volatile
   134                           ;16f884.c: 227: new_pdc=new_pdc>>9;
   135  0042  3009               	movlw	9
   136  0043  00F0               	movwf	btemp
   137  0044                     u695
   138  0044  1003               	bcf	3,0
   139  0045  0CED               	rrf	(_new_pdc+1)^(0+128)	;volatile
   140  0046  0CEC               	rrf	_new_pdc^(0+128)	;volatile
   141  0047  0BF0               	decfsz	btemp
   142  0048  2844               	goto	u695
   143                           ;16f884.c: 228: new_pdc+=(PR2/2);
   144  0049  1003               	bcf	3,0
   145  004A  0C12               	rrf	18,w
   146  004B  07EC               	addwf	_new_pdc^(0+128)	;volatile
   147  004C  1803               	btfsc	3,0
   148  004D  0AED               	incf	(_new_pdc+1)^(0+128)	;volatile
   149                           ;16f884.c: 229: if(point>(dianshu-1)){point=0;z
      +                          hengbanzhou=0;}
   150  004E  1283               	bcf	3,5
   151  004F  082B               	movf	_point,w	;volatile
   152  0050  00F0               	movwf	btemp
   153  0051  01F1               	clrf	btemp+1
   154  0052  0826               	movf	_dianshu,w
   155  0053  00F2               	movwf	btemp+2
   156  0054  01F3               	clrf	btemp+3
   157  0055  30FF               	movlw	-1
   158  0056  07F2               	addwf	btemp+2
   159  0057  1C03               	btfss	3,0
   160  0058  07F3               	addwf	btemp+3
   161  0059  0873               	movf	btemp+3,w
   162  005A  3A80               	xorlw	128
   163  005B  00F4               	movwf	btemp+4
   164  005C  0871               	movf	btemp+1,w
   165  005D  3A80               	xorlw	128
   166  005E  0274               	subwf	btemp+4,w
   167  005F  1D03               	btfss	3,2
   168  0060  2863               	goto	u705
   169  0061  0870               	movf	btemp,w
   170  0062  0272               	subwf	btemp+2,w
   171  0063                     u705
   172  0063  1283               	bcf	3,5
   173  0064  1303               	bcf	3,6	;carry unused
   174  0065  1803               	btfsc	3,0
   175  0066  28CE               	goto	L7
   176  0067  01AB               	clrf	_point	;volatile
   177  0068  11A2               	bcf	_zhengbanzhou/(0+8),_zhengbanzhou& (0+7)
   178                           ;16f884.c: 230: }
   179  0069  28CC               	goto	l106
   180  006A                     l107
   181                           ;16f884.c: 231: else
   182  006A  1683               	bsf	3,5
   183  006B  086C               	movf	_new_pdc^(0+128),w	;volatile
   184  006C  1283               	bcf	3,5
   185  006D  0095               	movwf	21	;volatile
   186  006E  149F               	bsf	31,1
   187                           ;16f884.c: 233: new_pdc=pwm_data[point++];
   188  006F  082B               	movf	_point,w	;volatile
   189  0070  3E34               	addlw	_pwm_data^(0+256)
   190  0071  0084               	movwf	4
   191  0072  1783               	bsf	3,7
   192  0073  0800               	movf	0,w
   193  0074  1683               	bsf	3,5
   194  0075  00EC               	movwf	_new_pdc^(0+128)	;volatile
   195  0076  01ED               	clrf	(_new_pdc+1)^(0+128)	;volatile
   196  0077  1283               	bcf	3,5
   197  0078  0AAB               	incf	_point	;volatile
   198                           ;16f884.c: 234: new_pdc=new_pdc*range;
   199  0079  1683               	bsf	3,5
   200  007A  0834               	movf	(_range+1)^(0+128),w	;volatile
   201  007B  00F3               	movwf	btemp+3
   202  007C  0833               	movf	_range^(0+128),w	;volatile
   203  007D  00F2               	movwf	btemp+2
   204  007E  086C               	movf	_new_pdc^(0+128),w	;volatile
   205  007F  00F0               	movwf	btemp
   206  0080  086D               	movf	(_new_pdc+1)^(0+128),w	;volatile
   207  0081  00F1               	movwf	btemp+1
   208  0082  118A  21A8  118A   	fcall	lwmul
   209  0085  0874               	movf	btemp+4,w
   210  0086  00EC               	movwf	_new_pdc^(0+128)	;volatile
   211  0087  0875               	movf	btemp+5,w
   212  0088  00ED               	movwf	(_new_pdc+1)^(0+128)	;volatile
   213                           ;16f884.c: 235: new_pdc=new_pdc>>9;
   214  0089  3009               	movlw	9
   215  008A  00F0               	movwf	btemp
   216  008B                     u715
   217  008B  1003               	bcf	3,0
   218  008C  0CED               	rrf	(_new_pdc+1)^(0+128)	;volatile
   219  008D  0CEC               	rrf	_new_pdc^(0+128)	;volatile
   220  008E  0BF0               	decfsz	btemp
   221  008F  288B               	goto	u715
   222                           ;16f884.c: 236: new_pdc=(PR2/2)-new_pdc;
   223  0090  1003               	bcf	3,0
   224  0091  0C12               	rrf	18,w
   225  0092  00F0               	movwf	btemp
   226  0093  086C               	movf	_new_pdc^(0+128),w	;volatile
   227  0094  0270               	subwf	btemp,w
   228  0095  00EC               	movwf	_new_pdc^(0+128)	;volatile
   229  0096  086D               	movf	(_new_pdc+1)^(0+128),w	;volatile
   230  0097  1C03               	btfss	3,0

⌨️ 快捷键说明

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