1.实验说明
实验一:
- 用80C51单片机控制8个LED灯,在外部中断0输入引脚(P3.2)接一个开关K1。将外部中断0设置为下降沿触发,程序启动是8个LED以跑马灯的形式交替闪烁。每按一次开关K1,使引脚接地,产生一个下降沿触发的外部中断请求。在中断服务程序中,8个LED高四位和低四位交替闪烁5次,然后中断返回,8个LED继续以跑马灯形式闪烁。
实验二:
- 在实验一的基础上,在外部中断1输入引脚(P3.3)接一只按钮开关K2。当按下K1时,外部中断0下降沿触发方式触发,进入外部中断0服务程序,上下4个灯交替闪烁;此时按下K2,外部中断1下降沿触发方式触发,进入外部中断1服务程序,8个灯交替闪烁。当外部中断1响应完毕后,返回继续响应外部中断0,直到外部中断0响应完毕,返回执行主程序。
2.实验一
2.1.实验效果
分析:单片机控制8个LED、按键K1触发中断、下降沿触发方式、中断前LED跑马灯形式、中断触发后8个LED高四位和低四位交替闪烁5次,中断返回。
按下K1,高4位和低4位LED交替闪烁5次,中断返回
2.2.Proteus仿真图
连线方式为标号连接
2.3.源程序
#include<reg52.h>
unsigned char code table[] = {
0x01, 0x02, 0x04, 0x08, 0x10