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

📄 2402.lst

📁 这是一个带SIS仿真电路的PIC驱动程序,极易修改应用.///*功能是检测2402能否正常读取数据
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-34706                            Fri Sep  5 13:19:24 2008

Licensed to: ONE
     1                           	processor	16F72
     2                           	opt	pw 79
     3                           	psect	__Z34706RS_,global,delta=1
     4                           	psect	rdata_0,global,class=BANK0,space=1,delta
      +                          =1
     5                           	psect	idata_0,global,class=CODE,delta=2
     6                           	psect	text0,local,class=CODE,delta=2
     7                           	psect	config,global,class=CONFIG,delta=2
     8                           	psect	text1,local,class=CODE,delta=2
     9                           	psect	text2,local,class=CODE,delta=2
    10                           	psect	text3,local,class=CODE,delta=2
    11                           	psect	text4,local,class=CODE,delta=2
    12                           	psect	text5,local,class=CODE,delta=2
    13                           	psect	text6,local,class=CODE,delta=2
    14                           	psect	text7,local,class=CODE,delta=2
    15                           	psect	text8,local,class=CODE,delta=2
    16                           	psect	text9,local,class=CODE,delta=2
    17                           	psect	text10,local,class=CODE,delta=2
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26  0000                     
    27  0000                     
    28                           
    29                           	psect	__Z34706RS_
    30  00A0                     
    31  00A0                     
    32                           
    33                           	psect	rdata_0
    34  0028                     _disp
    35  0028                     	ds	1
    36  0029                     	ds	1
    37  002A                     	ds	1
    38  002B                     	ds	1
    39  002C                     	ds	1
    40  002D                     	ds	1
    41  002E                     	ds	1
    42  002F                     	ds	1
    43  0030                     	ds	1
    44  0031                     	ds	1
    45  0032                     	ds	1
    46  0033                     	ds	1
    47                           
    48                           	psect	idata_0
    49  07F4  34C0               	retlw	-64
    50  07F5  34F9               	retlw	-7
    51  07F6  34A4               	retlw	-92
    52  07F7  34B0               	retlw	-80
    53  07F8  3499               	retlw	-103
    54  07F9  3492               	retlw	-110
    55  07FA  3482               	retlw	-126
    56  07FB  34F8               	retlw	-8
    57  07FC  3480               	retlw	-128
    58  07FD  3490               	retlw	-112
    59  07FE  34FF               	retlw	-1
    60  07FF  3400               	retlw	0	;#
    61                           
    62                           	psect	text0
    63  0740                     _delay1
    64                           ;	_x assigned to ?a_delay1+0
    65  0000                     _delay1$x	set	?a_delay1
    66                           ;	_u assigned to ?a_delay1+1
    67  0000                     _delay1$u	set	?a_delay1+1
    68                           ;	_i assigned to ?a_delay1+2
    69  0000                     _delay1$i	set	?a_delay1+2
    70                           ;_x stored from w
    71  0740  0183               	clrf	3	;select bank 0
    72  0741  00A5               	movwf	?a_delay1
    73                           ;2402.c: 27: unsigned char i,u;
    74  0742  01A7               	clrf	?a_delay1+2
    75  0743  2F46               	goto	l5
    76  0744                     l2
    77                           ;2402.c: 29: u=~u;
    78  0744  09A6               	comf	?a_delay1+1
    79  0745  0AA7               	incf	?a_delay1+2
    80  0746                     l5
    81  0746  0825               	movf	?a_delay1,w
    82  0747  0227               	subwf	?a_delay1+2,w
    83  0748  1803               	btfsc	3,0
    84  0749  0008               	return
    85  074A  2F44               	goto	l2
    86                           
    87                           	psect	config
    88  2007  3FA2               	dw	16290	;#
    89                           
    90                           	psect	text1
    91                           ;2402.c: 33: void x24c02_init()
    92                           ;2402.c: 34: {
    93  0728                     _x24c02_init
    94                           ;2402.c: 35: RC3=1; asm("nop"); RC5=1; asm("nop
      +                          ");
    95  0728  0183               	clrf	3	;select bank 0
    96  0729  1587               	bsf	7,3
    97  072A  0000               	nop	;#
    98  072B  1687               	bsf	7,5
    99  072C  0000               	nop	;#
   100                           ;2402.c: 36: }
   101  072D  0008               	return
   102                           
   103                           	psect	text2
   104                           ;2402.c: 38: void start()
   105                           ;2402.c: 39: {
   106  0736                     _start
   107                           ;2402.c: 40: RC5=1; asm("nop"); RC3=1; asm("nop
      +                          "); RC5=0; asm("nop"); RC3=0; asm("nop");
   108  0736  0183               	clrf	3	;select bank 0
   109  0737  1687               	bsf	7,5
   110  0738  0000               	nop	;#
   111  0739  1587               	bsf	7,3
   112  073A  0000               	nop	;#
   113  073B  1287               	bcf	7,5
   114  073C  0000               	nop	;#
   115  073D  1187               	bcf	7,3
   116  073E  0000               	nop	;#
   117                           ;2402.c: 41: }
   118  073F  0008               	return
   119                           
   120                           	psect	text3
   121                           ;2402.c: 43: void stop()
   122                           ;2402.c: 44: {
   123  072E                     _stop
   124                           ;2402.c: 45: RC5=0; asm("nop"); RC3=1; asm("nop
      +                          "); RC5=1; asm("nop");
   125  072E  0183               	clrf	3	;select bank 0
   126  072F  1287               	bcf	7,5
   127  0730  0000               	nop	;#
   128  0731  1587               	bsf	7,3
   129  0732  0000               	nop	;#
   130  0733  1687               	bsf	7,5
   131  0734  0000               	nop	;#
   132                           ;2402.c: 46: }
   133  0735  0008               	return
   134                           
   135                           	psect	text4
   136                           ;2402.c: 48: void writex(unsigned char j)
   137                           ;2402.c: 49: {
   138  0785                     _writex
   139                           ;	_j assigned to ?a_writex+0
   140  0000                     _writex$j	set	?a_writex
   141                           ;	_temp assigned to ?a_writex+1
   142  0000                     _writex$temp	set	?a_writex+1
   143                           ;	_i assigned to ?a_writex+2
   144  0000                     _writex$i	set	?a_writex+2
   145                           ;_j stored from w
   146  0785  0183               	clrf	3	;select bank 0
   147  0786  00A5               	movwf	?a_writex
   148                           ;2402.c: 50: unsigned char i,temp;
   149  0787  00A6               	movwf	?a_writex+1
   150                           ;2402.c: 52: for (i=0;i<8;i++){
   151  0788  01A7               	clrf	?a_writex+2
   152                           ;2402.c: 53: temp=temp<<1; RC3=0; asm("nop");
   153  0789  1003               	bcf	3,0
   154  078A                     L1
   155  078A  0DA6               	rlf	?a_writex+1
   156  078B  1187               	bcf	7,3
   157  078C  0000               	nop	;#
   158                           ;2402.c: 54: RC5=CARRY;
   159  078D  1C03               	btfss	3,0
   160  078E  2F91               	goto	u20
   161  078F  1687               	bsf	7,5
   162  0790  2F92               	goto	u34
   163  0791                     u20
   164  0791  1287               	bcf	7,5
   165  0792                     u34
   166                           ;2402.c: 55: asm("nop"); RC3=1; asm("nop");
   167  0792  0000               	nop	;#
   168  0793  1283               	bcf	3,5
   169  0794  1303               	bcf	3,6	;carry unused
   170  0795  1587               	bsf	7,3
   171  0796  0000               	nop	;#
   172                           ;2402.c: 56: }
   173  0797  0AA7               	incf	?a_writex+2
   174  0798  3008               	movlw	8
   175  0799  0227               	subwf	?a_writex+2,w
   176  079A  1C03               	btfss	3,0
   177  079B  2F8A               	goto	L1
   178                           ;2402.c: 57: RC3=0; asm("nop"); RC5=1; asm("nop
      +                          ");
   179  079C  1187               	bcf	7,3
   180  079D  0000               	nop	;#
   181  079E  1687               	bsf	7,5
   182  079F  0000               	nop	;#
   183                           ;2402.c: 58: }
   184  07A0  0008               	return
   185                           
   186                           	psect	text5
   187                           ;2402.c: 60: unsigned char readx()
   188                           ;2402.c: 61: {
   189  07A1                     _readx
   190                           ;	_j assigned to ?a_readx+0
   191  0000                     _readx$j	set	?a_readx
   192                           ;	_i assigned to ?a_readx+1
   193  0000                     _readx$i	set	?a_readx+1
   194                           ;	_k assigned to ?a_readx+2
   195  0000                     _readx$k	set	?a_readx+2
   196                           ;2402.c: 62: unsigned char i,j,k=0;
   197  07A1  0183               	clrf	3	;select bank 0
   198  07A2  01A7               	clrf	?a_readx+2
   199                           ;2402.c: 63: TRISC5=1;asm("nop");RC3=0; asm("no
      +                          p");
   200  07A3  1683               	bsf	3,5
   201  07A4  1687               	bsf	7,5
   202  07A5  0000               	nop	;#
   203  07A6  1283               	bcf	3,5
   204  07A7  1187               	bcf	7,3
   205  07A8  0000               	nop	;#
   206                           ;2402.c: 64: for (i=0;i<8;i++){
   207  07A9  01A6               	clrf	?a_readx+1
   208  07AA                     l14
   209                           ;2402.c: 65: asm("nop"); RC3=1; asm("nop");
   210  07AA  0000               	nop	;#
   211  07AB  1587               	bsf	7,3
   212  07AC  0000               	nop	;#
   213  07AD  01A5               	clrf	?a_readx
   214                           ;2402.c: 66: if (RC5==1) j=1;
   215  07AE  1A87               	btfsc	7,5
   216  07AF  0AA5               	incf	?a_readx
   217                           ;2402.c: 67: else j=0;
   218                           ;2402.c: 68: k=(k<<1)|j; RC3=0;
   219  07B0  0827               	movf	?a_readx+2,w
   220  07B1  0727               	addwf	?a_readx+2,w
   221  07B2  0425               	iorwf	?a_readx,w
   222  07B3  00A7               	movwf	?a_readx+2
   223  07B4  1187               	bcf	7,3
   224                           ;2402.c: 69: }
   225  07B5  0AA6               	incf	?a_readx+1
   226  07B6  3008               	movlw	8
   227  07B7  0226               	subwf	?a_readx+1,w
   228  07B8  1C03               	btfss	3,0
   229  07B9  2FAA               	goto	l14
   230                           ;2402.c: 70: TRISC5=0;asm("nop"); return(k);
   231  07BA  1683               	bsf	3,5
   232  07BB  1287               	bcf	7,5
   233  07BC  0000               	nop	;#
   234  07BD  1283               	bcf	3,5
   235  07BE  0827               	movf	?a_readx+2,w
   236                           ;2402.c: 71: }
   237  07BF  0008               	return
   238                           
   239                           	psect	text6
   240                           ;2402.c: 73: void clock()
   241                           ;2402.c: 74: {
   242  076E                     _clock
   243                           ;	_i assigned to ?a_clock+0
   244  0000                     _clock$i	set	?a_clock
   245                           ;2402.c: 75: unsigned char i=0;
   246  076E  0183               	clrf	3	;select bank 0
   247  076F  01A5               	clrf	?a_clock
   248                           ;2402.c: 76: TRISC5=1;asm("nop");RC3=1; asm("no
      +                          p");
   249  0770  1683               	bsf	3,5
   250  0771  1687               	bsf	7,5
   251  0772  0000               	nop	;#
   252  0773  1283               	bcf	3,5
   253  0774  1587               	bsf	7,3
   254  0775  0000               	nop	;#
   255                           ;2402.c: 77: while ((RC5==1)&&(i>250))i++;
   256  0776  2F78               	goto	l20
   257  0777                     l21
   258  0777  0AA5               	incf	?a_clock
   259  0778                     l20
   260  0778  1E87               	btfss	7,5
   261  0779  2F7E               	goto	l22
   262  077A  30FB               	movlw	-5
   263  077B  0225               	subwf	?a_clock,w
   264  077C  1803               	btfsc	3,0
   265  077D  2F77               	goto	l21
   266  077E                     l22
   267                           ;2402.c: 78: TRISC5=0;asm("nop");RC3=0; asm("no
      +                          p");
   268  077E  1683               	bsf	3,5
   269  077F  1287               	bcf	7,5
   270  0780  0000               	nop	;#
   271  0781  1283               	bcf	3,5
   272  0782  1187               	bcf	7,3
   273  0783  0000               	nop	;#
   274                           ;2402.c: 79: }
   275  0784  0008               	return
   276                           
   277                           	psect	text7
   278                           ;2402.c: 81: unsigned char x24c02_read(unsigned
      +                           char address)
   279                           ;2402.c: 82: {
   280  075A                     _x24c02_read
   281                           ;	_address assigned to ?a_x24c02_read+0
   282  0000                     _x24c02_read$address	set	?a_x24c02_read
   283                           ;	_i assigned to ?a_x24c02_read+1
   284  0000                     _x24c02_read$i	set	?a_x24c02_read+1
   285                           ;_address stored from w
   286  075A  0183               	clrf	3	;select bank 0
   287  075B  00A3               	movwf	?a_x24c02_read
   288                           ;2402.c: 83: unsigned char i;
   289  075C  2736               	call	_start
   290  075D  30A0               	movlw	-96
   291  075E  2785               	call	_writex
   292                           ;2402.c: 85: clock(); writex(address);
   293  075F  276E               	call	_clock
   294  0760  0823               	movf	?a_x24c02_read,w
   295  0761  2785               	call	_writex
   296                           ;2402.c: 86: clock(); start();
   297  0762  276E               	call	_clock
   298  0763  2736               	call	_start
   299                           ;2402.c: 87: writex(0xa1); clock();
   300  0764  30A1               	movlw	-95
   301  0765  2785               	call	_writex
   302  0766  276E               	call	_clock

⌨️ 快捷键说明

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