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

📄 parameter.lst

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


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-88888                            Tue Feb 10 14:15:22 2009

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  0550                     _checkOledParamAvailable
    25                           ;	_flag assigned to ?a_checkOledParamAvailable+
      +                          0
    26  0000                     _checkOledParamAvailable$flag	set	?a_checkOledP
      +                          aramAvailable
    27                           ;parameter.c: 53: flag =1;
    28  0550  0183               	clrf	3	;select bank 0
    29  0551  01AB               	clrf	?a_checkOledParamAvailable
    30  0552  0AAB               	incf	?a_checkOledParamAvailable
    31                           ;parameter.c: 54: if (!((oledParam.gain>=85)&&(
      +                          oledParam.gain<=135)))
    32  0553  3055               	movlw	85
    33  0554  0223               	subwf	_oledParam+2,w
    34  0555  1C03               	btfss	3,0
    35  0556  2D5B               	goto	u180
    36  0557  3088               	movlw	-120
    37  0558  0223               	subwf	_oledParam+2,w
    38  0559  1C03               	btfss	3,0
    39  055A  2D5C               	goto	l40
    40  055B                     u180
    41                           ;parameter.c: 55: { flag =0; }
    42  055B  01AB               	clrf	?a_checkOledParamAvailable
    43  055C                     l40
    44                           ;parameter.c: 56: if (!((oledParam.offset>=40)&
      +                          &(oledParam.offset<=85)))
    45  055C  3028               	movlw	40
    46  055D  0224               	subwf	_oledParam+3,w
    47  055E  1C03               	btfss	3,0
    48  055F  2D64               	goto	u210
    49  0560  3056               	movlw	86
    50  0561  0224               	subwf	_oledParam+3,w
    51  0562  1C03               	btfss	3,0
    52  0563  2D65               	goto	l41
    53  0564                     u210
    54                           ;parameter.c: 57: { flag =0; }
    55  0564  01AB               	clrf	?a_checkOledParamAvailable
    56  0565                     l41
    57                           ;parameter.c: 58: return flag;
    58  0565  082B               	movf	?a_checkOledParamAvailable,w
    59                           ;parameter.c: 59: }
    60  0566  0008               	return
    61                           ;parameter.c: 19: void saveOledParam(void)
    62                           ;parameter.c: 20: {
    63  0567                     _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  0567  0183               	clrf	3	;select bank 0
    70  0568  08A5               	movf	_oledParam+4
    71  0569  1D03               	btfss	3,2
    72  056A  2D70               	goto	l12
    73                           ;parameter.c: 24: { oledParam.block=1;
    74  056B  01A5               	clrf	_oledParam+4
    75  056C  0AA5               	incf	_oledParam+4
    76                           ;parameter.c: 25: n=1;
    77  056D  01AD               	clrf	?a_saveOledParam+1
    78  056E  0AAD               	incf	?a_saveOledParam+1
    79                           ;parameter.c: 26: }
    80  056F  2D72               	goto	l13
    81  0570                     l12
    82                           ;parameter.c: 28: { oledParam.block=0;
    83  0570  01A5               	clrf	_oledParam+4
    84                           ;parameter.c: 29: n=0;
    85  0571  01AD               	clrf	?a_saveOledParam+1
    86  0572                     l13
    87                           ;parameter.c: 30: }
    88                           ;parameter.c: 31: crc=oledParam.offset+oledPara
      +                          m.gain;
    89  0572  0824               	movf	_oledParam+3,w
    90  0573  0723               	addwf	_oledParam+2,w
    91  0574  00AC               	movwf	?a_saveOledParam
    92                           ;parameter.c: 32: while (WR) ;
    93  0575                     l14
    94  0575  1683               	bsf	3,5
    95  0576  189C               	btfsc	28,1
    96  0577  2D75               	goto	l14
    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  0578                     l17
    99  0578  189C               	btfsc	28,1
   100  0579  2D78               	goto	l17
   101  057A  1283               	bcf	3,5
   102  057B  0E2D               	swapf	?a_saveOledParam+1,w
   103  057C  39F0               	andlw	240
   104  057D  3E05               	addlw	5
   105  057E  1683               	bsf	3,5
   106  057F  009B               	movwf	27
   107  0580  1283               	bcf	3,5
   108  0581  0823               	movf	_oledParam+2,w
   109  0582  1683               	bsf	3,5
   110  0583  009A               	movwf	26	;volatile
   111  0584  139C               	bcf	28,7	;volatile
   112  0585  1003               	bcf	3,0
   113  0586  1B8B               	btfsc	11,7
   114  0587  1403               	bsf	3,0
   115  0588  138B               	bcf	11,7
   116  0589  151C               	bsf	28,2
   117  058A  3055               	movlw	85
   118  058B  009D               	movwf	29	;volatile
   119  058C  30AA               	movlw	-86
   120  058D  009D               	movwf	29	;volatile
   121  058E  149C               	bsf	28,1
   122  058F  111C               	bcf	28,2
   123  0590  1803               	btfsc	3,0
   124  0591  178B               	bsf	11,7
   125                           ;parameter.c: 34: while (WR) ;
   126  0592                     l22
   127  0592  189C               	btfsc	28,1
   128  0593  2D92               	goto	l22
   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  0594                     l25
   131  0594  189C               	btfsc	28,1
   132  0595  2D94               	goto	l25
   133  0596  1283               	bcf	3,5
   134  0597  0E2D               	swapf	?a_saveOledParam+1,w
   135  0598  39F0               	andlw	240
   136  0599  3E06               	addlw	6
   137  059A  1683               	bsf	3,5
   138  059B  009B               	movwf	27
   139  059C  1283               	bcf	3,5
   140  059D  0824               	movf	_oledParam+3,w
   141  059E  1683               	bsf	3,5
   142  059F  009A               	movwf	26	;volatile
   143  05A0  139C               	bcf	28,7	;volatile
   144  05A1  1003               	bcf	3,0
   145  05A2  1B8B               	btfsc	11,7
   146  05A3  1403               	bsf	3,0
   147  05A4  138B               	bcf	11,7
   148  05A5  151C               	bsf	28,2
   149  05A6  3055               	movlw	85
   150  05A7  009D               	movwf	29	;volatile
   151  05A8  30AA               	movlw	-86
   152  05A9  009D               	movwf	29	;volatile
   153  05AA  149C               	bsf	28,1
   154  05AB  111C               	bcf	28,2
   155  05AC  1803               	btfsc	3,0
   156  05AD  178B               	bsf	11,7
   157                           ;parameter.c: 36: while (WR) ;
   158  05AE                     l30
   159  05AE  189C               	btfsc	28,1
   160  05AF  2DAE               	goto	l30
   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  05B0                     l33
   163  05B0  189C               	btfsc	28,1
   164  05B1  2DB0               	goto	l33
   165  05B2  1283               	bcf	3,5
   166  05B3  0E2D               	swapf	?a_saveOledParam+1,w
   167  05B4  39F0               	andlw	240
   168  05B5  3E07               	addlw	7
   169  05B6  1683               	bsf	3,5
   170  05B7  009B               	movwf	27
   171  05B8  1283               	bcf	3,5
   172  05B9  082C               	movf	?a_saveOledParam,w
   173  05BA  1683               	bsf	3,5
   174  05BB  009A               	movwf	26	;volatile
   175  05BC  139C               	bcf	28,7	;volatile
   176  05BD  1003               	bcf	3,0
   177  05BE  1B8B               	btfsc	11,7
   178  05BF  1403               	bsf	3,0
   179  05C0  138B               	bcf	11,7
   180  05C1  151C               	bsf	28,2
   181  05C2  3055               	movlw	85
   182  05C3  009D               	movwf	29	;volatile
   183  05C4  30AA               	movlw	-86
   184  05C5  009D               	movwf	29	;volatile
   185  05C6  149C               	bsf	28,1
   186  05C7  111C               	bcf	28,2
   187  05C8  1803               	btfsc	3,0
   188  05C9  178B               	bsf	11,7
   189                           ;parameter.c: 38: }
   190  05CA  1283               	bcf	3,5
   191  05CB  0008               	return
   192                           ;parameter.c: 41: void saveOledDefaultParam(voi
      +                          d)
   193                           ;parameter.c: 42: {
   194  05CC                     _saveOledDefaultParam
   195                           ;parameter.c: 43: oledParam.gain =110;
   196  05CC  306E               	movlw	110
   197  05CD  0183               	clrf	3	;select bank 0
   198  05CE  00A3               	movwf	_oledParam+2
   199                           ;parameter.c: 44: oledParam.offset =65;
   200  05CF  3041               	movlw	65
   201  05D0  00A4               	movwf	_oledParam+3
   202                           ;parameter.c: 45: oledParam.block=0;
   203  05D1  01A5               	clrf	_oledParam+4
   204                           ;parameter.c: 46: saveOledParam();
   205  05D2  2567               	fcall	_saveOledParam
   206                           ;parameter.c: 47: saveOledParam();
   207  05D3  2D67               	ljmp	_saveOledParam
   208  05D4                     _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  05D4  0183               	clrf	3	;select bank 0
   215  05D5  01AC               	clrf	?a_readOledParam+1
   216  05D6                     l7
   217                           ;parameter.c: 10: { oledParam.gain=((EEADR=(0x0
      +                          5+(n*16))),(EECON1&=0x7F),(RD=1),EEDATA);
   218  05D6  0E2C               	swapf	?a_readOledParam+1,w
   219  05D7  39F0               	andlw	240
   220  05D8  3E05               	addlw	5
   221  05D9  1683               	bsf	3,5
   222  05DA  009B               	movwf	27
   223  05DB  139C               	bcf	28,7	;volatile
   224  05DC  141C               	bsf	28,0
   225  05DD  081A               	movf	26,w	;volatile
   226  05DE  1283               	bcf	3,5
   227  05DF  00A3               	movwf	_oledParam+2
   228                           ;parameter.c: 11: oledParam.offset=((EEADR=(0x0
      +                          6+(n*16))),(EECON1&=0x7F),(RD=1),EEDATA);
   229  05E0  0E2C               	swapf	?a_readOledParam+1,w
   230  05E1  39F0               	andlw	240
   231  05E2  3E06               	addlw	6
   232  05E3  1683               	bsf	3,5
   233  05E4  009B               	movwf	27
   234  05E5  139C               	bcf	28,7	;volatile
   235  05E6  141C               	bsf	28,0
   236  05E7  081A               	movf	26,w	;volatile
   237  05E8  1283               	bcf	3,5
   238  05E9  00A4               	movwf	_oledParam+3
   239                           ;parameter.c: 12: crc=oledParam.gain+oledParam.
      +                          offset;
   240  05EA  0823               	movf	_oledParam+2,w
   241  05EB  0724               	addwf	_oledParam+3,w
   242  05EC  00AB               	movwf	?a_readOledParam
   243                           ;parameter.c: 13: if (crc==((EEADR=(0x07+(n*16)
      +                          )),(EECON1&=0x7F),(RD=1),EEDATA))
   244  05ED  0E2C               	swapf	?a_readOledParam+1,w
   245  05EE  39F0               	andlw	240
   246  05EF  3E07               	addlw	7
   247  05F0  1683               	bsf	3,5
   248  05F1  009B               	movwf	27
   249  05F2  139C               	bcf	28,7	;volatile
   250  05F3  141C               	bsf	28,0
   251  05F4  1283               	bcf	3,5
   252  05F5  082B               	movf	?a_readOledParam,w
   253  05F6  1683               	bsf	3,5
   254  05F7  061A               	xorwf	26,w	;volatile
   255  05F8  1D03               	btfss	3,2
   256  05F9  2DFC               	goto	l10
   257                           ;parameter.c: 14: return (1);
   258  05FA  3001               	movlw	1
   259  05FB  2E03               	goto	l6
   260  05FC                     l10
   261                           ;parameter.c: 15: }
   262  05FC  1283               	bcf	3,5
   263  05FD  0AAC               	incf	?a_readOledParam+1
   264  05FE  3002               	movlw	2
   265  05FF  022C               	subwf	?a_readOledParam+1,w
   266  0600  1C03               	btfss	3,0
   267  0601  2DD6               	goto	l7
   268                           ;parameter.c: 16: return (0);
   269  0602  3000               	movlw	0
   270                           ;parameter.c: 17: }
   271  0603                     l6
   272  0603  1283               	bcf	3,5
   273  0604  0008               	return
   274                           ;parameter.c: 62: void loadDefaultParam(void)
   275                           ;parameter.c: 63: {
   276  0605                     _loadDefaultParam
   277                           ;parameter.c: 64: oledParam.gray =120;
   278  0605  3078               	movlw	120
   279  0606  0183               	clrf	3	;select bank 0
   280  0607  00A2               	movwf	_oledParam+1
   281                           ;parameter.c: 65: oledParam.gain =110;

⌨️ 快捷键说明

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