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

📄 vectors08.lis

📁 摩托罗拉单片机的定时器输入捕捉的原代码
💻 LIS
字号:
                        .module vectors08.c
                        .area text
                ;           temp -> 0,X
 0000           _isrTim1Ch0I::
 0000 8B                pshh
 0001 A7FF              ais #-1
 0003 95                tsx
 0004           ; /*-----------------------------------------------------*
 0004           ; *文件名:vectors08.c                                    *
 0004           ; *功  能:用于定义中断矢量表                             *
 0004           ; *-----------------------------------------------------*/
 0004           ; #include "GP32C.H"
 0004           ; #include "head.h"
 0004           ; /*isrTim1Ch0I:定时器1溢出处理程序---------------------*
 0004           ; *功  能:取反当前灯的状态                              *
 0004           ; *-----------------------------------------------------*/
 0004           ; #pragma interrupt_handler isrTim1Ch0I
 0004           ; void isrTim1Ch0I(void)
 0004           ; {
 0004           ;       unsigned char temp=Light_P;  
 0004 B600              lda 0
 0006 F7                sta ,X
 0007           ;       temp&=1<<Light_Pin;  //取得当前灯的状态
 0007 A402              and #2
 0009 F7                sta ,X
 000A           ;       if(temp!=0)          //原来指示灯"暗",则变"亮"
 000A 2708              beq L2
 000C           ;          Light_P&=0b11111110<<Light_Pin;   
 000C B600              lda 0
 000E A4FC              and #-4
 0010 B700              sta 0
 0012 2002              bra L3
 0014           L2:
 0014           ; 	else                 //原来指示灯"亮",则变"暗"
 0014           ; 	   Light_P|=1<<Light_Pin;
 0014 1200              bset #1,0
 0016           L3:
 0016           ; 	T1SC0&=~(1<<CH0FBit);	  //清除定时器溢出标志位
 0016 1F25              bclr #7,0x25
 0018           L1:
 0018 A701              ais #1
 001A                   .dbline 0 ; func end
 001A 8A                pulh
 001B 80                rti
 001C           _isrDummy::
 001C 8B                pshh
 001D           ; }
 001D           ; //未定义的中断处理函数,本函数不能删除
 001D           ; #pragma interrupt_handler isrDummy  
 001D           ; void isrDummy(void) 
 001D           ;  { 
 001D           L4:
 001D                   .dbline 0 ; func end
 001D 8A                pulh
 001E 80                rti
                        .area memory(abs)
                        .org 0xffdc
 FFDC           __vectab::
 FFDC 001C              .word _isrDummy
 FFDE 001C              .word _isrDummy
 FFE0 001C              .word _isrDummy
 FFE2 001C              .word _isrDummy
 FFE4 001C              .word _isrDummy
 FFE6 001C              .word _isrDummy
 FFE8 001C              .word _isrDummy
 FFEA 001C              .word _isrDummy
 FFEC 001C              .word _isrDummy
 FFEE 001C              .word _isrDummy
 FFF0 001C              .word _isrDummy
 FFF2 001C              .word _isrDummy
 FFF4 001C              .word _isrDummy
 FFF6 0000              .word _isrTim1Ch0I
 FFF8 001C              .word _isrDummy
 FFFA 001C              .word _isrDummy
 FFFC 001C              .word _isrDummy
                        .area lit

⌨️ 快捷键说明

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