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

📄 485-2.lst

📁 PIC16F877c语言实现485收发一个字节的数据
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-79926                            Tue Apr 28 09:34:00 2009

Licensed to: ONE
     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z79926RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	text3,local,class=CODE,delta=2
     6                           	psect	intcode,global,class=CODE,delta=2
     7                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
     8                           	psect	intret,global,class=CODE,delta=2
     9                           	psect	intentry,global,class=CODE,delta=2
    10                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    11                           	psect	text4,local,class=CODE,delta=2
    12                           	psect	text6,local,class=CODE,delta=2
    13                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24                           
    25                           	psect	__Z79926RS_
    26  0190                     
    27  0190                     
    28                           
    29                           	psect	text0
    30  074F                     _send_serial
    31                           ;	_count assigned to ?a_send_serial+0
    32  0000                     _send_serial$count	set	?a_send_serial
    33                           ;_count stored from w
    34  074F  0183               	clrf	3	;select bank 0
    35  0750  00A3               	movwf	?a_send_serial
    36                           ;485-2.c: 14: TXEN=1;
    37  0751  1683               	bsf	3,5
    38  0752  1698               	bsf	24,5
    39                           ;485-2.c: 15: TXREG=count;
    40  0753  1283               	bcf	3,5
    41  0754  0823               	movf	?a_send_serial,w
    42  0755  0099               	movwf	25	;volatile
    43  0756                     l3
    44                           ;485-2.c: 16: while(1)
    45                           ;485-2.c: 17: {
    46  0756  1683               	bsf	3,5
    47  0757  1C98               	btfss	24,1
    48  0758  2F56               	goto	l3
    49                           ;485-2.c: 20: TXEN=0;
    50  0759  1298               	bcf	24,5
    51                           ;485-2.c: 22: }
    52  075A  1283               	bcf	3,5
    53  075B  0008               	return
    54                           ;485-2.c: 34: void sciinitial()
    55                           ;485-2.c: 35: {
    56  075C                     _sciinitial
    57                           ;485-2.c: 36: TXSTA=0x04;
    58  075C  3004               	movlw	4
    59  075D  1683               	bsf	3,5
    60  075E  1303               	bcf	3,6	;carry unused
    61  075F  0098               	movwf	24	;volatile
    62                           ;485-2.c: 37: RCSTA=0x80;
    63  0760  3080               	movlw	-128
    64  0761  1283               	bcf	3,5
    65  0762  0098               	movwf	24	;volatile
    66                           ;485-2.c: 38: TRISC=0x80;
    67  0763  1683               	bsf	3,5
    68  0764  0087               	movwf	7	;volatile
    69                           ;485-2.c: 39: SPBRG=0x33;
    70  0765  3033               	movlw	51
    71  0766  0099               	movwf	25	;volatile
    72                           ;485-2.c: 40: PIR1=0x00;
    73  0767  1283               	bcf	3,5
    74  0768  018C               	clrf	12	;volatile
    75                           ;485-2.c: 41: PIE1=PIE1|0x20;
    76  0769  1683               	bsf	3,5
    77  076A  168C               	bsf	12,5	;volatile
    78                           ;485-2.c: 42: CREN=1;
    79  076B  1283               	bcf	3,5
    80  076C  1618               	bsf	24,4
    81                           ;485-2.c: 43: TXEN=1;
    82  076D  1683               	bsf	3,5
    83  076E  1698               	bsf	24,5
    84                           ;485-2.c: 44: }
    85  076F  1283               	bcf	3,5
    86  0770  0008               	return
    87                           ;485-2.c: 25: void initial()
    88                           ;485-2.c: 26: {
    89  0771                     _initial
    90                           ;485-2.c: 27: INTCON=0x00;
    91  0771  018B               	clrf	11	;volatile
    92                           ;485-2.c: 28: ADCON1=0x07;
    93  0772  3007               	movlw	7
    94  0773  1683               	bsf	3,5
    95  0774  1303               	bcf	3,6	;carry unused
    96  0775  009F               	movwf	31	;volatile
    97                           ;485-2.c: 29: PIE1=0;
    98  0776  018C               	clrf	12	;volatile
    99                           ;485-2.c: 30: PIE2=0;
   100  0777  018D               	clrf	13	;volatile
   101                           ;485-2.c: 31: }
   102  0778  1283               	bcf	3,5
   103  0779  0008               	return
   104                           ;485-2.c: 83: main()
   105                           ;485-2.c: 84: {
   106  077A                     _main
   107                           ;485-2.c: 85: initial();
   108  077A  2771               	fcall	_initial
   109                           ;485-2.c: 86: sciinitial();
   110  077B  275C               	fcall	_sciinitial
   111                           ;485-2.c: 87: TRISD2=0;
   112  077C  1683               	bsf	3,5
   113  077D  1108               	bcf	8,2
   114                           ;485-2.c: 90: RD2=0;
   115  077E  1283               	bcf	3,5
   116  077F  1108               	bcf	8,2
   117                           ;485-2.c: 91: flag=0;
   118  0780  01A0               	clrf	_flag
   119                           ;485-2.c: 92: INTCON=INTCON|0xc0;
   120  0781  30C0               	movlw	-64
   121  0782  048B               	iorwf	11	;volatile
   122  0783                     l19
   123                           ;485-2.c: 93: while(1)
   124                           ;485-2.c: 94: {
   125  0783  0B20               	decfsz	_flag,w
   126  0784  2F83               	goto	l19
   127                           ;485-2.c: 96: {
   128  0785  01A0               	clrf	_flag
   129                           ;485-2.c: 100: RD2=1;
   130  0786  1508               	bsf	8,2
   131                           ;485-2.c: 101: send_serial(recdata);
   132  0787  0822               	movf	_recdata,w
   133  0788  274F               	fcall	_send_serial
   134                           ;485-2.c: 102: for(i=0;i<50;i++);
   135  0789  01A1               	clrf	_i
   136  078A                     l25
   137  078A  3032               	movlw	50
   138  078B  0221               	subwf	_i,w
   139  078C  1803               	btfsc	3,0
   140  078D  2F90               	goto	l23
   141  078E  0AA1               	incf	_i
   142  078F  2F8A               	goto	l25
   143  0790                     l23
   144                           ;485-2.c: 105: RD2=0;
   145  0790  1108               	bcf	8,2
   146                           ;485-2.c: 106: }
   147  0791  2F83               	goto	l19
   148                           
   149                           	psect	intcode
   150                           ;485-2.c: 46: void interrupt LOW_ISR()
   151                           ;485-2.c: 47: {
   152  000B                     _LOW_ISR
   153  000B                     int_func
   154                           ;485-2.c: 48: if(RCIF==1)
   155  000B  0183               	clrf	3	;select bank 0
   156  000C  1E8C               	btfss	12,5
   157  000D  2813               	goto	l8
   158                           ;485-2.c: 49: {
   159  000E  128C               	bcf	12,5
   160                           ;485-2.c: 51: recdata=RCREG;
   161  000F  081A               	movf	26,w	;volatile
   162  0010  00A2               	movwf	_recdata
   163                           ;485-2.c: 54: flag=1;
   164  0011  01A0               	clrf	_flag
   165  0012  0AA0               	incf	_flag
   166                           ;485-2.c: 56: }
   167  0013                     l8
   168                           
   169                           	psect	intsave_0
   170  0070                     saved_w
   171  0070                     	ds	1
   172                           
   173                           	psect	intret
   174  0013  0826               	movf	saved_pclath,w
   175  0014  008A               	movwf	10
   176  0015                     int_restore
   177  0015  0825               	movf	saved_status,w
   178  0016  0083               	movwf	3
   179  0017  0EF0               	swapf	saved_w
   180  0018  0E70               	swapf	saved_w,w
   181  0019  0009               	retfie
   182                           
   183                           	psect	intentry
   184  0004                     int_entry
   185  0004  00F0               	movwf	saved_w
   186  0005  0803               	movf	3,w
   187  0006  0183               	clrf	3
   188  0007  00A5               	movwf	saved_status
   189  0008  080A               	movf	10,w
   190  0009  00A6               	movwf	saved_pclath
   191  000A  018A               	clrf	10
   192                           ;485-2.c: 60: void Delay1Ms_2(unsigned int t)
   193                           ;485-2.c: 61: {
   194                           ;       param _t assigned to ?_Delay1Ms_2+0
   195  0000                     _Delay1Ms_2$t	set	?_Delay1Ms_2
   196                           
   197                           	psect	intsave
   198  0025                     saved_status
   199  0025                     	ds	1
   200  0026                     saved_pclath
   201  0026                     	ds	1
   202                           
   203                           	psect	text4
   204  0792                     _Delay1Ms_2
   205                           ;	_i assigned to ?a_Delay1Ms_2+0
   206  0000                     _Delay1Ms_2$i	set	?a_Delay1Ms_2
   207                           ;485-2.c: 62: unsigned char i;
   208  0792  0183               	clrf	3	;select bank 0
   209  0793  0824               	movf	?_Delay1Ms_2+1,w
   210  0794  0423               	iorwf	?_Delay1Ms_2,w
   211  0795  1903               	btfsc	3,2
   212  0796  0008               	return
   213  0797                     l11
   214                           ;485-2.c: 64: {
   215                           ;485-2.c: 65: for (i=0;i<10;i++)
   216  0797  01A3               	clrf	?a_Delay1Ms_2
   217  0798                     l14
   218                           ;485-2.c: 66: {
   219                           ;485-2.c: 67: asm("nop");asm("nop");asm("nop");
      +                          asm("nop");asm("nop");asm("nop");asm("nop");asm
      +                          ("nop");asm("nop");asm("nop");
   220  0798  0000               	nop	;#
   221  0799  0000               	nop	;#
   222  079A  0000               	nop	;#
   223  079B  0000               	nop	;#
   224  079C  0000               	nop	;#
   225  079D  0000               	nop	;#
   226  079E  0000               	nop	;#
   227  079F  0000               	nop	;#
   228  07A0  0000               	nop	;#
   229  07A1  0000               	nop	;#
   230                           ;485-2.c: 68: asm("nop");asm("nop");asm("nop");
      +                          asm("nop");asm("nop");asm("nop");asm("nop");asm
      +                          ("nop");asm("nop");asm("nop");
   231  07A2  0000               	nop	;#
   232  07A3  0000               	nop	;#
   233  07A4  0000               	nop	;#
   234  07A5  0000               	nop	;#
   235  07A6  0000               	nop	;#
   236  07A7  0000               	nop	;#
   237  07A8  0000               	nop	;#
   238  07A9  0000               	nop	;#
   239  07AA  0000               	nop	;#
   240  07AB  0000               	nop	;#
   241                           ;485-2.c: 69: asm("nop");asm("nop");asm("nop");
      +                          asm("nop");asm("nop");asm("nop");asm("nop");asm
      +                          ("nop");asm("nop");asm("nop");
   242  07AC  0000               	nop	;#
   243  07AD  0000               	nop	;#
   244  07AE  0000               	nop	;#
   245  07AF  0000               	nop	;#
   246  07B0  0000               	nop	;#
   247  07B1  0000               	nop	;#
   248  07B2  0000               	nop	;#
   249  07B3  0000               	nop	;#
   250  07B4  0000               	nop	;#
   251  07B5  0000               	nop	;#
   252                           ;485-2.c: 70: asm("nop");asm("nop");asm("nop");
      +                          asm("nop");asm("nop");asm("nop");asm("nop");asm
      +                          ("nop");asm("nop");asm("nop");
   253  07B6  0000               	nop	;#
   254  07B7  0000               	nop	;#
   255  07B8  0000               	nop	;#
   256  07B9  0000               	nop	;#
   257  07BA  0000               	nop	;#
   258  07BB  0000               	nop	;#
   259  07BC  0000               	nop	;#
   260  07BD  0000               	nop	;#
   261  07BE  0000               	nop	;#
   262  07BF  0000               	nop	;#
   263                           ;485-2.c: 71: asm("nop");asm("nop");asm("nop");
      +                          asm("nop");asm("nop");asm("nop");asm("nop");asm
      +                          ("nop");asm("nop");asm("nop");
   264  07C0  0000               	nop	;#
   265  07C1  0000               	nop	;#
   266  07C2  0000               	nop	;#
   267  07C3  0000               	nop	;#
   268  07C4  0000               	nop	;#
   269  07C5  0000               	nop	;#
   270  07C6  0000               	nop	;#
   271  07C7  0000               	nop	;#
   272  07C8  0000               	nop	;#
   273  07C9  0000               	nop	;#
   274                           ;485-2.c: 72: asm("nop");asm("nop");asm("nop");
      +                          asm("nop");asm("nop");asm("nop");asm("nop");asm
      +                          ("nop");asm("nop");asm("nop");
   275  07CA  0000               	nop	;#
   276  07CB  0000               	nop	;#
   277  07CC  0000               	nop	;#
   278  07CD  0000               	nop	;#
   279  07CE  0000               	nop	;#
   280  07CF  0000               	nop	;#
   281  07D0  0000               	nop	;#
   282  07D1  0000               	nop	;#
   283  07D2  0000               	nop	;#
   284  07D3  0000               	nop	;#
   285                           ;485-2.c: 73: asm("nop");asm("nop");asm("nop");
      +                          asm("nop");asm("nop");asm("nop");asm("nop");asm
      +                          ("nop");asm("nop");asm("nop");
   286  07D4  0000               	nop	;#
   287  07D5  0000               	nop	;#
   288  07D6  0000               	nop	;#
   289  07D7  0000               	nop	;#
   290  07D8  0000               	nop	;#
   291  07D9  0000               	nop	;#
   292  07DA  0000               	nop	;#
   293  07DB  0000               	nop	;#
   294  07DC  0000               	nop	;#
   295  07DD  0000               	nop	;#
   296                           ;485-2.c: 74: asm("nop");asm("nop");asm("nop");
      +                          asm("nop");asm("nop");asm("nop");asm("nop");asm
      +                          ("nop");asm("nop");asm("nop");
   297  07DE  0000               	nop	;#
   298  07DF  0000               	nop	;#
   299  07E0  0000               	nop	;#
   300  07E1  0000               	nop	;#
   301  07E2  0000               	nop	;#
   302  07E3  0000               	nop	;#
   303  07E4  0000               	nop	;#
   304  07E5  0000               	nop	;#
   305  07E6  0000               	nop	;#
   306  07E7  0000               	nop	;#

⌨️ 快捷键说明

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