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

📄 vectors08.lis

📁 摩托罗拉的脉冲信号输出的原代码
💻 LIS
字号:
                        .module vectors08.c
                        .area text
                ;       KB_valve -> 0,X
 0000           _isrKBI::
 0000 8B                pshh
 0001 B600              lda *__r0
 0003 87                psha
 0004 B600              lda *__r1
 0006 87                psha
 0007 B600              lda *__r2
 0009 87                psha
 000A B600              lda *__r3
 000C 87                psha
 000D B600              lda *__r4
 000F 87                psha
 0010 B600              lda *__r5
 0012 87                psha
 0013 B600              lda *__r6
 0015 87                psha
 0016 B600              lda *__r7
 0018 87                psha
 0019 B600              lda *__r8
 001B 87                psha
 001C B600              lda *__r9
 001E 87                psha
 001F B600              lda *__r10
 0021 87                psha
 0022 B600              lda *__r11
 0024 87                psha
 0025 B600              lda *__rhi
 0027 87                psha
 0028 B600              lda *__rlo
 002A 87                psha
 002B A7FF              ais #-1
 002D 95                tsx
 002E           ; /*-----------------------------------------------------*
 002E           ; *文件名:vectors08.c                                    *
 002E           ; *功  能:用于定义中断矢量表                             *
 002E           ; *-----------------------------------------------------*/
 002E           ; /*[头文件]*/
 002E           ; #include "GP32C.H"        
 002E           ; #include "KB.h"           
 002E           ; //#include "SCI.h"      
 002E           ; extern void PWMInit(unsigned int );     //PWM初始化  
 002E           ; unsigned int  Period; 
 002E           ; extern void Delay_ms(unsigned char i);
 002E           ; 
 002E           ; 
 002E           ;   
 002E           ; /*键盘中断处理函数------------------------------------*/
 002E           ; #pragma interrupt_handler isrKBI
 002E           ; void isrKBI(void) 
 002E           ; {
 002E           ;        unsigned char KB_valve;
 002E           ;        asm("SEI");                    //关总中断
 002E 9B                SEI
 002F           ;         KB_Init();
 002F CD0000            jsr _KB_Init
 0032           ;         INTKBSCR|= (1<<IntBit); //屏蔽键盘中断(IMASKK=1)
 0032 121A              bset #1,0x1a
 0034           ;        
 0034           ;         KB_valve=KB_Scan();     //扫描键值
 0034 CD0000            jsr _KB_Scan
 0037 95                tsx
 0038 B700              sta *__r1
 003A F7                sta ,X
 003B           ;       KB_valve=KB_Def(KB_valve);  //键值转化为定义值
 003B 87                psha
 003C CD0000            jsr _KB_Def
 003F A701              ais #1
 0041 95                tsx
 0042 B700              sta *__r1
 0044 F7                sta ,X
 0045           ;       if(KB_valve=='1')
 0045 A131              cmp #49
 0047 260A              bne L2
 0049           ;       { 
 0049           ;        PWMInit(Period);
 0049 5500              ldhx *_Period
 004B 89                pshx
 004C 8B                pshh
 004D CD0000            jsr _PWMInit
 0050 A702              ais #2
 0052 95                tsx
 0053           ;       // Delay_ms(200);
 0053           ;        }
 0053           L2:
 0053           ; 	  KB_Init();			     //重新初始化键盘
 0053 CD0000            jsr _KB_Init
 0056 95                tsx
 0057           ;         INTKBSCR&= ~(1<<IntBit); //打开键盘中断(IMASKK=0)
 0057 131A              bclr #1,0x1a
 0059           ;        asm("CLI");                         //开总中断
 0059 9A                CLI
 005A           L1:
 005A A701              ais #1
 005C                   .dbline 0 ; func end
 005C 86                pula
 005D B700              sta *__rlo
 005F 86                pula
 0060 B700              sta *__rhi
 0062 86                pula
 0063 B700              sta *__r11
 0065 86                pula
 0066 B700              sta *__r10
 0068 86                pula
 0069 B700              sta *__r9
 006B 86                pula
 006C B700              sta *__r8
 006E 86                pula
 006F B700              sta *__r7
 0071 86                pula
 0072 B700              sta *__r6
 0074 86                pula
 0075 B700              sta *__r5
 0077 86                pula
 0078 B700              sta *__r4
 007A 86                pula
 007B B700              sta *__r3
 007D 86                pula
 007E B700              sta *__r2
 0080 86                pula
 0081 B700              sta *__r1
 0083 86                pula
 0084 B700              sta *__r0
 0086 8A                pulh
 0087 80                rti
 0088           _isrDummy::
 0088 8B                pshh
 0089           ; }
 0089           ; //未定义的中断处理函数,本函数不能删除
 0089           ; #pragma interrupt_handler isrDummy  
 0089           ; void isrDummy(void) 
 0089           ;   {
 0089           L4:
 0089                   .dbline 0 ; func end
 0089 8A                pulh
 008A 80                rti
                        .area memory(abs)
                        .org 0xffdc
 FFDC           __vectab::
 FFDC 0088              .word _isrDummy
 FFDE 0088              .word _isrDummy
 FFE0 0000              .word _isrKBI
 FFE2 0088              .word _isrDummy
 FFE4 0088              .word _isrDummy
 FFE6 0088              .word _isrDummy
 FFE8 0088              .word _isrDummy
 FFEA 0088              .word _isrDummy
 FFEC 0088              .word _isrDummy
 FFEE 0088              .word _isrDummy
 FFF0 0088              .word _isrDummy
 FFF2 0088              .word _isrDummy
 FFF4 0088              .word _isrDummy
 FFF6 0088              .word _isrDummy
 FFF8 0088              .word _isrDummy
 FFFA 0088              .word _isrDummy
 FFFC 0088              .word _isrDummy
                        .area lit
                        .area bss
 0000           _Period::
 0000                   .blkb 2

⌨️ 快捷键说明

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