STC8G1K08怎么用普通IO中断
STC8G1K08怎么用普通IO中断,目前使用P1.5,P1.6,P1.7做按键中断,配置入下,收不到IO中断打印信息void IO_Int_Init() {
P_SW2 |= 0x80;// bit EAXFR:0:禁止访问XFR 1:使能访问XFR
P1IM0 = 0x00; //00:下降沿;01:上升沿 10:低电平 11:高电平
P1IM1 = 0xe0;
P1INTE = 0xe0;//使能P1.5 P1.6 P1.7中断
P1IE |= 0xe0;
P_SW2 &= ~0x80;
EA = 1;
}
void common_isr() interrupt 13
{
unsigned char psw2_st;
unsigned char intf;
psw2_st = P_SW2;
P_SW2 |=0x80;
Uart2SendStr("common_isr\r\n");
intf = P1INTF;
if(intf)
{
P1INTF=0x00;
if(intf & 0x20) //P1.5 口中断
{
is_key |=0x01;
key1_t =timer_t0;
P12=0;
Uart2SendStr("key 1 \r\n");
}
if(intf & 0x40) //P1.6 口中断
{
is_key |=0x02;
key2_t =timer_t0;
P13=0;
Uart2SendStr("key 2 \r\n");
}
if(intf & 0x80) //P1.7 口中断
{
is_key |=0x04;
key3_t =timer_t0;
P14=0;
Uart2SendStr("key 3 \r\n");
}
}
P_SW2=psw2_st;
}
ISP.ASM代码如下:
CSEG AT 0133H;P1口中断入口地址
JMP P1INT_ISR
P1INT_ISR:
JMP 006BH;借用13号中断入口地址
END
您是要所有IO都支持中断吗?STC8G1K08不支持所有IO都支持中断。
以下的STC8H系列实现了所有IO都支持中断:
本帖最后由 lvween 于 2023-4-23 20:32 编辑
STC8G不是都支持IO中断吗?我就是根据这个文档里面写的IO中断例程来写的 后续的才会有,现在的STC8G没有,你换 STC8H1K08T-33I-TSSOP20 神农鼎 发表于 2023-4-23 23:09
后续的才会有,现在的STC8G没有,你换 STC8H1K08T-33I-TSSOP20
好的,了解了 神农鼎 发表于 2023-4-23 23:09
后续的才会有,现在的STC8G没有,你换 STC8H1K08T-33I-TSSOP20
那 STC8H1K08 支持普通 IO 中断吗?不带 T 的 rip 发表于 2024-7-19 17:45
那 STC8H1K08 支持普通 IO 中断吗?不带 T 的
上面发了手册里的图片,应该是不支持 rip 发表于 2024-7-19 17:45
那 STC8H1K08 支持普通 IO 中断吗?不带 T 的
STC8H1K08不支持,目前STC8H系列部分型号支持
页:
[1]