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

📄 oled.lst

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


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

Licensed to: ONE TWO
     1                           	processor	16F688
     2                           	opt	pw 79
     3                           	psect	__Z88888RS_,global,delta=1
     4                           	psect	strings,global,class=STRING,delta=2
     5                           	psect	const1,local,class=CONST,delta=2
     6                           	psect	text0,local,class=CODE,delta=2
     7                           	psect	text2,local,class=CODE,delta=2
     8                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
     9  0000                     
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19                           
    20                           	psect	__Z88888RS_
    21  0120                     
    22  0120                     
    23                           
    24                           	psect	const1
    25  00B6  0782               	addwf	2
    26  00B7                     _OLED_PARAM
    27  00B7  3400               	retlw	0
    28  00B8  346E               	retlw	110
    29  00B9  3441               	retlw	65
    30  00BA  346E               	retlw	110
    31  00BB  3441               	retlw	65
    32  00BC  346E               	retlw	110
    33  00BD  3441               	retlw	65
    34  00BE  346E               	retlw	110
    35  00BF  3441               	retlw	65
    36  00C0  3400               	retlw	0
    37  00C1  3402               	retlw	2
    38  00C2  3400               	retlw	0
    39  00C3  3402               	retlw	2
    40  00C4  3400               	retlw	0
    41  00C5  3480               	retlw	-128
    42  00C6  341E               	retlw	30
    43  00C7  340C               	retlw	12
    44  00C8  340C               	retlw	12
    45  00C9  3400               	retlw	0
    46  00CA  34D4               	retlw	-44
    47  00CB  3419               	retlw	25
    48  00CC  34D8               	retlw	-40
    49  00CD  340C               	retlw	12
    50  00CE  3402               	retlw	2
    51  00CF  3480               	retlw	-128
    52  00D0  3400               	retlw	0
    53  00D1  3400               	retlw	0
    54                           
    55                           	psect	text0
    56  048D                     _oLedOperator
    57                           ;	_type assigned to ?a_oLedOperator+0
    58  0000                     _oLedOperator$type	set	?a_oLedOperator
    59                           ;	_addr assigned to ?a_oLedOperator+1
    60  0000                     _oLedOperator$addr	set	?a_oLedOperator+1
    61                           ;	_i assigned to ?a_oLedOperator+2
    62  0000                     _oLedOperator$i	set	?a_oLedOperator+2
    63                           ;	_data assigned to ?a_oLedOperator+3
    64  0000                     _oLedOperator$data	set	?a_oLedOperator+3
    65                           ;_type stored from w
    66  048D  0183               	clrf	3	;select bank 0
    67  048E  00AD               	movwf	?a_oLedOperator
    68                           ;oled.c: 49: unsigned char data;
    69  048F  2D02               	goto	l8
    70  0490                     l9
    71                           ;oled.c: 53: { case 1:
    72                           ;oled.c: 54: { data =oledParam.bright;
    73  0490  0821               	movf	_oledParam,w
    74  0491  00B0               	movwf	?a_oLedOperator+3
    75                           ;oled.c: 55: addr=0x00;
    76  0492  01AE               	clrf	?a_oLedOperator+1
    77                           ;oled.c: 56: I2C_WriteNByte(0x5E,8,addr,&data,1
      +                          );
    78  0493  3008               	movlw	8
    79  0494  00B1               	movwf	?_I2C_WriteNByte
    80  0495  01B2               	clrf	?_I2C_WriteNByte+1
    81  0496  3030               	movlw	?a_oLedOperator+3
    82  0497  00B3               	movwf	?_I2C_WriteNByte+2
    83  0498  01B4               	clrf	?_I2C_WriteNByte+3
    84  0499  0AB4               	incf	?_I2C_WriteNByte+3
    85  049A  305E               	movlw	94
    86  049B  118A  2300         	fcall	_I2C_WriteNByte
    87                           ;oled.c: 57: addr=0x80;
    88  049D  3080               	movlw	-128
    89  049E  00AE               	movwf	?a_oLedOperator+1
    90                           ;oled.c: 58: I2C_WriteNByte(0x5E,8,addr,&data,1
      +                          );
    91  049F  3008               	movlw	8
    92  04A0  00B1               	movwf	?_I2C_WriteNByte
    93  04A1  3080               	movlw	-128
    94  04A2  00B2               	movwf	?_I2C_WriteNByte+1
    95  04A3  3030               	movlw	?a_oLedOperator+3
    96  04A4  00B3               	movwf	?_I2C_WriteNByte+2
    97  04A5  01B4               	clrf	?_I2C_WriteNByte+3
    98  04A6  0AB4               	incf	?_I2C_WriteNByte+3
    99  04A7  305E               	movlw	94
   100  04A8  118A  2B00         	ljmp	_I2C_WriteNByte
   101                           ;oled.c: 59: break;
   102  04AA                     l10
   103                           ;oled.c: 60: }
   104                           ;oled.c: 62: { data =oledParam.gray;
   105  04AA  0822               	movf	_oledParam+1,w
   106  04AB  00B0               	movwf	?a_oLedOperator+3
   107                           ;oled.c: 63: addr=0x80;
   108  04AC  3080               	movlw	-128
   109  04AD  00AE               	movwf	?a_oLedOperator+1
   110                           ;oled.c: 64: I2C_WriteNByte(0x5E,8,addr,&data,1
      +                          );
   111  04AE  3008               	movlw	8
   112  04AF  00B1               	movwf	?_I2C_WriteNByte
   113  04B0  3080               	movlw	-128
   114  04B1  00B2               	movwf	?_I2C_WriteNByte+1
   115  04B2  3030               	movlw	?a_oLedOperator+3
   116  04B3  00B3               	movwf	?_I2C_WriteNByte+2
   117  04B4  01B4               	clrf	?_I2C_WriteNByte+3
   118  04B5  0AB4               	incf	?_I2C_WriteNByte+3
   119  04B6  305E               	movlw	94
   120  04B7  118A  2B00         	ljmp	_I2C_WriteNByte
   121                           ;oled.c: 65: break;
   122  04B9                     l11
   123                           ;oled.c: 66: }
   124                           ;oled.c: 68: { data =oledParam.gain;
   125  04B9  0823               	movf	_oledParam+2,w
   126  04BA  00B0               	movwf	?a_oLedOperator+3
   127                           ;oled.c: 69: addr= 0x01;
   128  04BB  01AE               	clrf	?a_oLedOperator+1
   129  04BC  0AAE               	incf	?a_oLedOperator+1
   130                           ;oled.c: 70: for(i=0;i<4;i++)
   131  04BD  01AF               	clrf	?a_oLedOperator+2
   132  04BE                     l12
   133                           ;oled.c: 71: { I2C_WriteNByte(0x64,8,addr+i*2,&
      +                          data,1);
   134  04BE  3008               	movlw	8
   135  04BF  00B1               	movwf	?_I2C_WriteNByte
   136  04C0  082F               	movf	?a_oLedOperator+2,w
   137  04C1  072F               	addwf	?a_oLedOperator+2,w
   138  04C2  072E               	addwf	?a_oLedOperator+1,w
   139  04C3  00B2               	movwf	?_I2C_WriteNByte+1
   140  04C4  3030               	movlw	?a_oLedOperator+3
   141  04C5  00B3               	movwf	?_I2C_WriteNByte+2
   142  04C6  01B4               	clrf	?_I2C_WriteNByte+3
   143  04C7  0AB4               	incf	?_I2C_WriteNByte+3
   144  04C8  3064               	movlw	100
   145  04C9  118A  2300         	fcall	_I2C_WriteNByte
   146                           ;oled.c: 72: I2C_WriteNByte(0x66,8,addr+i*2,&da
      +                          ta,1);
   147  04CB  3008               	movlw	8
   148  04CC  00B1               	movwf	?_I2C_WriteNByte
   149  04CD  082F               	movf	?a_oLedOperator+2,w
   150  04CE  072F               	addwf	?a_oLedOperator+2,w
   151  04CF  072E               	addwf	?a_oLedOperator+1,w
   152  04D0  00B2               	movwf	?_I2C_WriteNByte+1
   153  04D1  3030               	movlw	?a_oLedOperator+3
   154  04D2  00B3               	movwf	?_I2C_WriteNByte+2
   155  04D3  01B4               	clrf	?_I2C_WriteNByte+3
   156  04D4  0AB4               	incf	?_I2C_WriteNByte+3
   157  04D5  3066               	movlw	102
   158  04D6  118A  2300         	fcall	_I2C_WriteNByte
   159                           ;oled.c: 73: DelayNms(10);
   160  04D8  300A               	movlw	10
   161  04D9  00B1               	movwf	?_DelayNms
   162  04DA  01B2               	clrf	?_DelayNms+1
   163  04DB  118A  2125  118A   	fcall	_DelayNms
   164                           ;oled.c: 74: }
   165  04DE  0AAF               	incf	?a_oLedOperator+2
   166  04DF  3004               	movlw	4
   167  04E0  022F               	subwf	?a_oLedOperator+2,w
   168  04E1  1803               	btfsc	3,0
   169  04E2  0008               	return
   170  04E3  2CBE               	goto	l12
   171                           ;oled.c: 75: break;
   172  04E4                     l15
   173                           ;oled.c: 76: }
   174                           ;oled.c: 78: { data =oledParam.offset;
   175  04E4  0824               	movf	_oledParam+3,w
   176  04E5  00B0               	movwf	?a_oLedOperator+3
   177                           ;oled.c: 79: addr= 0x02;
   178  04E6  3002               	movlw	2
   179  04E7  00AE               	movwf	?a_oLedOperator+1
   180                           ;oled.c: 80: for(i=0;i<4;i++)
   181  04E8  01AF               	clrf	?a_oLedOperator+2
   182  04E9                     l16
   183                           ;oled.c: 81: { I2C_WriteNByte(0x64,8,addr+i*2,&
      +                          data,1);
   184  04E9  3008               	movlw	8
   185  04EA  00B1               	movwf	?_I2C_WriteNByte
   186  04EB  082F               	movf	?a_oLedOperator+2,w
   187  04EC  072F               	addwf	?a_oLedOperator+2,w
   188  04ED  072E               	addwf	?a_oLedOperator+1,w
   189  04EE  00B2               	movwf	?_I2C_WriteNByte+1
   190  04EF  3030               	movlw	?a_oLedOperator+3
   191  04F0  00B3               	movwf	?_I2C_WriteNByte+2
   192  04F1  01B4               	clrf	?_I2C_WriteNByte+3
   193  04F2  0AB4               	incf	?_I2C_WriteNByte+3
   194  04F3  3064               	movlw	100
   195  04F4  118A  2300         	fcall	_I2C_WriteNByte
   196                           ;oled.c: 82: DelayNms(10);
   197  04F6  300A               	movlw	10
   198  04F7  00B1               	movwf	?_DelayNms
   199  04F8  01B2               	clrf	?_DelayNms+1
   200  04F9  118A  2125  118A   	fcall	_DelayNms
   201                           ;oled.c: 83: }
   202  04FC  0AAF               	incf	?a_oLedOperator+2
   203  04FD  3004               	movlw	4
   204  04FE  022F               	subwf	?a_oLedOperator+2,w
   205  04FF  1803               	btfsc	3,0
   206  0500  0008               	return
   207  0501  2CE9               	goto	l16
   208                           ;oled.c: 84: break;
   209                           ;oled.c: 85: }
   210  0502                     l8
   211  0502  1283               	bcf	3,5
   212  0503  1303               	bcf	3,6	;carry unused
   213  0504  082D               	movf	?a_oLedOperator,w
   214  0505  3A01               	xorlw	1
   215  0506  1903               	btfsc	3,2
   216  0507  2C90               	goto	l9
   217  0508  3A03               	xorlw	3
   218  0509  1903               	btfsc	3,2
   219  050A  2CAA               	goto	l10
   220  050B  3A01               	xorlw	1
   221  050C  1903               	btfsc	3,2
   222  050D  2CB9               	goto	l11
   223  050E  3A07               	xorlw	7
   224  050F  1D03               	btfss	3,2
   225  0510  0008               	return
   226  0511  2CE4               	goto	l15
   227                           ;oled.c: 90: void InitOled(void)
   228                           ;oled.c: 91: {
   229  0512                     _InitOled
   230                           ;	_data assigned to ?a_InitOled+0
   231  0000                     _InitOled$data	set	?a_InitOled
   232                           ;	_i assigned to ?a_InitOled+1
   233  0000                     _InitOled$i	set	?a_InitOled+1
   234                           ;oled.c: 92: unsigned char i;
   235  0512  0183               	clrf	3	;select bank 0
   236  0513  1007               	bcf	7,0
   237                           ;oled.c: 95: DelayNms(10);
   238  0514  300A               	movlw	10
   239  0515  00B1               	movwf	?_DelayNms
   240  0516  01B2               	clrf	?_DelayNms+1
   241  0517  118A  2125         	fcall	_DelayNms
   242                           ;oled.c: 96: RC0=1;
   243  0519  1407               	bsf	7,0
   244                           ;oled.c: 97: DelayNms(10);
   245  051A  300A               	movlw	10
   246  051B  00B1               	movwf	?_DelayNms
   247  051C  01B2               	clrf	?_DelayNms+1
   248  051D  118A  2125         	fcall	_DelayNms
   249                           ;oled.c: 98: for (i=0;i<27;i++)
   250  051F  01AC               	clrf	?a_InitOled+1
   251  0520                     l21
   252                           ;oled.c: 99: { data =OLED_PARAM[i];
   253  0520  3000               	movlw	_OLED_PARAM shr (0+8)
   254  0521  008A               	movwf	10
   255  0522  082C               	movf	?a_InitOled+1,w
   256  0523  20B6               	call	((_OLED_PARAM+-1)& (0+2047))| (($)& (0+-2
      +                          048))
   257  0524  00AB               	movwf	?a_InitOled
   258                           ;oled.c: 100: I2C_WriteNByte(0x64,8,i,&data,1);
   259  0525  3008               	movlw	8
   260  0526  00B1               	movwf	?_I2C_WriteNByte

⌨️ 快捷键说明

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