编程实现:用随便一种MCS-51外部中断0请求在中断服务程序中读取P1口数据;然后使用外部中断1请求在中断服务程序中将读入的P1 口数据由PO口输出。
以下是使用 Keil C51 编写的示例代码:
#include <reg51.h>
sbit LED = P0^0; // 输出引脚
void ext0_isr() interrupt 0 { // 外部中断0中断服务程序
LED = P1; // 读取P1口数据并输出到LED
}
void ext1_isr() interrupt 2 { // 外部中断1中断服务程序
P0 = P1; // 将P1口数据输出到PO口
}
void main() {
EA = 1; // 允许中断
EX0 = 1; // 允许外部中断0
EX1 = 1; // 允许外部中断1
IT0 = 1; // 外部中断0触发方式为下降沿触发
IT1 = 1; // 外部中断1触发方式为下降沿触发
while(1); // 循环等待中断发生
}
在上述代码中,我们使用 sbit 定义了一个输出引脚 LED,并在外部中断0中断服务程序中读取P1口数据并输出到该引脚。在外部中断1中断服务程序中,我们将读取的P1口数据直接输出到PO口。在 main 函数中,我们开启了外部中断0和外部中断1,并设置它们的触发方式为下降沿触发。最后,我们在一个无限循环中等待中断的发生
原文地址: http://www.cveoy.top/t/topic/hbME 著作权归作者所有。请勿转载和采集!