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

📄 1213.lst

📁 基于Microchip PIC16F676 单片机片上编程的超声波测距程序。
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL2
Serial number: HCPIC-00000                            Sat Sep 15 08:44:33 2007

Licensed to: MITSOS FOREVER
     1                           	processor	16F873A
     2                           	opt	pw 79
     3                           	psect	__Z00000RS_,global,delta=1
     4                           	psect	text1,local,class=CODE,delta=2
     5                           	psect	text3,local,class=CODE,delta=2
     6                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
     7                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
     8  0000                     
     9  0000                     
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18                           
    19                           	psect	__Z00000RS_
    20  00A0                     
    21  00A0                     
    22                           
    23                           	psect	text1
    24  06EC                     _delay
    25                           ;	_t assigned to ?a_delay+0
    26  0000                     _delay$t	set	?a_delay
    27                           ;1213.c: 36: unsigned int t;
    28  06EC  0183               	clrf	3	;select bank 0
    29  06ED  0825               	movf	?_delay+1,w
    30  06EE  0424               	iorwf	?_delay,w
    31  06EF  1903               	btfsc	3,2
    32  06F0  0008               	return
    33  06F1                     l3
    34                           ;1213.c: 38: for(t=110;t!=0;t--);
    35  06F1  306E               	movlw	110
    36  06F2  00A6               	movwf	?a_delay
    37  06F3  01A7               	clrf	?a_delay+1
    38  06F4                     l6
    39  06F4  08A6               	movf	?a_delay
    40  06F5  1903               	btfsc	3,2
    41  06F6  03A7               	decf	?a_delay+1
    42  06F7  03A6               	decf	?a_delay
    43  06F8  0827               	movf	?a_delay+1,w
    44  06F9  0426               	iorwf	?a_delay,w
    45  06FA  1D03               	btfss	3,2
    46  06FB  2EF4               	goto	l6
    47  06FC  08A4               	movf	?_delay
    48  06FD  1903               	btfsc	3,2
    49  06FE  03A5               	decf	?_delay+1
    50  06FF  03A4               	decf	?_delay
    51  0700  0825               	movf	?_delay+1,w
    52  0701  0424               	iorwf	?_delay,w
    53  0702  1903               	btfsc	3,2
    54  0703  0008               	return
    55  0704  2EF1               	goto	l3
    56  0705                     _ioint
    57                           ;1213.c: 19: OPTION = 0xc8;
    58  0705  30C8               	movlw	-56
    59  0706  1683               	bsf	3,5
    60  0707  1303               	bcf	3,6	;carry unused
    61  0708  0081               	movwf	1
    62                           ;1213.c: 20: INTCON = 0xc0;
    63  0709  30C0               	movlw	-64
    64  070A  008B               	movwf	11	;volatile
    65                           ;1213.c: 21: TRISC = 0x09;
    66  070B  3009               	movlw	9
    67  070C  0087               	movwf	7	;volatile
    68                           ;1213.c: 22: TRISB = 0xF0;
    69  070D  30F0               	movlw	-16
    70  070E  0086               	movwf	6	;volatile
    71                           ;1213.c: 23: PORTC = 0;
    72  070F  1283               	bcf	3,5
    73  0710  0187               	clrf	7	;volatile
    74                           ;1213.c: 28: }
    75  0711  0008               	return
    76                           ;1213.c: 45: main()
    77                           ;1213.c: 46: {
    78  0712                     _main
    79                           ;1213.c: 47: ioint();
    80  0712  2705               	fcall	_ioint
    81  0713                     l11
    82                           ;1213.c: 48: while(1)
    83                           ;1213.c: 49: {
    84  0713  01A1               	clrf	_x
    85                           ;1213.c: 51: RC4=0;
    86  0714  1207               	bcf	7,4
    87                           ;1213.c: 52: RC5=0;
    88  0715  1287               	bcf	7,5
    89                           ;1213.c: 53: RC6=0;
    90  0716  1307               	bcf	7,6
    91                           ;1213.c: 54: RC7=0;
    92  0717  1387               	bcf	7,7
    93                           ;1213.c: 55: delay(300);
    94  0718  302C               	movlw	44
    95  0719  00A4               	movwf	?_delay
    96  071A  3001               	movlw	1
    97  071B  00A5               	movwf	?_delay+1
    98  071C  26EC               	fcall	_delay
    99                           ;1213.c: 56: RC1=1;
   100  071D  1487               	bsf	7,1
   101                           ;1213.c: 57: RC2=0;
   102  071E  1107               	bcf	7,2
   103                           ;1213.c: 58: delay(3);
   104  071F  3003               	movlw	3
   105  0720  00A4               	movwf	?_delay
   106  0721  01A5               	clrf	?_delay+1
   107  0722  26EC               	fcall	_delay
   108  0723  300F               	movlw	15	;#
   109  0724  00A0               	movwf	_i	;将0x0f赋值给C中定义的变量i ;#
   110  0725                     delay1
   111  0725  1087               	bcf	7,1	;RC1=0 ;#
   112  0726  1507               	bsf	7,2	;RC2=1 ;#
   113  0727  0000               	nop	;#
   114  0728  0000               	nop	;#
   115  0729  0000               	nop	;#
   116  072A  0000               	nop	;#
   117  072B  0000               	nop	;#
   118  072C  0000               	nop	;#
   119  072D  0000               	nop	;#
   120  072E  0000               	nop	;#
   121  072F  0000               	nop	;#
   122  0730  0000               	nop	;#
   123  0731  1487               	bsf	7,1	;RC1=1 ;#
   124  0732  1107               	bcf	7,2	;RC2=0 ;#
   125  0733  0000               	nop	;#
   126  0734  0000               	nop	;#
   127  0735  0000               	nop	;#
   128  0736  0000               	nop	;#
   129  0737  0000               	nop	;#
   130  0738  0000               	nop	;#
   131  0739  0000               	nop	;#
   132  073A  0000               	nop	;#
   133  073B  0BA0               	decfsz	_i	;i-1=0则跳过下一条指令 ;#
   134  073C  2F25               	goto	delay1	;#
   135  073D  1087               	bcf	7,1	;RC1=0 ;#
   136  073E  1107               	bcf	7,2	;RC2=0 ;#
   137  073F  0000               	nop	;#
   138                           ;1213.c: 91:     while(RC3==1){;}
   139  0740                     l13
   140  0740  1D87               	btfss	7,3
   141  0741  2F48               	goto	l16
   142  0742  2F40               	goto	l13
   143                           ;1213.c: 92: while(RC3==0&&x<58)
   144  0743                     l17
   145                           ;1213.c: 93: {
   146  0743  3017               	movlw	23	;#
   147  0744  00A0               	movwf	_i	;将95赋值给C中定义的变量i ;#
   148  0745                     delay2
   149  0745  0BA0               	decfsz	_i	;i-1=0则跳过下一条指令 ;#
   150  0746  2F45               	goto	delay2	;#
   151                           ;1213.c: 100:     x=x+1;
   152  0747  0AA1               	incf	_x
   153  0748                     l16
   154                           ;1213.c: 101: }
   155  0748  1987               	btfsc	7,3
   156  0749  2F54               	goto	l19
   157  074A  303A               	movlw	58
   158  074B  0221               	subwf	_x,w
   159  074C  1C03               	btfss	3,0
   160  074D  2F43               	goto	l17
   161                           ;1213.c: 102: while(RC3==1&&x<58)
   162  074E  2F54               	goto	l19
   163  074F                     l20
   164                           ;1213.c: 103: {
   165  074F  3025               	movlw	37	;#
   166  0750  00A0               	movwf	_i	;将45赋值给C中定义的变量i ;#
   167  0751                     delay3
   168  0751  0BA0               	decfsz	_i	;i-1=0则跳过下一条指令 ;#
   169  0752  2F51               	goto	delay3	;#
   170                           ;1213.c: 110:     x=x+1;
   171  0753  0AA1               	incf	_x
   172  0754                     l19
   173                           ;1213.c: 111: }
   174  0754  1D87               	btfss	7,3
   175  0755  2F5A               	goto	l21
   176  0756  303A               	movlw	58
   177  0757  0221               	subwf	_x,w
   178  0758  1C03               	btfss	3,0
   179  0759  2F4F               	goto	l20
   180  075A                     l21
   181                           ;1213.c: 112: y=x*34/2;
   182  075A  3022               	movlw	34
   183  075B  00AA               	movwf	btemp+2
   184  075C  01AB               	clrf	btemp+3
   185  075D  0821               	movf	_x,w
   186  075E  00A8               	movwf	btemp
   187  075F  01A9               	clrf	btemp+1
   188  0760  118A  26D5         	fcall	awmul
   189  0762  082C               	movf	btemp+4,w
   190  0763  00A8               	movwf	btemp
   191  0764  082D               	movf	btemp+5,w
   192  0765  00A9               	movwf	btemp+1
   193  0766  3002               	movlw	2
   194  0767  00AA               	movwf	btemp+2
   195  0768  3000               	movlw	0
   196  0769  01AB               	clrf	btemp+3
   197  076A  118A  27AD  118A   	fcall	awdiv
   198  076D  082C               	movf	btemp+4,w
   199  076E  00A2               	movwf	_y
   200  076F  082D               	movf	btemp+5,w
   201  0770  00A3               	movwf	_y+1
   202                           ;1213.c: 113: if(y<=350)
   203  0771  3001               	movlw	1
   204  0772  0223               	subwf	_y+1,w
   205  0773  305F               	movlw	95
   206  0774  1903               	btfsc	3,2
   207  0775  0222               	subwf	_y,w
   208  0776  1803               	btfsc	3,0
   209  0777  2F7D               	goto	l22
   210                           ;1213.c: 114: {
   211  0778  1607               	bsf	7,4
   212                           ;1213.c: 116: delay(50);
   213  0779  3032               	movlw	50
   214  077A  00A4               	movwf	?_delay
   215  077B  01A5               	clrf	?_delay+1
   216  077C  26EC               	fcall	_delay
   217  077D                     l22
   218                           ;1213.c: 117: }
   219  077D  3001               	movlw	1
   220  077E  0223               	subwf	_y+1,w
   221  077F  305F               	movlw	95
   222  0780  1903               	btfsc	3,2
   223  0781  0222               	subwf	_y,w
   224  0782  3001               	movlw	1
   225  0783  1C03               	btfss	3,0
   226  0784  2F91               	goto	L2
   227  0785  0223               	subwf	_y+1,w
   228  0786  30F5               	movlw	245
   229  0787  1903               	btfsc	3,2
   230  0788  0222               	subwf	_y,w
   231  0789  1803               	btfsc	3,0
   232  078A  2F90               	goto	l23
   233                           ;1213.c: 119: {
   234  078B  1687               	bsf	7,5
   235                           ;1213.c: 121: delay(50);
   236  078C  3032               	movlw	50
   237  078D  00A4               	movwf	?_delay
   238  078E  01A5               	clrf	?_delay+1
   239  078F  26EC               	fcall	_delay
   240  0790                     l23
   241                           ;1213.c: 122: }
   242  0790  3001               	movlw	1
   243  0791                     L2
   244  0791  0223               	subwf	_y+1,w
   245  0792  30F5               	movlw	245
   246  0793  1903               	btfsc	3,2
   247  0794  0222               	subwf	_y,w
   248  0795  3002               	movlw	2
   249  0796  1C03               	btfss	3,0
   250  0797  2FA1               	goto	L3
   251  0798  0223               	subwf	_y+1,w
   252  0799  308B               	movlw	139
   253  079A  1903               	btfsc	3,2
   254  079B  0222               	subwf	_y,w
   255  079C  1803               	btfsc	3,0
   256  079D  2FA0               	goto	l24
   257                           ;1213.c: 124: {
   258  079E  1707               	bsf	7,6
   259  079F  2FA8               	goto	L1
   260                           ;1213.c: 126: delay(50);
   261                           ;1213.c: 127: }
   262  07A0                     l24
   263  07A0  3002               	movlw	2
   264  07A1                     L3
   265  07A1  0223               	subwf	_y+1,w
   266  07A2  308B               	movlw	139
   267  07A3  1903               	btfsc	3,2
   268  07A4  0222               	subwf	_y,w
   269  07A5  1C03               	btfss	3,0
   270  07A6  2F13               	goto	l11
   271                           ;1213.c: 129: {
   272  07A7  1787               	bsf	7,7
   273  07A8                     L1

⌨️ 快捷键说明

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