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

📄 jieshou.lst

📁 pic16f877a下与nRF905的通讯程序
💻 LST
📖 第 1 页 / 共 3 页
字号:


HI-TECH Software PICC Macro Assembler V9.60PL1
                                                      Sun Nov 23 20:27:17 2008


     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	rdata_0,global,class=BANK0,space=1,delta
      +                          =1
     4                           	psect	idata_0,global,class=CODE,delta=2
     5                           	psect	text0,local,class=CODE,delta=2
     6                           	psect	text1,local,class=CODE,delta=2
     7                           	psect	text2,local,class=CODE,delta=2
     8                           	psect	text3,local,class=CODE,delta=2
     9                           	psect	text4,local,class=CODE,delta=2
    10                           	psect	text5,local,class=CODE,delta=2
    11                           	psect	text6,local,class=CODE,delta=2
    12                           	psect	text7,local,class=CODE,delta=2
    13                           	psect	text8,local,class=CODE,delta=2
    14                           	psect	text9,local,class=CODE,delta=2
    15                           	psect	text10,local,class=CODE,delta=2
    16                           	psect	text11,local,class=CODE,delta=2
    17                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26  0000                     
    27  0000                     
    28                           
    29                           	psect	rdata_0
    30  0000'                    _RFConf
    31  0000'                    	ds	1
    32  0001'                    	ds	1
    33  0002'                    	ds	1
    34  0003'                    	ds	1
    35  0004'                    	ds	1
    36  0005'                    	ds	1
    37  0006'                    	ds	1
    38  0007'                    	ds	1
    39  0008'                    	ds	1
    40  0009'                    	ds	1
    41  000A'                    	ds	1
    42                           
    43                           	psect	idata_0
    44  0000' 3400               	retlw	0
    45  0001' 344C               	retlw	76
    46  0002' 342C               	retlw	44
    47  0003' 3444               	retlw	68
    48  0004' 3420               	retlw	32
    49  0005' 3420               	retlw	32
    50  0006' 34CC               	retlw	-52
    51  0007' 34CC               	retlw	-52
    52  0008' 34CC               	retlw	-52
    53  0009' 34CC               	retlw	-52
    54  000A' 3458               	retlw	88
    55                           
    56                           	psect	text0
    57  0000'                    _Delay
    58                           ;	_n assigned to ?a_Delay+0
    59  0000                     _Delay$n	set	?a_Delay
    60                           ;	_k assigned to ?a_Delay+1
    61  0000                     _Delay$k	set	?a_Delay+1
    62                           ;_n stored from w
    63  0000' 0183               	clrf	3	;select bank 0
    64  0001' 0080'              	movwf	?a_Delay
    65                           ;jieshou.c: 57: void Delay(unsigned char n)
    66  0002' 2800'              	goto	l2
    67  0003'                    l3
    68                           ;jieshou.c: 61: for(k=0;k<80;k++);
    69  0003' 0181'              	clrf	?a_Delay+1
    70  0004'                    l5
    71  0004' 0A81'              	incf	?a_Delay+1
    72  0005' 3050               	movlw	80
    73  0006' 0201'              	subwf	?a_Delay+1,w
    74  0007' 1C03               	btfss	3,0
    75  0008' 2800'              	goto	l5
    76  0009'                    l2
    77  0009' 1283               	bcf	3,5
    78  000A' 1303               	bcf	3,6	;carry unused
    79  000B' 0380'              	decf	?a_Delay
    80  000C' 0F00'              	incfsz	?a_Delay,w
    81  000D' 2800'              	goto	l3
    82  000E' 0008               	return
    83                           
    84                           	psect	text1
    85  0000'                    _Spi_initial
    86                           ;jieshou.c: 64: void Spi_initial(void)
    87  0000' 1683               	bsf	3,5
    88  0001' 1303               	bcf	3,6	;carry unused
    89  0002' 1287               	bcf	7,5	;volatile
    90                           ;jieshou.c: 67: TRISC=TRISC&0xF7;
    91  0003' 1187               	bcf	7,3	;volatile
    92                           ;jieshou.c: 68: TRISC=TRISC|0x10;
    93  0004' 1607               	bsf	7,4	;volatile
    94                           ;jieshou.c: 69: INTCON=0x00;
    95  0005' 018B               	clrf	11	;volatile
    96                           ;jieshou.c: 70: PIR1=0x00;
    97  0006' 1283               	bcf	3,5
    98  0007' 018C               	clrf	12	;volatile
    99                           ;jieshou.c: 71: SSPCON=0x20;
   100  0008' 3020               	movlw	32
   101  0009' 0094               	movwf	20	;volatile
   102                           ;jieshou.c: 72: SSPSTAT=0xc0;
   103  000A' 30C0               	movlw	-64
   104  000B' 1683               	bsf	3,5
   105  000C' 0094               	movwf	20	;volatile
   106                           ;jieshou.c: 73: SSPIF=0;
   107  000D' 1283               	bcf	3,5
   108  000E' 118C               	bcf	12,3
   109                           ;jieshou.c: 74: }
   110  000F' 0008               	return	;W free
   111                           
   112                           	psect	text2
   113  0000'                    _SpiReadSpiWrite
   114                           ;	_DATA assigned to ?a_SpiReadSpiWrite+0
   115  0000                     _SpiReadSpiWrite$DATA	set	?a_SpiReadSpiWrite
   116                           ;	_b assigned to ?a_SpiReadSpiWrite+1
   117  0000                     _SpiReadSpiWrite$b	set	?a_SpiReadSpiWrite+1
   118                           ;_DATA stored from w
   119  0000' 0183               	clrf	3	;select bank 0
   120  0001' 0080'              	movwf	?a_SpiReadSpiWrite
   121                           ;jieshou.c: 76: unsigned char SpiReadSpiWrite(u
      +                          nsigned char DATA)
   122  0002' 2000'              	call	_Spi_initial
   123                           ;jieshou.c: 80: SSPBUF=DATA;
   124  0003' 0800'              	movf	?a_SpiReadSpiWrite,w
   125  0004' 0093               	movwf	19	;volatile
   126                           ;jieshou.c: 82: while(SSPIF==0);
   127  0005'                    l10
   128  0005' 1D8C               	btfss	12,3
   129  0006' 2800'              	goto	l10
   130                           ;jieshou.c: 83: SSPIF=0;
   131  0007' 118C               	bcf	12,3
   132                           ;jieshou.c: 84: b=SSPBUF;
   133  0008' 0813               	movf	19,w	;volatile
   134  0009' 0081'              	movwf	?a_SpiReadSpiWrite+1
   135                           ;jieshou.c: 86: }
   136  000A' 0008               	return	;uses W
   137                           
   138                           	psect	text3
   139  0000'                    _system_Init
   140                           ;jieshou.c: 88: void system_Init(void)
   141  0000' 1683               	bsf	3,5
   142  0001' 1303               	bcf	3,6	;carry unused
   143  0002' 0185               	clrf	5	;volatile
   144                           ;jieshou.c: 91: TRISB=0x0D;
   145  0003' 300D               	movlw	13
   146  0004' 0086               	movwf	6	;volatile
   147                           ;jieshou.c: 92: TRISC=0x90;
   148  0005' 3090               	movlw	-112
   149  0006' 0087               	movwf	7	;volatile
   150                           ;jieshou.c: 93: TRISD=0x00;
   151  0007' 0188               	clrf	8	;volatile
   152                           ;jieshou.c: 94: TRISE=0x00;
   153  0008' 0189               	clrf	9	;volatile
   154                           ;jieshou.c: 95: ADCON1=0x07;
   155  0009' 3007               	movlw	7
   156  000A' 009F               	movwf	31	;volatile
   157                           ;jieshou.c: 96: RC0=1;
   158  000B' 1283               	bcf	3,5
   159  000C' 1407               	bsf	7,0
   160                           ;jieshou.c: 97: RC3=0;
   161  000D' 1187               	bcf	7,3
   162                           ;jieshou.c: 98: RB0=0;
   163  000E' 1006               	bcf	6,0
   164                           ;jieshou.c: 99: RB3=0;
   165  000F' 1186               	bcf	6,3
   166                           ;jieshou.c: 100: RB2=0;
   167  0010' 1106               	bcf	6,2
   168                           ;jieshou.c: 101: RB1=1;
   169  0011' 1486               	bsf	6,1
   170                           ;jieshou.c: 102: RC2=0;
   171  0012' 1107               	bcf	7,2
   172                           ;jieshou.c: 103: RC1=0;
   173  0013' 1087               	bcf	7,1
   174                           ;jieshou.c: 104: }
   175  0014' 0008               	return	;W free
   176                           
   177                           	psect	text4
   178  0000'                    _Config905
   179                           ;	_i assigned to ?a_Config905+0
   180  0000                     _Config905$i	set	?a_Config905
   181                           ;jieshou.c: 106: void Config905(void)
   182  0000' 0183               	clrf	3	;select bank 0
   183  0001' 1007               	bcf	7,0
   184                           ;jieshou.c: 110: for (i=0;i<11;i++)
   185  0002' 0180'              	clrf	?a_Config905
   186  0003'                    l15
   187                           ;jieshou.c: 111: {
   188  0003' 0800'              	movf	?a_Config905,w
   189  0004' 3E00'              	addlw	_RFConf
   190  0005' 0084               	movwf	4
   191  0006' 1383               	bcf	3,7
   192  0007' 0800               	movf	0,w
   193  0008' 2000'              	call	_SpiReadSpiWrite
   194  0009' 0A80'              	incf	?a_Config905
   195  000A' 300B               	movlw	11
   196  000B' 0200'              	subwf	?a_Config905,w
   197  000C' 1C03               	btfss	3,0
   198  000D' 2800'              	goto	l15
   199                           ;jieshou.c: 113: }
   200  000E' 1407               	bsf	7,0
   201                           ;jieshou.c: 115: }
   202  000F' 0008               	return	;W free
   203                           
   204                           	psect	text5
   205  0000'                    _SetRxMode
   206                           ;jieshou.c: 117: void SetRxMode(void)
   207  0000' 0183               	clrf	3	;select bank 0
   208  0001' 1087               	bcf	7,1
   209                           ;jieshou.c: 120: Delay(1);
   210  0002' 3001               	movlw	1
   211  0003' 2000'              	call	_Delay
   212                           ;jieshou.c: 121: RC2=1;
   213  0004' 1507               	bsf	7,2
   214                           ;jieshou.c: 122: Delay(1);
   215  0005' 3001               	movlw	1
   216  0006' 2800'              	goto	_Delay
   217                           
   218                           	psect	text6
   219  0000'                    _RxPacket
   220                           ;	_i assigned to ?a_RxPacket+0
   221  0000                     _RxPacket$i	set	?a_RxPacket
   222                           ;jieshou.c: 125: void RxPacket(void)
   223  0000' 3001               	movlw	1
   224  0001' 2000'              	call	_Delay
   225                           ;jieshou.c: 129: RC2=0;
   226  0002' 1107               	bcf	7,2
   227                           ;jieshou.c: 130: RC0=0;
   228  0003' 1007               	bcf	7,0
   229                           ;jieshou.c: 131: Delay(1);
   230  0004' 3001               	movlw	1
   231  0005' 2000'              	call	_Delay
   232                           ;jieshou.c: 132: SpiReadSpiWrite(0x24);
   233  0006' 3024               	movlw	36
   234  0007' 2000'              	call	_SpiReadSpiWrite
   235                           ;jieshou.c: 133: for (i = 0 ;i < 32 ;i++)

⌨️ 快捷键说明

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