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

📄 step motor pic.lst

📁 自己编写的步进电机的控制源码
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V9.50PL2
                                                      Wed Aug 08 19:54:31 2007


     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	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	text2,local,class=CODE,delta=2
    12                           	psect	text5,local,class=CODE,delta=2
    13                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    14                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25                           
    26                           	psect	rdata_0
    27  002C                     _step
    28  002C                     	ds	1
    29  002D                     	ds	1
    30  002E                     	ds	1
    31  002F                     	ds	1
    32                           
    33                           	psect	idata_0
    34  07FC  340A               	retlw	10
    35  07FD  3406               	retlw	6
    36  07FE  3445               	retlw	69
    37  07FF  3409               	retlw	9
    38                           
    39                           	psect	intcode
    40  0011                     _clkint
    41  0011                     int_func
    42                           ;step motor PIC.c: 12: void interrupt clkint(vo
      +                          id)
    43  0011  3005               	movlw	5
    44  0012  0183               	clrf	3	;select bank 0
    45  0013  0081               	movwf	1	;volatile
    46                           ;step motor PIC.c: 15: T0IF = 0;
    47  0014  110B               	bcf	11,2
    48                           ;step motor PIC.c: 16: Flag_T0 = 1;
    49  0015  01A2               	clrf	_Flag_T0
    50  0016  0AA2               	incf	_Flag_T0
    51  0017  01A3               	clrf	_Flag_T0+1
    52                           ;step motor PIC.c: 17: if ( i++ > 499 )
    53  0018  0829               	movf	_i+1,w
    54  0019  00F1               	movwf	btemp+1
    55  001A  0828               	movf	_i,w
    56  001B  00F0               	movwf	btemp
    57  001C  0AA8               	incf	_i
    58  001D  1903               	btfsc	3,2
    59  001E  0AA9               	incf	_i+1
    60  001F  0871               	movf	btemp+1,w
    61  0020  3A80               	xorlw	128
    62  0021  00F2               	movwf	btemp+2
    63  0022  3081               	movlw	129
    64  0023  0272               	subwf	btemp+2,w
    65  0024  30F4               	movlw	244
    66                           ;set	bank bits for btemp
    67  0025  1903               	btfsc	3,2
    68  0026  0270               	subwf	btemp,w
    69  0027  1C03               	btfss	3,0
    70  0028  282E               	goto	l1
    71                           ;step motor PIC.c: 18: {
    72  0029  01A8               	clrf	_i
    73  002A  01A9               	clrf	_i+1
    74                           ;step motor PIC.c: 20: Flag_LED = 1;
    75  002B  01A0               	clrf	_Flag_LED
    76  002C  0AA0               	incf	_Flag_LED
    77  002D  01A1               	clrf	_Flag_LED+1
    78                           ;step motor PIC.c: 21: }
    79  002E                     l1
    80                           
    81                           	psect	intsave_0
    82  0073                     saved_w
    83  0073                     	ds	1
    84                           
    85                           	psect	intret
    86  0034  0833               	movf	saved_pclath,w
    87  0035  008A               	movwf	10
    88  0036                     int_restore
    89  0036  0832               	movf	saved_status,w
    90  0037  0083               	movwf	3
    91  0038  0EF3               	swapf	saved_w
    92  0039  0E73               	swapf	saved_w,w
    93  003A  0009               	retfie
    94                           
    95                           	psect	intentry
    96  0004                     int_entry
    97  0004  00F3               	movwf	saved_w
    98  0005  0803               	movf	3,w
    99  0006  0183               	clrf	3
   100  0007  00B2               	movwf	saved_status
   101  0008  080A               	movf	10,w
   102  0009  00B3               	movwf	saved_pclath
   103  000A  018A               	clrf	10
   104                           
   105                           	psect	intsave
   106  0032                     saved_status
   107  0032                     	ds	1
   108  0033                     saved_pclath
   109  0033                     	ds	1
   110                           
   111                           	psect	text2
   112  07B8                     _cw
   113                           ;step motor PIC.c: 48: void cw()
   114  07B8  0183               	clrf	3	;select bank 0
   115  07B9  08A6               	movf	_cw_n
   116  07BA  1903               	btfsc	3,2
   117  07BB  03A7               	decf	_cw_n+1
   118  07BC  03A6               	decf	_cw_n
   119                           ;step motor PIC.c: 53: j++;
   120  07BD  0AAA               	incf	_j
   121  07BE  1903               	btfsc	3,2
   122  07BF  0AAB               	incf	_j+1
   123                           ;step motor PIC.c: 55: }
   124  07C0  0008               	return	;W free
   125  07C1                     _energize
   126                           ;step motor PIC.c: 63: void energize()
   127  07C1  0183               	clrf	3	;select bank 0
   128  07C2  082A               	movf	_j,w
   129  07C3  3903               	andlw	3
   130  07C4  3E2C               	addlw	_step
   131  07C5  0084               	movwf	4
   132  07C6  1383               	bcf	3,7
   133  07C7  0800               	movf	0,w
   134  07C8  0085               	movwf	5	;volatile
   135                           ;step motor PIC.c: 66: }
   136  07C9  0008               	return	;W free
   137  07CA                     _intmain
   138                           ;step motor PIC.c: 30: void intmain()
   139  07CA  3001               	movlw	1
   140  07CB  1683               	bsf	3,5
   141  07CC  1303               	bcf	3,6	;carry unused
   142  07CD  0086               	movwf	6	;volatile
   143                           ;step motor PIC.c: 35: TRISA = 0x00;
   144  07CE  0185               	clrf	5	;volatile
   145                           ;step motor PIC.c: 36: PORTB=0;
   146  07CF  1283               	bcf	3,5
   147  07D0  0186               	clrf	6	;volatile
   148                           ;step motor PIC.c: 37: INTCON = 0xE0;
   149  07D1  30E0               	movlw	-32
   150  07D2  008B               	movwf	11	;volatile
   151                           ;step motor PIC.c: 38: OPTION = 0x02;
   152  07D3  3002               	movlw	2
   153  07D4  1683               	bsf	3,5
   154  07D5  0081               	movwf	1
   155                           ;step motor PIC.c: 39: TMR0 = 0x05;;
   156  07D6  3005               	movlw	5
   157  07D7  1283               	bcf	3,5
   158  07D8  0081               	movwf	1	;volatile
   159                           ;step motor PIC.c: 40: cw_n=2000;
   160  07D9  30D0               	movlw	208
   161  07DA  00A6               	movwf	_cw_n
   162  07DB  3007               	movlw	7
   163  07DC  00A7               	movwf	_cw_n+1
   164                           ;step motor PIC.c: 41: }
   165  07DD  0008               	return	;W free
   166  07DE                     _main
   167                           ;step motor PIC.c: 74: void main()
   168  07DE  27CA               	fcall	_intmain
   169  07DF                     l8
   170                           ;step motor PIC.c: 79: while (1)
   171                           ;step motor PIC.c: 80: {
   172  07DF  0821               	movf	_Flag_LED+1,w
   173  07E0  0420               	iorwf	_Flag_LED,w
   174  07E1  1903               	btfsc	3,2
   175  07E2  2FE7               	goto	l10
   176                           ;step motor PIC.c: 82: {
   177  07E3  01A0               	clrf	_Flag_LED
   178  07E4  01A1               	clrf	_Flag_LED+1
   179                           ;step motor PIC.c: 84: RB1 =!RB1;
   180  07E5  3002               	movlw	2
   181  07E6  0686               	xorwf	6
   182  07E7                     l10
   183                           ;step motor PIC.c: 85: }
   184  07E7  1C06               	btfss	6,0
   185  07E8  2FF2               	goto	l12
   186  07E9  2FF6               	goto	l11
   187                           ;step motor PIC.c: 91: {
   188  07EA                     l13
   189                           ;step motor PIC.c: 93: {
   190  07EA  0823               	movf	_Flag_T0+1,w
   191  07EB  0422               	iorwf	_Flag_T0,w
   192  07EC  1903               	btfsc	3,2
   193  07ED  2FF2               	goto	l12
   194                           ;step motor PIC.c: 97: {
   195  07EE  27C1               	fcall	_energize
   196                           ;step motor PIC.c: 99: cw();
   197  07EF  27B8               	fcall	_cw
   198                           ;step motor PIC.c: 102: Flag_T0 = 0;
   199  07F0  01A2               	clrf	_Flag_T0
   200  07F1  01A3               	clrf	_Flag_T0+1
   201  07F2                     l12
   202  07F2  0827               	movf	_cw_n+1,w
   203  07F3  0426               	iorwf	_cw_n,w
   204  07F4  1D03               	btfss	3,2
   205  07F5  2FEA               	goto	l13
   206  07F6                     l11
   207                           ;step motor PIC.c: 104: }
   208  07F6  30D0               	movlw	208
   209  07F7  00A6               	movwf	_cw_n
   210  07F8  3007               	movlw	7
   211  07F9  00A7               	movwf	_cw_n+1
   212                           ;step motor PIC.c: 108: PORTA=0x00;
   213  07FA  0185               	clrf	5	;volatile
   214  07FB  2FDF               	goto	l8
   215                           
   216                           	psect	text5
   217  0000                     
   218  0000                     
   219  0000                     
   220  0000                     
   221  0000                     
   222  0000                     
   223  0000                     
   224  0000                     
   225  0000                     
   226  0000                     
   227  0000                     
   228  0000                     
   229  0000                     
   230  0000                     
   231  0000                     
   232  0000                     
   233  0000                     
   234  0000                     
   235  0000                     
   236  0000                     
   237  0000                     
   238  0000                     
   239  0000                     
   240  0000                     
   241  0000                     
   242  0000                     
   243  0000                     
   244  0000                     
   245  0000                     
   246  0000                     
   247  0000                     
   248  0000                     
   249  0000                     
   250  0000                     
   251  0000                     
   252  0000                     
   253  0000                     
   254  0000                     
   255  0000                     
   256  0000                     
   257  0000                     

⌨️ 快捷键说明

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