hww22 发表于 2024-10-28 08:02:50

不进入这个TKSU_ISR(void) interrupt 35, 用了扩展,之前加IRS.ASm也不行


8H4K64TL-LFQP48
void        TKSU_ISR(void) interrupt 35
{
        u8        j;
//011BH        触摸按键 中断入口//35
                //用户中断处理代码
                        P47=1;      
                                             
// TL3        TL3 的LED 点亮
       
       P10=1;       //TL2          TL2 的LED 点亮 fm=70;
               
                             P02=0;
                          P22=0;           
                        j = TSSTA2;

                        if(j & 0x40)        //数据溢出, 错误处理(略)
                        {
                                TSSTA2 |= 0x40;        //写1清零
                        }
                        if(j & 0x80)        //扫描完成
                        {
                                j &= 0x0f;//取当前完成的通道数
                                TSSTA2 |= 0x80;        //写1清零

                                if(!B_TK_Lowpass)        TK_cnt = TSDAT/4;        //保存当前通道的读数        无低通滤波 4通道开始
                                else                                TK_cnt = ((TK_cnt * 3)>>2) + TSDAT/16;        //保存当前通道的读数        低通滤波
                                if(j == 15)        B_ReadKeyOk = 1;        //读完一次循环
                        }
        }

DebugLab 发表于 2024-10-28 08:59:47

看看链接器用的是哪个,用了中断号扩展不能用LX51链接器

hww22 发表于 2024-10-28 09:57:42

本帖最后由 hww22 于 2024-10-28 10:21 编辑

C51里面 就这些文件

hww22 发表于 2024-10-28 10:22:39

本帖最后由 hww22 于 2024-10-28 10:36 编辑

TKSU_ISR,不是 011BH,是0715H,
但是 TIMER1 的函数,中断 对的。 CODE    001BH 就是 1BH

DebugLab 发表于 2024-10-28 10:54:16

我用中断扩展正常,触摸按键中断程序:
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=9925
void TKSU_Isr(void) interrupt TKSU_VECTOR
{
        unsigned char temp;
        temp=TSSTA2;
        if(temp&0x40)                //数据溢出, 错误处理
        {
                TSSTA2|=0x40;        //写1清零
        }
        else if(temp&0x80)        //扫描完成
        {
                TS_Scan=temp&0x0f;
                if(TS_Map!=0xFF)        //如果通道正确
                {
                        TS_Buf]=TSDAT;        //保存某个通道的读数
                        TS_Flag=1;
                }
        }
        TSSTA2|=0x80;                //写1清零
}

hww22 发表于 2024-10-29 11:33:04

TK0 TK1 TK2 , 我接了LED的 高电平, 是不是这个影响? TK0-2 没有使能的。。。
还是不调用函数。 下了别的版本也不行。

hww22 发表于 2024-12-3 23:39:33

用 TTL 下载 就可以 触摸,   用USB-ISP 下载 不行。
页: [1]
查看完整版本: 不进入这个TKSU_ISR(void) interrupt 35, 用了扩展,之前加IRS.ASm也不行