📄 isr.asm
字号:
.INCLUDE hardware.inc
.EXTERNAL F_Key_Scan;
.external _h;
.external _x;
.external _Filter_LED_Show
.external _temp1,_temp2,_mytemp;
.external _feeddog
.TEXT
//键盘扫描与了LED显示中断
.PUBLIC _IRQ6;
_IRQ6:
PUSH r1 to [sp];
r1=0x0001;
TEST r1,[P_INT_Ctrl];
JNZ _IRQ6_TMB2;
r1=0x0002;
[P_INT_Clear]=r1;
//show() start
call _Filter_LED_Show
call _feeddog;
//show() end
POP r1 FROM [sp];
RETI;
//键盘扫描
_IRQ6_TMB2:
[P_INT_Clear]=r1;
CALL F_Key_Scan;
END_INT:
POP r1 FROM [sp];
RETI;
.public _FIQ
_FIQ:
FIR_MOV ON;
_ad:
push r1,r5 to [sp];
r2=[P_ADC_Ctrl];
test r2,0x8000;
jz _ad;
r3=[P_ADC_MUX_Data];
r3=r3 lsr 4;
r3=r3 lsr 2;
r2=_h;
r1=_x;
[r1]=r3;
MR=[R1]*[R2],ss,16;
[_temp1]=r3;
[_temp2]=r4;
//r4^=0xffff;
// r3^=0xffff;
r3=r3 lsl 4;
r4=r4 rol 2;
r4=r4 lsl 1;
// [P_IOB_Data]=r4;
[P_DAC2]=r4;
r1=0x2000;
[P_INT_Clear]=r1;
call _mytemp
pop r1,r5 from [sp];
RETI;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -