- 15
- 0
- 约1.41万字
- 约 44页
- 2019-12-22 发布于广东
- 举报
void INT0_ISP() interrupt 0 //外中断0服务函数 { P1=0x0f; //P1口高4位置0,点亮4个LED } void INT1_ISR() interrupt 2 //外中断1服务函数 { if(P1_0==0) {P1=P10xef;} //点亮VD1 ... if(P1_3==0) {P1=P10x7f;} //点亮VD4 } 【例5-6】利用优先编码器扩展外部中断。 从例5-5可以看出,利用与门、或门扩展外中断所占端口引脚较多,在实际应用中,还可以采用优先级解码芯片如74LS148,把多个中断源信号作为一个中断。如图5-12所示,在有8个中断源的情况下,经74LS148优先译码后,只占3个I/O引脚,即用3根引脚可分辨8个中断源,从而节省了I/O口资源。 8051 S0 R X 8 +5V D0 A0 A1 A2 G 74LS148 P0.0 P0.1 P0.2 INT0 S1 S2 S3 S4 S5 S6 S7 D1 D2 D3 D4 D5 D6 D7 图5-12 利用优先编码器扩展外部中断的电路 程序代码如下: #includereg51.h unsigned
原创力文档

文档评论(0)