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

📄 oled.lst

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


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

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  0038  0782               	addwf	2
    26  0039                     _OLED_PARAM
    27  0039  3400               	retlw	0
    28  003A  346E               	retlw	110
    29  003B  3441               	retlw	65
    30  003C  346E               	retlw	110
    31  003D  3441               	retlw	65
    32  003E  346E               	retlw	110
    33  003F  3441               	retlw	65
    34  0040  346E               	retlw	110
    35  0041  3441               	retlw	65
    36  0042  3400               	retlw	0
    37  0043  3402               	retlw	2
    38  0044  3400               	retlw	0
    39  0045  3402               	retlw	2
    40  0046  3400               	retlw	0
    41  0047  3480               	retlw	-128
    42  0048  341E               	retlw	30
    43  0049  340C               	retlw	12
    44  004A  340C               	retlw	12
    45  004B  3400               	retlw	0
    46  004C  34D4               	retlw	-44
    47  004D  3419               	retlw	25
    48  004E  34D8               	retlw	-40
    49  004F  340C               	retlw	12
    50  0050  3402               	retlw	2
    51  0051  3480               	retlw	-128
    52  0052  3400               	retlw	0
    53  0053  3400               	retlw	0
    54                           
    55                           	psect	text0
    56  04B3                     _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  04B3  0183               	clrf	3	;select bank 0
    67  04B4  00C5               	movwf	?a_oLedOperator
    68                           ;oled.c: 49: unsigned char data;
    69  04B5  2D0E               	goto	l7
    70  04B6                     l8
    71                           ;oled.c: 53: { case 1:
    72                           ;oled.c: 54: { data =oledParam.bright;
    73  04B6  0839               	movf	_oledParam,w
    74  04B7  00C8               	movwf	?a_oLedOperator+3
    75                           ;oled.c: 55: addr=0x00;
    76  04B8  01C6               	clrf	?a_oLedOperator+1
    77                           ;oled.c: 56: I2C_WriteNByte(0x5E,8,addr,&data,1
      +                          );
    78  04B9  3008               	movlw	8
    79  04BA  00C9               	movwf	?_I2C_WriteNByte
    80  04BB  01CA               	clrf	?_I2C_WriteNByte+1
    81  04BC  3048               	movlw	?a_oLedOperator+3
    82  04BD  00CB               	movwf	?_I2C_WriteNByte+2
    83  04BE  01CC               	clrf	?_I2C_WriteNByte+3
    84  04BF  0ACC               	incf	?_I2C_WriteNByte+3
    85  04C0  305E               	movlw	94
    86  04C1  118A  2C89         	ljmp	_I2C_WriteNByte
    87                           ;oled.c: 57: break;
    88  04C3                     l9
    89                           ;oled.c: 58: }
    90                           ;oled.c: 60: { data =oledParam.gray;
    91  04C3  083A               	movf	_oledParam+1,w
    92  04C4  00C8               	movwf	?a_oLedOperator+3
    93                           ;oled.c: 61: addr=0x80;
    94  04C5  3080               	movlw	-128
    95  04C6  00C6               	movwf	?a_oLedOperator+1
    96                           ;oled.c: 62: I2C_WriteNByte(0x5E,8,addr,&data,1
      +                          );
    97  04C7  3008               	movlw	8
    98  04C8  00C9               	movwf	?_I2C_WriteNByte
    99  04C9  3080               	movlw	-128
   100  04CA  00CA               	movwf	?_I2C_WriteNByte+1
   101  04CB  3048               	movlw	?a_oLedOperator+3
   102  04CC  00CB               	movwf	?_I2C_WriteNByte+2
   103  04CD  01CC               	clrf	?_I2C_WriteNByte+3
   104  04CE  0ACC               	incf	?_I2C_WriteNByte+3
   105  04CF  305E               	movlw	94
   106  04D0  118A  2C89         	ljmp	_I2C_WriteNByte
   107                           ;oled.c: 63: break;
   108  04D2                     l10
   109                           ;oled.c: 64: }
   110                           ;oled.c: 66: { data =oledParam.gain;
   111  04D2  083B               	movf	_oledParam+2,w
   112  04D3  00C8               	movwf	?a_oLedOperator+3
   113                           ;oled.c: 67: addr= 0x01;
   114  04D4  01C6               	clrf	?a_oLedOperator+1
   115  04D5  0AC6               	incf	?a_oLedOperator+1
   116                           ;oled.c: 68: for(i=0;i<4;i++)
   117  04D6  01C7               	clrf	?a_oLedOperator+2
   118  04D7                     l11
   119                           ;oled.c: 69: { I2C_WriteNByte(0x64,8,addr+i*2,&
      +                          data,1);
   120  04D7  3008               	movlw	8
   121  04D8  00C9               	movwf	?_I2C_WriteNByte
   122  04D9  0847               	movf	?a_oLedOperator+2,w
   123  04DA  0747               	addwf	?a_oLedOperator+2,w
   124  04DB  0746               	addwf	?a_oLedOperator+1,w
   125  04DC  00CA               	movwf	?_I2C_WriteNByte+1
   126  04DD  3048               	movlw	?a_oLedOperator+3
   127  04DE  00CB               	movwf	?_I2C_WriteNByte+2
   128  04DF  01CC               	clrf	?_I2C_WriteNByte+3
   129  04E0  0ACC               	incf	?_I2C_WriteNByte+3
   130  04E1  3064               	movlw	100
   131  04E2  118A  2489         	fcall	_I2C_WriteNByte
   132                           ;oled.c: 70: DelayNms(10);
   133  04E4  300A               	movlw	10
   134  04E5  00C9               	movwf	?_DelayNms
   135  04E6  01CA               	clrf	?_DelayNms+1
   136  04E7  118A  229B  118A   	fcall	_DelayNms
   137                           ;oled.c: 71: }
   138  04EA  0AC7               	incf	?a_oLedOperator+2
   139  04EB  3004               	movlw	4
   140  04EC  0247               	subwf	?a_oLedOperator+2,w
   141  04ED  1803               	btfsc	3,0
   142  04EE  0008               	return
   143  04EF  2CD7               	goto	l11
   144                           ;oled.c: 72: break;
   145  04F0                     l14
   146                           ;oled.c: 73: }
   147                           ;oled.c: 75: { data =oledParam.offset;
   148  04F0  083C               	movf	_oledParam+3,w
   149  04F1  00C8               	movwf	?a_oLedOperator+3
   150                           ;oled.c: 76: addr= 0x02;
   151  04F2  3002               	movlw	2
   152  04F3  00C6               	movwf	?a_oLedOperator+1
   153                           ;oled.c: 77: for(i=0;i<4;i++)
   154  04F4  01C7               	clrf	?a_oLedOperator+2
   155  04F5                     l15
   156                           ;oled.c: 78: { I2C_WriteNByte(0x64,8,addr+i*2,&
      +                          data,1);
   157  04F5  3008               	movlw	8
   158  04F6  00C9               	movwf	?_I2C_WriteNByte
   159  04F7  0847               	movf	?a_oLedOperator+2,w
   160  04F8  0747               	addwf	?a_oLedOperator+2,w
   161  04F9  0746               	addwf	?a_oLedOperator+1,w
   162  04FA  00CA               	movwf	?_I2C_WriteNByte+1
   163  04FB  3048               	movlw	?a_oLedOperator+3
   164  04FC  00CB               	movwf	?_I2C_WriteNByte+2
   165  04FD  01CC               	clrf	?_I2C_WriteNByte+3
   166  04FE  0ACC               	incf	?_I2C_WriteNByte+3
   167  04FF  3064               	movlw	100
   168  0500  118A  2489         	fcall	_I2C_WriteNByte
   169                           ;oled.c: 79: DelayNms(10);
   170  0502  300A               	movlw	10
   171  0503  00C9               	movwf	?_DelayNms
   172  0504  01CA               	clrf	?_DelayNms+1
   173  0505  118A  229B  118A   	fcall	_DelayNms
   174                           ;oled.c: 80: }
   175  0508  0AC7               	incf	?a_oLedOperator+2
   176  0509  3004               	movlw	4
   177  050A  0247               	subwf	?a_oLedOperator+2,w
   178  050B  1803               	btfsc	3,0
   179  050C  0008               	return
   180  050D  2CF5               	goto	l15
   181                           ;oled.c: 81: break;
   182                           ;oled.c: 82: }
   183  050E                     l7
   184  050E  1283               	bcf	3,5
   185  050F  1303               	bcf	3,6	;carry unused
   186  0510  0845               	movf	?a_oLedOperator,w
   187  0511  3A01               	xorlw	1
   188  0512  1903               	btfsc	3,2
   189  0513  2CB6               	goto	l8
   190  0514  3A03               	xorlw	3
   191  0515  1903               	btfsc	3,2
   192  0516  2CC3               	goto	l9
   193  0517  3A01               	xorlw	1
   194  0518  1903               	btfsc	3,2
   195  0519  2CD2               	goto	l10
   196  051A  3A07               	xorlw	7
   197  051B  1D03               	btfss	3,2
   198  051C  0008               	return
   199  051D  2CF0               	goto	l14
   200                           ;oled.c: 87: void InitOled(void)
   201                           ;oled.c: 88: {
   202  051E                     _InitOled
   203                           ;	_data assigned to ?a_InitOled+0
   204  0000                     _InitOled$data	set	?a_InitOled
   205                           ;	_i assigned to ?a_InitOled+1
   206  0000                     _InitOled$i	set	?a_InitOled+1
   207                           ;oled.c: 89: unsigned char i;
   208  051E  0183               	clrf	3	;select bank 0
   209  051F  1007               	bcf	7,0
   210                           ;oled.c: 92: DelayNms(10);
   211  0520  300A               	movlw	10
   212  0521  00C9               	movwf	?_DelayNms
   213  0522  01CA               	clrf	?_DelayNms+1
   214  0523  118A  229B         	fcall	_DelayNms
   215                           ;oled.c: 93: RC0=1;
   216  0525  1407               	bsf	7,0
   217                           ;oled.c: 94: DelayNms(10);
   218  0526  300A               	movlw	10
   219  0527  00C9               	movwf	?_DelayNms
   220  0528  01CA               	clrf	?_DelayNms+1
   221  0529  118A  229B         	fcall	_DelayNms
   222                           ;oled.c: 95: for (i=0;i<27;i++)
   223  052B  01C4               	clrf	?a_InitOled+1
   224  052C                     l20
   225                           ;oled.c: 96: { data =OLED_PARAM[i];
   226  052C  3000               	movlw	_OLED_PARAM shr (0+8)
   227  052D  008A               	movwf	10
   228  052E  0844               	movf	?a_InitOled+1,w
   229  052F  2038               	call	((_OLED_PARAM+-1)& (0+2047))| (($)& (0+-2
      +                          048))
   230  0530  00C3               	movwf	?a_InitOled
   231                           ;oled.c: 97: I2C_WriteNByte(0x64,8,i,&data,1);
   232  0531  3008               	movlw	8
   233  0532  00C9               	movwf	?_I2C_WriteNByte
   234  0533  0844               	movf	?a_InitOled+1,w
   235  0534  00CA               	movwf	?_I2C_WriteNByte+1
   236  0535  3043               	movlw	?a_InitOled
   237  0536  00CB               	movwf	?_I2C_WriteNByte+2
   238  0537  01CC               	clrf	?_I2C_WriteNByte+3
   239  0538  0ACC               	incf	?_I2C_WriteNByte+3
   240  0539  3064               	movlw	100
   241  053A  118A  2489         	fcall	_I2C_WriteNByte
   242                           ;oled.c: 98: DelayNms(2);

⌨️ 快捷键说明

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