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

📄 interrupt.lst

📁 L297,L298驱动步进电机程序
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V9.50PL2
                                                      Mon Oct 22 15:46:20 2007


     1                           	processor	16F873A
     2                           	opt	pw 79
     3                           	psect	text0,local,class=CODE,delta=2
     4                           	psect	text1,local,class=CODE,delta=2
     5                           	psect	intcode,global,class=CODE,delta=2
     6                           	psect	intsave_2,global,ovrld,class=BANK2,space
      +                          =1,delta=1
     7                           	psect	intsave_3,global,ovrld,class=BANK3,space
      +                          =1,delta=1
     8                           	psect	intsave_1,global,ovrld,class=BANK1,space
      +                          =1,delta=1
     9                           	psect	intsave_0,global,ovrld,class=BANK0,space
      +                          =1,delta=1
    10                           	psect	intret,global,class=CODE,delta=2
    11                           	psect	intentry,global,class=CODE,delta=2
    12                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    13                           	psect	text2,local,class=CODE,delta=2
    14                           	psect	text3,local,class=CODE,delta=2
    15                           	psect	rbit_0,global,bit,class=BANK0,space=1,de
      +                          lta=1
    16                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     
    26  0000                     
    27                           
    28                           	psect	text0
    29  07E5                     _init_timer
    30                           ;interrupt.c: 8: void init_timer(void)
    31  07E5  3003               	movlw	3
    32  07E6  1683               	bsf	3,5
    33  07E7  1303               	bcf	3,6	;carry unused
    34  07E8  0081               	movwf	1
    35                           ;interrupt.c: 12: T0IE=1;
    36  07E9  168B               	bsf	11,5
    37                           ;interrupt.c: 14: T1CON=1;
    38  07EA  3001               	movlw	1
    39  07EB  1283               	bcf	3,5
    40  07EC  0090               	movwf	16	;volatile
    41                           ;interrupt.c: 15: TMR1H=0xFE;
    42  07ED  30FE               	movlw	-2
    43  07EE  008F               	movwf	15	;volatile
    44                           ;interrupt.c: 16: TMR1L=0x0B;
    45  07EF  300B               	movlw	11
    46  07F0  008E               	movwf	14	;volatile
    47                           ;interrupt.c: 17: TMR1IE=1;
    48  07F1  1683               	bsf	3,5
    49  07F2  140C               	bsf	12,0
    50                           ;interrupt.c: 18: PEIE=1;
    51  07F3  170B               	bsf	11,6
    52                           ;interrupt.c: 20: TMR2ON=1;
    53  07F4  1283               	bcf	3,5
    54  07F5  1512               	bsf	18,2
    55                           ;interrupt.c: 21: T2CON=0x7f;
    56  07F6  307F               	movlw	127
    57  07F7  0092               	movwf	18	;volatile
    58                           ;interrupt.c: 22: TMR2IE=1;
    59  07F8  1683               	bsf	3,5
    60  07F9  148C               	bsf	12,1
    61                           ;interrupt.c: 23: PEIE=1;
    62  07FA  170B               	bsf	11,6
    63                           ;interrupt.c: 24: PR2=38;
    64  07FB  3026               	movlw	38
    65  07FC  0092               	movwf	18	;volatile
    66                           ;interrupt.c: 26: GIE=1;
    67  07FD  178B               	bsf	11,7
    68                           ;interrupt.c: 27: }
    69  07FE  1283               	bcf	3,5
    70  07FF  0008               	return	;W free
    71                           
    72                           	psect	intcode
    73  000B                     _ISR
    74  000B                     int_func
    75                           ;interrupt.c: 29: void interrupt ISR (void)
    76  000B  1D0B               	btfss	11,2
    77  000C  2825               	goto	l3
    78                           ;interrupt.c: 35: {
    79  000D  110B               	bcf	11,2
    80  000E  1283               	bcf	3,5
    81  000F  1303               	bcf	3,6	;carry unused
    82  0010  0181               	clrf	1	;volatile
    83                           ;interrupt.c: 37: if(RC1==0)
    84  0011  1887               	btfsc	7,1
    85  0012  281B               	goto	l4
    86                           ;interrupt.c: 38: {
    87  0013  0821               	movf	_k1_count,w
    88  0014  3A1E               	xorlw	30
    89  0015  1D03               	btfss	3,2
    90  0016  281A               	goto	l5
    91                           ;interrupt.c: 40: { k1_count=0; k1=1; }
    92  0017  01A1               	clrf	_k1_count
    93  0018  1420               	bsf	_k1/(0+8),_k1& (0+7)
    94  0019  281B               	goto	l4
    95  001A                     l5
    96                           ;interrupt.c: 41: else k1_count++;
    97  001A  0AA1               	incf	_k1_count
    98  001B                     l4
    99                           ;interrupt.c: 42: }
   100  001B  1987               	btfsc	7,3
   101  001C  2825               	goto	l3
   102                           ;interrupt.c: 45: {
   103  001D  0822               	movf	_k2_count,w
   104  001E  3A14               	xorlw	20
   105  001F  1D03               	btfss	3,2
   106  0020  2824               	goto	l8
   107                           ;interrupt.c: 47: { k2_count=0; k2=1; }
   108  0021  01A2               	clrf	_k2_count
   109  0022  14A0               	bsf	_k2/(0+8),_k2& (0+7)
   110  0023  2825               	goto	l3
   111  0024                     l8
   112                           ;interrupt.c: 48: else k2_count++;
   113  0024  0AA2               	incf	_k2_count
   114  0025                     l3
   115                           ;interrupt.c: 49: }
   116  0025  1683               	bsf	3,5
   117  0026  1303               	bcf	3,6	;carry unused
   118  0027  1C0C               	btfss	12,0
   119  0028  2863               	goto	l10
   120  0029  1283               	bcf	3,5
   121  002A  1C0C               	btfss	12,0
   122  002B  2863               	goto	l10
   123                           ;interrupt.c: 54: {
   124  002C  1283               	bcf	3,5
   125  002D  1303               	bcf	3,6	;carry unused
   126  002E  100C               	bcf	12,0
   127                           ;interrupt.c: 57: TMR1H=0XFE;
   128  002F  30FE               	movlw	-2
   129  0030  008F               	movwf	15	;volatile
   130                           ;interrupt.c: 58: TMR1L=0X0B;
   131  0031  300B               	movlw	11
   132  0032  008E               	movwf	14	;volatile
   133                           ;interrupt.c: 61: if(k1) {
   134  0033  1C20               	btfss	_k1/(0+8),_k1& (0+7)
   135  0034  284B               	goto	l11
   136                           ;interrupt.c: 62: RB3=!RB3;
   137  0035  3008               	movlw	8
   138  0036  0686               	xorwf	6
   139                           ;interrupt.c: 63: RB1=!RB1;
   140  0037  3002               	movlw	2
   141  0038  0686               	xorwf	6
   142                           ;interrupt.c: 64: RB4=1;
   143  0039  1606               	bsf	6,4
   144                           ;interrupt.c: 65: RB5=1;
   145  003A  1686               	bsf	6,5
   146                           ;interrupt.c: 66: if(mcount==800)
   147  003B  0828               	movf	_mcount+1,w
   148  003C  3A03               	xorlw	3
   149  003D  3020               	movlw	32
   150  003E  1903               	btfsc	3,2
   151  003F  0627               	xorwf	_mcount,w
   152  0040  1D03               	btfss	3,2
   153  0041  2848               	goto	l12
   154                           ;interrupt.c: 67: { RB4=0; mcount=0; k1=0; RB1=
      +                          1; }
   155  0042  1206               	bcf	6,4
   156  0043  01A7               	clrf	_mcount
   157  0044  01A8               	clrf	_mcount+1
   158  0045  1020               	bcf	_k1/(0+8),_k1& (0+7)
   159  0046  1486               	bsf	6,1
   160  0047  284B               	goto	l11
   161  0048                     l12
   162                           ;interrupt.c: 68: else mcount++;
   163  0048  0AA7               	incf	_mcount
   164  0049  1903               	btfsc	3,2
   165  004A  0AA8               	incf	_mcount+1
   166  004B                     l11
   167                           ;interrupt.c: 69: }
   168  004B  1CA0               	btfss	_k2/(0+8),_k2& (0+7)
   169  004C  2863               	goto	l10
   170                           ;interrupt.c: 72: RB3=!RB3;
   171  004D  3008               	movlw	8
   172  004E  0686               	xorwf	6
   173                           ;interrupt.c: 73: RB1=!RB1;
   174  004F  3002               	movlw	2
   175  0050  0686               	xorwf	6
   176                           ;interrupt.c: 74: RB4=1;
   177  0051  1606               	bsf	6,4
   178                           ;interrupt.c: 75: RB5=0;
   179  0052  1286               	bcf	6,5
   180                           ;interrupt.c: 76: if(mcount==800)
   181  0053  0828               	movf	_mcount+1,w
   182  0054  3A03               	xorlw	3
   183  0055  3020               	movlw	32
   184  0056  1903               	btfsc	3,2
   185  0057  0627               	xorwf	_mcount,w
   186  0058  1D03               	btfss	3,2
   187  0059  2860               	goto	l15
   188                           ;interrupt.c: 77: { RB4=0; mcount=0; k2=0; RB1=
      +                          1; }
   189  005A  1206               	bcf	6,4
   190  005B  01A7               	clrf	_mcount
   191  005C  01A8               	clrf	_mcount+1
   192  005D  10A0               	bcf	_k2/(0+8),_k2& (0+7)
   193  005E  1486               	bsf	6,1
   194  005F  2863               	goto	l10
   195  0060                     l15
   196                           ;interrupt.c: 78: else mcount++;
   197  0060  0AA7               	incf	_mcount
   198  0061  1903               	btfsc	3,2
   199  0062  0AA8               	incf	_mcount+1
   200  0063                     l10
   201                           ;interrupt.c: 79: }
   202  0063  1683               	bsf	3,5
   203  0064  1303               	bcf	3,6	;carry unused
   204  0065  1C8C               	btfss	12,1
   205  0066  287B               	goto	l2
   206  0067  1283               	bcf	3,5
   207  0068  1C8C               	btfss	12,1
   208  0069  287B               	goto	l2
   209                           ;interrupt.c: 87: {
   210  006A  1283               	bcf	3,5
   211  006B  1303               	bcf	3,6	;carry unused
   212  006C  108C               	bcf	12,1
   213                           ;interrupt.c: 89: TMR2=0;
   214  006D  0191               	clrf	17	;volatile
   215                           ;interrupt.c: 90: if(count1==100)
   216  006E  0825               	movf	_count1,w
   217  006F  3A64               	xorlw	100
   218  0070  0426               	iorwf	_count1+1,w
   219  0071  1D03               	btfss	3,2
   220  0072  2878               	goto	l18
   221                           ;interrupt.c: 91: {
   222  0073  3010               	movlw	16
   223  0074  0687               	xorwf	7
   224                           ;interrupt.c: 93: count1=0;
   225  0075  01A5               	clrf	_count1
   226  0076  01A6               	clrf	_count1+1
   227                           ;interrupt.c: 98: }
   228  0077  287B               	goto	l2
   229  0078                     l18
   230                           ;interrupt.c: 99: else count1++;
   231  0078  0AA5               	incf	_count1
   232  0079  1903               	btfsc	3,2
   233  007A  0AA6               	incf	_count1+1
   234                           ;interrupt.c: 101: }
   235  007B                     l2
   236  007B  1303               	bcf	3,6	;carry unused
   237  007C  1283               	bcf	3,5
   238                           
   239                           	psect	intsave_2
   240  0006                     	ds	1
   241                           
   242                           	psect	intsave_3
   243  0007                     	ds	1
   244                           
   245                           	psect	intsave_1
   246  00FF                     	ds	1
   247                           
   248                           	psect	intsave_0
   249  007F                     saved_w
   250  007F                     	ds	1
   251                           
   252                           	psect	intret
   253  007D  082C               	movf	saved_pclath,w
   254  007E  008A               	movwf	10
   255  007F                     int_restore
   256  007F  082B               	movf	saved_status,w
   257  0080  0083               	movwf	3
   258  0081  0EFF               	swapf	saved_w
   259  0082  0E7F               	swapf	saved_w,w
   260  0083  0009               	retfie
   261                           
   262                           	psect	intentry
   263  0004                     int_entry
   264  0004  00FF               	movwf	saved_w
   265  0005  0803               	movf	3,w
   266  0006  0183               	clrf	3
   267  0007  00AB               	movwf	saved_status
   268  0008  080A               	movf	10,w
   269  0009  00AC               	movwf	saved_pclath
   270  000A  018A               	clrf	10
   271                           
   272                           	psect	intsave
   273  002B                     saved_status
   274  002B                     	ds	1
   275  002C                     saved_pclath
   276  002C                     	ds	1
   277                           
   278                           	psect	text2
   279  07C3                     _inti_io
   280                           ;interrupt.c: 105: void inti_io(void)
   281  07C3  1683               	bsf	3,5
   282  07C4  1303               	bcf	3,6	;carry unused

⌨️ 快捷键说明

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