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

📄 1.lst

📁 PIC单片机的SPI读写源码及其在proteus下的仿真。
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-11111                            Wed Dec 14 15:43:50 2005

Licensed to: FREE USER
     1                           	processor	16F877
     2                           	opt	pw 79
     3                           	psect	__Z11111RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	text4,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	__Z11111RS_
    18  0190                     
    19  0190                     
    20                           
    21                           	psect	text0
    22  07BF                     _delay
    23                           ;	_a assigned to ?a_delay+0
    24  0000                     _delay$a	set	?a_delay
    25                           ;	_i assigned to ?a_delay+1
    26  0000                     _delay$i	set	?a_delay+1
    27                           ;	_j assigned to ?a_delay+2
    28  0000                     _delay$j	set	?a_delay+2
    29                           ;_a stored from w
    30  07BF  0183               	clrf	3	;select bank 0
    31  07C0  00A2               	movwf	?a_delay
    32                           ;1.c: 5: unsigned char i;
    33  07C1  01A3               	clrf	?a_delay+1
    34  07C2  2FD1               	goto	l5
    35  07C3                     l2
    36                           ;1.c: 8: {
    37                           ;1.c: 9: j=600;
    38  07C3  3058               	movlw	88
    39  07C4  00A4               	movwf	?a_delay+2
    40  07C5  3002               	movlw	2
    41  07C6  00A5               	movwf	?a_delay+3
    42                           ;1.c: 10: while(j--);
    43  07C7                     l6
    44  07C7  0824               	movf	?a_delay+2,w
    45  07C8  1903               	btfsc	3,2
    46  07C9  03A5               	decf	?a_delay+3
    47  07CA  03A4               	decf	?a_delay+2
    48  07CB  0A24               	incf	?a_delay+2,w
    49  07CC  1903               	btfsc	3,2
    50  07CD  0A25               	incf	?a_delay+3,w
    51  07CE  1D03               	btfss	3,2
    52  07CF  2FC7               	goto	l6
    53                           ;1.c: 11: }
    54  07D0  0AA3               	incf	?a_delay+1
    55  07D1                     l5
    56  07D1  0822               	movf	?a_delay,w
    57  07D2  0223               	subwf	?a_delay+1,w
    58  07D3  1803               	btfsc	3,0
    59  07D4  0008               	return
    60  07D5  2FC3               	goto	l2
    61                           ;1.c: 23: char spi_w(char data1)
    62                           ;1.c: 24: {
    63  07D6                     _spi_w
    64                           ;	_data1 assigned to ?a_spi_w+0
    65  0000                     _spi_w$data1	set	?a_spi_w
    66                           ;_data1 stored from w
    67  07D6  0183               	clrf	3	;select bank 0
    68  07D7  00A2               	movwf	?a_spi_w
    69                           ;1.c: 25: RC0=0;
    70  07D8  1007               	bcf	7,0
    71                           ;1.c: 26: SSPBUF=data1;
    72  07D9  0822               	movf	?a_spi_w,w
    73  07DA  0093               	movwf	19	;volatile
    74                           ;1.c: 27: while(!SSPIF);
    75  07DB                     l11
    76  07DB  1D8C               	btfss	12,3
    77  07DC  2FDB               	goto	l11
    78                           ;1.c: 28: SSPIF=0;
    79  07DD  118C               	bcf	12,3
    80                           ;1.c: 29: while(!STAT_BF);
    81  07DE                     l14
    82  07DE  1683               	bsf	3,5
    83  07DF  1C14               	btfss	20,0
    84  07E0  2FDE               	goto	l14
    85                           ;1.c: 30: STAT_BF=0;
    86  07E1  1014               	bcf	20,0
    87                           ;1.c: 31: RC0=1;
    88  07E2  1283               	bcf	3,5
    89  07E3  1407               	bsf	7,0
    90                           ;1.c: 32: return(SSPBUF);
    91  07E4  0813               	movf	19,w	;volatile
    92                           ;1.c: 33: }
    93  07E5  0008               	return
    94                           ;1.c: 14: void spi_init()
    95                           ;1.c: 15: {
    96  07E6                     _spi_init
    97                           ;1.c: 16: TRISA=TRISA&0xdf;
    98  07E6  1683               	bsf	3,5
    99  07E7  1303               	bcf	3,6	;carry unused
   100  07E8  1285               	bcf	5,5	;volatile
   101                           ;1.c: 17: TRISC=TRISC&0xd6;
   102  07E9  30D6               	movlw	-42
   103  07EA  0587               	andwf	7	;volatile
   104                           ;1.c: 18: SSPCON=0x20;
   105  07EB  3020               	movlw	32
   106  07EC  1283               	bcf	3,5
   107  07ED  0094               	movwf	20	;volatile
   108                           ;1.c: 19: SSPSTAT=0x80;
   109  07EE  3080               	movlw	-128
   110  07EF  1683               	bsf	3,5
   111  07F0  0094               	movwf	20	;volatile
   112                           ;1.c: 20: SSPIF=0;
   113  07F1  1283               	bcf	3,5
   114  07F2  118C               	bcf	12,3
   115                           ;1.c: 21: }
   116  07F3  0008               	return
   117                           ;1.c: 35: void main()
   118                           ;1.c: 36: {
   119  07F4                     _main
   120                           ;	_temp assigned to ?a_main+0
   121  0000                     _main$temp	set	?a_main
   122                           ;	_i assigned to ?a_main+1
   123  0000                     _main$i	set	?a_main+1
   124                           ;1.c: 37: char temp,i;
   125  07F4  1683               	bsf	3,5
   126  07F5  1303               	bcf	3,6	;carry unused
   127  07F6  0186               	clrf	6	;volatile
   128                           ;1.c: 39: spi_init();
   129  07F7  27E6               	fcall	_spi_init
   130  07F8                     l19
   131                           ;1.c: 40: while(1)
   132                           ;1.c: 41: {
   133  07F8  0821               	movf	?a_main+1,w
   134  07F9  27D6               	fcall	_spi_w
   135  07FA  00A0               	movwf	?a_main
   136                           ;1.c: 43: PORTB=temp;
   137  07FB  0086               	movwf	6	;volatile
   138                           ;1.c: 44: i++;
   139  07FC  0AA1               	incf	?a_main+1
   140                           ;1.c: 45: delay(200);
   141  07FD  30C8               	movlw	-56
   142  07FE  27BF               	fcall	_delay
   143                           ;1.c: 46: }
   144  07FF  2FF8               	goto	l19
   145                           
   146                           	psect	text4
   147  0000                     
   148  0000                     
   149  0000                     
   150  0000                     
   151  0000                     
   152  0000                     
   153  0000                     
   154  0000                     
   155  0000                     
   156  0000                     
   157  0000                     
   158  0000                     
   159  0000                     
   160  0000                     
   161  0000                     
   162  0000                     
   163  0000                     
   164  0000                     
   165  0000                     
   166  0000                     
   167  0000                     
   168  0000                     
   169  0000                     
   170  0000                     
   171  0000                     
   172  0000                     
   173  0000                     
   174  0000                     
   175  0000                     
   176  0000                     
   177  0000                     
   178  0000                     
   179  0000                     
   180  0000                     
   181  0000                     
   182  0000                     
   183  0000                     
   184  0000                     
   185  0000                     
   186  0000                     
   187  0000                     
   188  0000                     
   189  0000                     
   190  0000                     
   191  0000                     
   192  0000                     
   193  0000                     
   194  0000                     
   195  0000                     
   196  0000                     
   197  0000                     
   198  0000                     
   199  0000                     
   200  0000                     
   201  0000                     
   202  0000                     
   203  0000                     

⌨️ 快捷键说明

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