单片机中,外部中断0用来计数,外部中断1用来向串口发送数据,请问keil中的代码该怎么写?

问题已困扰我多时,希望有大神能够帮我解决,谢谢了!
2025-12-17 06:21:25
推荐回答(3个)
回答1:

你如果问的是如何设置成这样,那我只能告诉你查看你使用的单片机的datasheet,向某个地址写数据,比如0x5A(随便写的地址,具体查手册)置1代表中断0用来计数,等等。你可以用汇编或c语言完成向单片机某个地址写数据。
如果你问的是设置完如何应用,那你就可以用for或while循环等待中断标志(挂起中断服务程序,中断服务程序中对中断标志置位),这样的例子网上到处都有。

回答2:

发什么数?是计数值的数吗?
#include
#define uchar unsigned char
uchar dat;
void ext0() interrupt 0
{
dat++;
}
void ext1() interrupt 2
{
SBUF=dat;
while(!TI);
TI=0;
}
main()
{
EA=1;
EX0=1;
EX1=1;
IT0=1;
IT1=1;
while(1);
}

回答3:

能不能再说具体一点?外部中断1用来向串口发送数据???是什么意思?不明白你的意图,没办法帮你。