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

📄 untitled.lst

📁 PIC 单片机 单总线 与 防干扰温度传感器显示 PROTEUS 防真通过测试适合初学者
💻 LST
📖 第 1 页 / 共 3 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
                                                      Sun Jan  6 03:21:13 2002


     1                           	processor	16F877
     2                           	opt	pw 79
     3                           	psect	__Z49231UD_,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	text6,local,class=CODE,delta=2
     8                           	psect	rbit_0,global,bit,class=BANK0,space=1,de
      +                          lta=1
     9                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20                           
    21                           	psect	rdata_0
    22  002D                     _a
    23  002D                     	ds	1
    24  002E                     	ds	1
    25  002F                     	ds	1
    26  0030                     	ds	1
    27  0031                     	ds	1
    28  0032                     	ds	1
    29  0033                     	ds	1
    30  0034                     	ds	1
    31  0035                     	ds	1
    32  0036                     	ds	1
    33  0037                     _buffer
    34  0037                     	ds	2
    35  0039                     	ds	2
    36  003B                     	ds	2
    37  003D                     	ds	2
    38  003F                     	ds	2
    39                           
    40                           	psect	idata_0
    41  07EC  343F               	retlw	63
    42  07ED  3406               	retlw	6
    43  07EE  345B               	retlw	91
    44  07EF  344F               	retlw	79
    45  07F0  3466               	retlw	102
    46  07F1  346D               	retlw	109
    47  07F2  347D               	retlw	125
    48  07F3  3407               	retlw	7
    49  07F4  347F               	retlw	127
    50  07F5  346F               	retlw	111
    51  07F6  3400               	retlw	0
    52  07F7  3400               	retlw	0
    53  07F8  3400               	retlw	0
    54  07F9  3400               	retlw	0
    55  07FA  3400               	retlw	0
    56  07FB  3400               	retlw	0
    57  07FC  3400               	retlw	0
    58  07FD  3400               	retlw	0
    59  07FE  3400               	retlw	0
    60  07FF  3400               	retlw	0
    61                           
    62                           	psect	text0
    63  0651                     _delay_1us
    64                           ;Untitled.c: 15: asm("nop");
    65  0651  0000               	nop	;#
    66                           ;Untitled.c: 16: asm("nop");
    67  0652  0000               	nop	;#
    68                           ;Untitled.c: 18: }
    69  0653  0183               	clrf	3	;select bank 0
    70  0654  0008               	return
    71                           
    72                           	psect	text6
    73                           ;Untitled.c: 111: unsigned char write_byte(unsi
      +                          gned char dat)
    74                           ;Untitled.c: 112: {
    75  0655                     _write_byte
    76                           ;	_dat assigned to ?a_write_byte+0
    77  0000                     _write_byte$dat	set	?a_write_byte
    78                           ;	_i assigned to ?a_write_byte+1
    79  0000                     _write_byte$i	set	?a_write_byte+1
    80                           ;_dat stored from w
    81  0655  0183               	clrf	3	;select bank 0
    82  0656  00A7               	movwf	?a_write_byte
    83                           ;Untitled.c: 113: unsigned char i;
    84  0657  3008               	movlw	8
    85  0658  00A8               	movwf	?a_write_byte+1
    86  0659                     l29
    87                           ;Untitled.c: 116: {
    88                           ;Untitled.c: 117: if(!write_bit(dat&0x01))
    89  0659  0827               	movf	?a_write_byte,w
    90  065A  3901               	andlw	1
    91  065B  26FA               	fcall	_write_bit
    92  065C  1C03               	btfss	3,0
    93                           ;Untitled.c: 118: return 0;
    94  065D  3400               	retlw	0
    95                           ;Untitled.c: 119: dat>>=1;
    96  065E  1003               	bcf	3,0
    97  065F  0CA7               	rrf	?a_write_byte
    98                           ;Untitled.c: 120: }
    99  0660  0BA8               	decfsz	?a_write_byte+1
   100  0661  2E59               	goto	l29
   101                           ;Untitled.c: 121: return 1;
   102  0662  3401               	retlw	1
   103                           ;Untitled.c: 124: unsigned int read ()
   104                           ;Untitled.c: 125: {
   105  0663                     _read
   106                           ;	_temh assigned to ?a_read+0
   107  0000                     _read$temh	set	?a_read
   108                           ;	_teml assigned to ?a_read+1
   109  0000                     _read$teml	set	?a_read+1
   110                           ;	_value assigned to ?a_read+2
   111  0000                     _read$value	set	?a_read+2
   112                           ;Untitled.c: 126: unsigned char temh,teml;
   113  0663  3050               	movlw	80
   114  0664  0183               	clrf	3	;select bank 0
   115  0665  00A5               	movwf	?a_read+2
   116  0666  3005               	movlw	5
   117  0667  00A6               	movwf	?a_read+3
   118                           ;Untitled.c: 128: while(reset());
   119  0668                     l34
   120  0668  26B3  120A  118A   	fcall	_reset
   121  066B  1803               	btfsc	3,0
   122  066C  2E68               	goto	l34
   123                           ;Untitled.c: 129: write_byte(0XCC);
   124  066D  30CC               	movlw	-52
   125  066E  2655  120A  118A   	fcall	_write_byte
   126                           ;Untitled.c: 130: write_byte(0X44);
   127  0671  3044               	movlw	68
   128  0672  2655  120A  118A   	fcall	_write_byte
   129                           ;Untitled.c: 133: delay(20);
   130  0675  3014               	movlw	20
   131  0676  00AB               	movwf	?_delay
   132  0677  01AC               	clrf	?_delay+1
   133  0678  26A8               	fcall	_delay
   134                           ;Untitled.c: 134: while(reset());
   135  0679                     l37
   136  0679  26B3  120A  118A   	fcall	_reset
   137  067C  1803               	btfsc	3,0
   138  067D  2E79               	goto	l37
   139                           ;Untitled.c: 135: write_byte(0XCC);
   140  067E  30CC               	movlw	-52
   141  067F  2655  120A  118A   	fcall	_write_byte
   142                           ;Untitled.c: 136: write_byte(0XBE);
   143  0682  30BE               	movlw	-66
   144  0683  2655  120A  118A   	fcall	_write_byte
   145                           ;Untitled.c: 137: teml =read_byte();
   146  0686  2730               	fcall	_read_byte
   147  0687  00A4               	movwf	?a_read+1
   148                           ;Untitled.c: 138: temh=read_byte();
   149  0688  2730               	fcall	_read_byte
   150  0689  00A3               	movwf	?a_read
   151                           ;Untitled.c: 139: TRISA4=1;
   152  068A  1683               	bsf	3,5
   153  068B  1605               	bsf	5,4
   154                           ;Untitled.c: 140: value =teml>>4 ;
   155  068C  1283               	bcf	3,5
   156  068D  0E24               	swapf	?a_read+1,w
   157  068E  390F               	andlw	15
   158  068F  00A5               	movwf	?a_read+2
   159  0690  01A6               	clrf	?a_read+3
   160                           ;Untitled.c: 141: value += temh<<4;
   161  0691  0823               	movf	?a_read,w
   162  0692  00F0               	movwf	btemp
   163  0693  01F1               	clrf	btemp+1
   164  0694  0EF0               	swapf	btemp
   165  0695  0EF1               	swapf	btemp+1
   166  0696  30F0               	movlw	240
   167  0697  05F1               	andwf	btemp+1
   168  0698  0870               	movf	btemp,w
   169  0699  390F               	andlw	15
   170  069A  04F1               	iorwf	btemp+1
   171  069B  30F0               	movlw	240
   172  069C  05F0               	andwf	btemp
   173  069D  0870               	movf	btemp,w
   174  069E  07A5               	addwf	?a_read+2
   175  069F  1803               	btfsc	3,0
   176  06A0  0AA6               	incf	?a_read+3
   177  06A1  0871               	movf	btemp+1,w
   178  06A2  07A6               	addwf	?a_read+3
   179                           ;Untitled.c: 144: return(value);
   180  06A3  0826               	movf	?a_read+3,w
   181  06A4  00F1               	movwf	btemp+1
   182  06A5  0825               	movf	?a_read+2,w
   183  06A6  00F0               	movwf	btemp
   184                           ;Untitled.c: 147: }
   185  06A7  0008               	return
   186  06A8                     _delay
   187                           ;Untitled.c: 22: while(n--);
   188  06A8                     l3
   189  06A8  0183               	clrf	3	;select bank 0
   190  06A9  082B               	movf	?_delay,w
   191  06AA  1903               	btfsc	3,2
   192  06AB  03AC               	decf	?_delay+1
   193  06AC  03AB               	decf	?_delay
   194  06AD  0A2B               	incf	?_delay,w
   195  06AE  1903               	btfsc	3,2
   196  06AF  0A2C               	incf	?_delay+1,w
   197  06B0  1903               	btfsc	3,2
   198  06B1  0008               	return
   199  06B2  2EA8               	goto	l3
   200                           ;Untitled.c: 26: bit reset()
   201                           ;Untitled.c: 27: { unsigned char i;
   202  06B3                     _reset
   203                           ;	_i assigned to ?a_reset+0
   204  0000                     _reset$i	set	?a_reset
   205                           ;Untitled.c: 28: static bit presence;
   206  06B3  1683               	bsf	3,5
   207  06B4  1303               	bcf	3,6
   208  06B5  1605               	bsf	5,4
   209                           ;Untitled.c: 30: TRISA4=0;
   210  06B6  1205               	bcf	5,4
   211                           ;Untitled.c: 31: RA4=0;
   212  06B7  1283               	bcf	3,5
   213  06B8  1205               	bcf	5,4
   214                           ;Untitled.c: 32: delay(42);
   215  06B9  302A               	movlw	42
   216  06BA  00AB               	movwf	?_delay
   217  06BB  01AC               	clrf	?_delay+1
   218  06BC  26A8               	fcall	_delay
   219                           ;Untitled.c: 33: TRISA4 = 1;
   220  06BD  1683               	bsf	3,5
   221  06BE  1605               	bsf	5,4
   222                           ;Untitled.c: 37: delay(2);
   223  06BF  3002               	movlw	2
   224  06C0  1283               	bcf	3,5
   225  06C1  00AB               	movwf	?_delay
   226  06C2  01AC               	clrf	?_delay+1
   227  06C3  26A8               	fcall	_delay
   228                           ;Untitled.c: 38: if(!RA4);
   229                           ;Untitled.c: 39: i=1;
   230  06C4  01A7               	clrf	?a_reset
   231  06C5  0AA7               	incf	?a_reset
   232                           ;Untitled.c: 40: delay(2) ;
   233  06C6  3002               	movlw	2
   234  06C7  00AB               	movwf	?_delay
   235  06C8  01AC               	clrf	?_delay+1
   236  06C9  26A8               	fcall	_delay
   237                           ;Untitled.c: 41: presence=RA4;
   238  06CA  1020               	bcf	F473/(0+8),F473& (0+7)
   239  06CB  1A05               	btfsc	5,4
   240  06CC  1420               	bsf	F473/(0+8),F473& (0+7)
   241                           ;Untitled.c: 42: delay(30);
   242  06CD  301E               	movlw	30
   243  06CE  1283               	bcf	3,5
   244  06CF  1303               	bcf	3,6
   245  06D0  00AB               	movwf	?_delay
   246  06D1  01AC               	clrf	?_delay+1
   247  06D2  26A8               	fcall	_delay
   248                           ;Untitled.c: 43: if(i||presence)
   249                           ;Untitled.c: 44: return (0);
   250  06D3  1003               	bcf	3,0
   251  06D4  0008               	return
   252                           ;Untitled.c: 50: bit read_bit()
   253                           ;Untitled.c: 51: {
   254  06D5                     _read_bit
   255                           ;	_sampling assigned to ?a_read_bit+0
   256  0000                     _read_bit$sampling	set	?a_read_bit
   257                           ;Untitled.c: 52: unsigned char sampling=2;
   258  06D5  3002               	movlw	2
   259  06D6  0183               	clrf	3	;select bank 0
   260  06D7  00A9               	movwf	?a_read_bit
   261                           ;Untitled.c: 53: TRISA4=0;
   262  06D8  1683               	bsf	3,5
   263  06D9  1205               	bcf	5,4
   264                           ;Untitled.c: 54: while(--sampling);
   265  06DA                     l10
   266  06DA  1283               	bcf	3,5
   267  06DB  0BA9               	decfsz	?a_read_bit
   268  06DC  2EDA               	goto	l10
   269                           ;Untitled.c: 56: TRISA4=1;
   270  06DD  1683               	bsf	3,5
   271  06DE  1605               	bsf	5,4
   272                           ;Untitled.c: 57: sampling=0;

⌨️ 快捷键说明

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