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

📄 vectors08.s

📁 飞思卡尔的电子钟和电子琴的课程设计,包括源代码
💻 S
字号:
	.module vectors08.c
	.area text
_isrDummy::
	pshh
L1:
	.dbline 0 ; func end
	pulh
	rti
_isrTIMER1::
	pshh
	lda *__r0
	psha
	lda *__r1
	psha
	lda *__r2
	psha
	lda *__r3
	psha
	lda *__r4
	psha
	lda *__r5
	psha
	lda *__r6
	psha
	lda *__r7
	psha
	lda *__r8
	psha
	lda *__r9
	psha
	lda *__r10
	psha
	lda *__r11
	psha
	lda *__rhi
	psha
	lda *__rlo
	psha
; /*-----------------------------------------------------*
; *文件名:vectors08.c                                    *
; *功  能:用于定义中断矢量表                             *
; *-----------------------------------------------------*/
; //[头文件]
; #include "GP32C.H" 
; #include "clock.h"             
; extern unsigned char out;
; 
; //未定义的中断处理函数,本函数不能删除  
; #pragma interrupt_handler isrDummy  
; void isrDummy(void){
; }
;   
; #pragma interrupt_handler isrTIMER1
; void isrTIMER1(void){
;    asm("SEI");            //关总中断
	SEI
;    T1SC&=~(1<<TOFBit);	//重新开始计数	
	bclr #7,0x20
;    addtime();			//日期,时间累加
	jsr _addtime
;    displaytime(); 		//显示时间
	jsr _displaytime
	tsx
;    asm("CLI");            //开总中断
	CLI
L2:
	.dbline 0 ; func end
	pula
	sta *__rlo
	pula
	sta *__rhi
	pula
	sta *__r11
	pula
	sta *__r10
	pula
	sta *__r9
	pula
	sta *__r8
	pula
	sta *__r7
	pula
	sta *__r6
	pula
	sta *__r5
	pula
	sta *__r4
	pula
	sta *__r3
	pula
	sta *__r2
	pula
	sta *__r1
	pula
	sta *__r0
	pulh
	rti
_isrTIMER2::
; }
; 
; #pragma interrupt_handler isrTIMER1
; void isrTIMER2(void){
;    out=~out;		//输出取反
	com *_out
;    PTD=out;			//输出
	mov *_out,0x3
L3:
	.dbline 0 ; func end
	rts
;       KB_valve -> 0,X
_isrKBI::
	pshh
	lda *__r0
	psha
	lda *__r1
	psha
	lda *__r2
	psha
	lda *__r3
	psha
	lda *__r4
	psha
	lda *__r5
	psha
	lda *__r6
	psha
	lda *__r7
	psha
	lda *__r8
	psha
	lda *__r9
	psha
	lda *__r10
	psha
	lda *__r11
	psha
	lda *__rhi
	psha
	lda *__rlo
	psha
	ais #-1
	tsx
; }
; /*键盘中断处理函数------------------------------------*/
; #pragma interrupt_handler isrKBI
; void isrKBI(void){
; 	  unsigned char KB_valve;
; 	  asm("SEI");
	SEI
; 	  INTKBSCR|= (1<<IntBit); //屏蔽键盘中断(IMASKK=1)
	bset #1,0x1a
; 	  KB_valve=KB_Scan();     //扫描键值
	jsr _KB_Scan
	tsx
	sta *__r1
	sta ,X
;       KB_valve=KB_Def(KB_valve);  //键值转化为定义值
	psha
	jsr _KB_Def
	ais #1
	tsx
	sta *__r1
	sta ,X
;       set(KB_valve);
	psha
	jsr _set
	ais #1
;       asm("CLI");
	CLI
; 	  KB_Init();			     //重新初始化键盘
	jsr _KB_Init
	tsx
; 	  INTKBSCR&= ~(1<<IntBit); //开放键盘中断(IMASKk=1)  
	bclr #1,0x1a
L4:
	ais #1
	.dbline 0 ; func end
	pula
	sta *__rlo
	pula
	sta *__rhi
	pula
	sta *__r11
	pula
	sta *__r10
	pula
	sta *__r9
	pula
	sta *__r8
	pula
	sta *__r7
	pula
	sta *__r6
	pula
	sta *__r5
	pula
	sta *__r4
	pula
	sta *__r3
	pula
	sta *__r2
	pula
	sta *__r1
	pula
	sta *__r0
	pulh
	rti
	.area memory(abs)
	.org 0xffdc
__vectab::
	.word _isrDummy
	.word _isrDummy
	.word _isrKBI
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word PL_isrTIMER2
	.word _isrDummy
	.word _isrDummy
	.word _isrTIMER1
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.area lit
	.area func_lit
PL_isrTIMER2:	.word _isrTIMER2

⌨️ 快捷键说明

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