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

📄 parameter.lst

📁 PIC串口程序  可以帮助你编写串口程序  里面还有我自己做的协议 很方便
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-88888                            Thu Dec 11 14:01:28 2008

Licensed to: ONE TWO
     1                           	processor	16F688
     2                           	opt	pw 79
     3                           	psect	__Z88888RS_,global,delta=1
     4                           	psect	text3,local,class=CODE,delta=2
     5                           	psect	text5,local,class=CODE,delta=2
     6  0000                     
     7  0000                     
     8  0000                     
     9  0000                     
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16                           
    17                           	psect	__Z88888RS_
    18  0120                     
    19  0120                     
    20                           
    21                           	psect	text3
    22                           ;parameter.c: 51: unsigned char checkOledParamA
      +                          vailable(void)
    23                           ;parameter.c: 52: { unsigned char flag;
    24  0551                     _checkOledParamAvailable
    25                           ;	_flag assigned to ?a_checkOledParamAvailable+
      +                          0
    26  0000                     _checkOledParamAvailable$flag	set	?a_checkOledP
      +                          aramAvailable
    27                           ;parameter.c: 53: flag =1;
    28  0551  0183               	clrf	3	;select bank 0
    29  0552  01C3               	clrf	?a_checkOledParamAvailable
    30  0553  0AC3               	incf	?a_checkOledParamAvailable
    31                           ;parameter.c: 54: if (!((oledParam.gain>=85)&&(
      +                          oledParam.gain<=135)))
    32  0554  3055               	movlw	85
    33  0555  023B               	subwf	_oledParam+2,w
    34  0556  1C03               	btfss	3,0
    35  0557  2D5C               	goto	u180
    36  0558  3088               	movlw	-120
    37  0559  023B               	subwf	_oledParam+2,w
    38  055A  1C03               	btfss	3,0
    39  055B  2D5D               	goto	l39
    40  055C                     u180
    41                           ;parameter.c: 55: { flag =0; }
    42  055C  01C3               	clrf	?a_checkOledParamAvailable
    43  055D                     l39
    44                           ;parameter.c: 56: if (!((oledParam.offset>=40)&
      +                          &(oledParam.offset<=85)))
    45  055D  3028               	movlw	40
    46  055E  023C               	subwf	_oledParam+3,w
    47  055F  1C03               	btfss	3,0
    48  0560  2D65               	goto	u210
    49  0561  3056               	movlw	86
    50  0562  023C               	subwf	_oledParam+3,w
    51  0563  1C03               	btfss	3,0
    52  0564  2D66               	goto	l40
    53  0565                     u210
    54                           ;parameter.c: 57: { flag =0; }
    55  0565  01C3               	clrf	?a_checkOledParamAvailable
    56  0566                     l40
    57                           ;parameter.c: 58: return flag;
    58  0566  0843               	movf	?a_checkOledParamAvailable,w
    59                           ;parameter.c: 59: }
    60  0567  0008               	return
    61                           ;parameter.c: 19: void saveOledParam(void)
    62                           ;parameter.c: 20: {
    63  0568                     _saveOledParam
    64                           ;	_crc assigned to ?a_saveOledParam+0
    65  0000                     _saveOledParam$crc	set	?a_saveOledParam
    66                           ;	_n assigned to ?a_saveOledParam+1
    67  0000                     _saveOledParam$n	set	?a_saveOledParam+1
    68                           ;parameter.c: 21: unsigned char n;
    69  0568  0183               	clrf	3	;select bank 0
    70  0569  08BD               	movf	_oledParam+4
    71  056A  1D03               	btfss	3,2
    72  056B  2D71               	goto	l11
    73                           ;parameter.c: 24: { oledParam.block=1;
    74  056C  01BD               	clrf	_oledParam+4
    75  056D  0ABD               	incf	_oledParam+4
    76                           ;parameter.c: 25: n=1;
    77  056E  01C5               	clrf	?a_saveOledParam+1
    78  056F  0AC5               	incf	?a_saveOledParam+1
    79                           ;parameter.c: 26: }
    80  0570  2D73               	goto	l12
    81  0571                     l11
    82                           ;parameter.c: 28: { oledParam.block=0;
    83  0571  01BD               	clrf	_oledParam+4
    84                           ;parameter.c: 29: n=0;
    85  0572  01C5               	clrf	?a_saveOledParam+1
    86  0573                     l12
    87                           ;parameter.c: 30: }
    88                           ;parameter.c: 31: crc=oledParam.offset+oledPara
      +                          m.gain;
    89  0573  083C               	movf	_oledParam+3,w
    90  0574  073B               	addwf	_oledParam+2,w
    91  0575  00C4               	movwf	?a_saveOledParam
    92                           ;parameter.c: 32: while (WR) ;
    93  0576                     l13
    94  0576  1683               	bsf	3,5
    95  0577  189C               	btfsc	28,1
    96  0578  2D76               	goto	l13
    97                           ;parameter.c: 33: while(WR)continue;EEADR=(0x05
      +                          +(n*16));EEDATA=(oledParam.gain); EECON1&=0x7F;
      +                          CARRY=0;if(GIE)CARRY=1;GIE=0; WREN=1;EECON2=0x5
      +                          5;EECON2=0xAA;WR=1;WREN=0; if(CARRY)GIE=1;
    98  0579                     l16
    99  0579  189C               	btfsc	28,1
   100  057A  2D79               	goto	l16
   101  057B  1283               	bcf	3,5
   102  057C  0E45               	swapf	?a_saveOledParam+1,w
   103  057D  39F0               	andlw	240
   104  057E  3E05               	addlw	5
   105  057F  1683               	bsf	3,5
   106  0580  009B               	movwf	27
   107  0581  1283               	bcf	3,5
   108  0582  083B               	movf	_oledParam+2,w
   109  0583  1683               	bsf	3,5
   110  0584  009A               	movwf	26	;volatile
   111  0585  139C               	bcf	28,7	;volatile
   112  0586  1003               	bcf	3,0
   113  0587  1B8B               	btfsc	11,7
   114  0588  1403               	bsf	3,0
   115  0589  138B               	bcf	11,7
   116  058A  151C               	bsf	28,2
   117  058B  3055               	movlw	85
   118  058C  009D               	movwf	29	;volatile
   119  058D  30AA               	movlw	-86
   120  058E  009D               	movwf	29	;volatile
   121  058F  149C               	bsf	28,1
   122  0590  111C               	bcf	28,2
   123  0591  1803               	btfsc	3,0
   124  0592  178B               	bsf	11,7
   125                           ;parameter.c: 34: while (WR) ;
   126  0593                     l21
   127  0593  189C               	btfsc	28,1
   128  0594  2D93               	goto	l21
   129                           ;parameter.c: 35: while(WR)continue;EEADR=(0x06
      +                          +(n*16));EEDATA=(oledParam.offset); EECON1&=0x7
      +                          F;CARRY=0;if(GIE)CARRY=1;GIE=0; WREN=1;EECON2=0
      +                          x55;EECON2=0xAA;WR=1;WREN=0; if(CARRY)GIE=1;
   130  0595                     l24
   131  0595  189C               	btfsc	28,1
   132  0596  2D95               	goto	l24
   133  0597  1283               	bcf	3,5
   134  0598  0E45               	swapf	?a_saveOledParam+1,w
   135  0599  39F0               	andlw	240
   136  059A  3E06               	addlw	6
   137  059B  1683               	bsf	3,5
   138  059C  009B               	movwf	27
   139  059D  1283               	bcf	3,5
   140  059E  083C               	movf	_oledParam+3,w
   141  059F  1683               	bsf	3,5
   142  05A0  009A               	movwf	26	;volatile
   143  05A1  139C               	bcf	28,7	;volatile
   144  05A2  1003               	bcf	3,0
   145  05A3  1B8B               	btfsc	11,7
   146  05A4  1403               	bsf	3,0
   147  05A5  138B               	bcf	11,7
   148  05A6  151C               	bsf	28,2
   149  05A7  3055               	movlw	85
   150  05A8  009D               	movwf	29	;volatile
   151  05A9  30AA               	movlw	-86
   152  05AA  009D               	movwf	29	;volatile
   153  05AB  149C               	bsf	28,1
   154  05AC  111C               	bcf	28,2
   155  05AD  1803               	btfsc	3,0
   156  05AE  178B               	bsf	11,7
   157                           ;parameter.c: 36: while (WR) ;
   158  05AF                     l29
   159  05AF  189C               	btfsc	28,1
   160  05B0  2DAF               	goto	l29
   161                           ;parameter.c: 37: while(WR)continue;EEADR=(0x07
      +                          +(n*16));EEDATA=(crc); EECON1&=0x7F;CARRY=0;if(
      +                          GIE)CARRY=1;GIE=0; WREN=1;EECON2=0x55;EECON2=0x
      +                          AA;WR=1;WREN=0; if(CARRY)GIE=1;
   162  05B1                     l32
   163  05B1  189C               	btfsc	28,1
   164  05B2  2DB1               	goto	l32
   165  05B3  1283               	bcf	3,5
   166  05B4  0E45               	swapf	?a_saveOledParam+1,w
   167  05B5  39F0               	andlw	240
   168  05B6  3E07               	addlw	7
   169  05B7  1683               	bsf	3,5
   170  05B8  009B               	movwf	27
   171  05B9  1283               	bcf	3,5
   172  05BA  0844               	movf	?a_saveOledParam,w
   173  05BB  1683               	bsf	3,5
   174  05BC  009A               	movwf	26	;volatile
   175  05BD  139C               	bcf	28,7	;volatile
   176  05BE  1003               	bcf	3,0
   177  05BF  1B8B               	btfsc	11,7
   178  05C0  1403               	bsf	3,0
   179  05C1  138B               	bcf	11,7
   180  05C2  151C               	bsf	28,2
   181  05C3  3055               	movlw	85
   182  05C4  009D               	movwf	29	;volatile
   183  05C5  30AA               	movlw	-86
   184  05C6  009D               	movwf	29	;volatile
   185  05C7  149C               	bsf	28,1
   186  05C8  111C               	bcf	28,2
   187  05C9  1803               	btfsc	3,0
   188  05CA  178B               	bsf	11,7
   189                           ;parameter.c: 38: }
   190  05CB  1283               	bcf	3,5
   191  05CC  0008               	return
   192                           ;parameter.c: 41: void saveOledDefaultParam(voi
      +                          d)
   193                           ;parameter.c: 42: {
   194  05CD                     _saveOledDefaultParam
   195                           ;parameter.c: 43: oledParam.gain =110;
   196  05CD  306E               	movlw	110
   197  05CE  0183               	clrf	3	;select bank 0
   198  05CF  00BB               	movwf	_oledParam+2
   199                           ;parameter.c: 44: oledParam.offset =65;
   200  05D0  3041               	movlw	65
   201  05D1  00BC               	movwf	_oledParam+3
   202                           ;parameter.c: 45: oledParam.block=0;
   203  05D2  01BD               	clrf	_oledParam+4
   204                           ;parameter.c: 46: saveOledParam();
   205  05D3  2568               	fcall	_saveOledParam
   206                           ;parameter.c: 47: saveOledParam();
   207  05D4  2D68               	ljmp	_saveOledParam
   208  05D5                     _readOledParam
   209                           ;	_crc assigned to ?a_readOledParam+0
   210  0000                     _readOledParam$crc	set	?a_readOledParam
   211                           ;	_n assigned to ?a_readOledParam+1
   212  0000                     _readOledParam$n	set	?a_readOledParam+1
   213                           ;parameter.c: 8: unsigned char n;
   214  05D5  0183               	clrf	3	;select bank 0
   215  05D6  01C4               	clrf	?a_readOledParam+1
   216  05D7                     l6
   217                           ;parameter.c: 10: { oledParam.gain=((EEADR=(0x0
      +                          5+(n*16))),(EECON1&=0x7F),(RD=1),EEDATA);
   218  05D7  0E44               	swapf	?a_readOledParam+1,w
   219  05D8  39F0               	andlw	240
   220  05D9  3E05               	addlw	5
   221  05DA  1683               	bsf	3,5
   222  05DB  009B               	movwf	27
   223  05DC  139C               	bcf	28,7	;volatile
   224  05DD  141C               	bsf	28,0
   225  05DE  081A               	movf	26,w	;volatile
   226  05DF  1283               	bcf	3,5
   227  05E0  00BB               	movwf	_oledParam+2
   228                           ;parameter.c: 11: oledParam.offset=((EEADR=(0x0
      +                          6+(n*16))),(EECON1&=0x7F),(RD=1),EEDATA);
   229  05E1  0E44               	swapf	?a_readOledParam+1,w
   230  05E2  39F0               	andlw	240
   231  05E3  3E06               	addlw	6
   232  05E4  1683               	bsf	3,5
   233  05E5  009B               	movwf	27
   234  05E6  139C               	bcf	28,7	;volatile
   235  05E7  141C               	bsf	28,0
   236  05E8  081A               	movf	26,w	;volatile
   237  05E9  1283               	bcf	3,5
   238  05EA  00BC               	movwf	_oledParam+3
   239                           ;parameter.c: 12: crc=oledParam.gain+oledParam.
      +                          offset;
   240  05EB  083B               	movf	_oledParam+2,w
   241  05EC  073C               	addwf	_oledParam+3,w
   242  05ED  00C3               	movwf	?a_readOledParam
   243                           ;parameter.c: 13: if (crc==((EEADR=(0x07+(n*16)
      +                          )),(EECON1&=0x7F),(RD=1),EEDATA))
   244  05EE  0E44               	swapf	?a_readOledParam+1,w
   245  05EF  39F0               	andlw	240
   246  05F0  3E07               	addlw	7
   247  05F1  1683               	bsf	3,5
   248  05F2  009B               	movwf	27
   249  05F3  139C               	bcf	28,7	;volatile
   250  05F4  141C               	bsf	28,0
   251  05F5  1283               	bcf	3,5
   252  05F6  0843               	movf	?a_readOledParam,w
   253  05F7  1683               	bsf	3,5
   254  05F8  061A               	xorwf	26,w	;volatile
   255  05F9  1D03               	btfss	3,2
   256  05FA  2DFD               	goto	l9
   257                           ;parameter.c: 14: return (1);
   258  05FB  3001               	movlw	1
   259  05FC  2E04               	goto	l5
   260  05FD                     l9
   261                           ;parameter.c: 15: }
   262  05FD  1283               	bcf	3,5
   263  05FE  0AC4               	incf	?a_readOledParam+1
   264  05FF  3002               	movlw	2
   265  0600  0244               	subwf	?a_readOledParam+1,w
   266  0601  1C03               	btfss	3,0
   267  0602  2DD7               	goto	l6
   268                           ;parameter.c: 16: return (0);
   269  0603  3000               	movlw	0
   270                           ;parameter.c: 17: }
   271  0604                     l5
   272  0604  1283               	bcf	3,5
   273  0605  0008               	return
   274                           ;parameter.c: 62: void loadDefaultParam(void)
   275                           ;parameter.c: 63: {
   276  0606                     _loadDefaultParam
   277                           ;parameter.c: 64: oledParam.gray =120;
   278  0606  3078               	movlw	120
   279  0607  0183               	clrf	3	;select bank 0
   280  0608  00BA               	movwf	_oledParam+1
   281                           ;parameter.c: 65: oledParam.gain =110;

⌨️ 快捷键说明

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