外部中断0控制LED 硬件电路:
1个按钮接单片机P3.2引脚,8个LED接单片机P0口。
功能要求:
系统上电,按钮未按下时,LED全灭;奇数次按下按钮,LED转换亮灭状态;偶数次按下按钮,LED维持之前奇数次按下按钮的状态不变。
具体要求:
使用51单片机的外部中断0实现按钮奇、偶次按下的识别;外部中断0的触发方式设置为下降沿触发。
说明:
系统上电,按钮未按下时,LED全灭,所以
第1次按下按钮:LED全亮
第2次按下按钮:LED全亮
第3次按下按钮:LED全灭
第4次按下按钮:LED全灭
第5次按下按钮:LED全亮
第6次按下按钮:LED全灭
。。。
。。。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include <reg51.h>
- unsigned int flag = 0; // 记录外部中断0发生次数的变量
- /****中断初始化函数****/
- void Init()
- {
- //请在此处补上缺失的代码
- }
- /****INT0中断服务函数****/
- void int0() interrupt //请在此处补上缺失的代码
- {
- //请在此处补上缺失的代码
- //提示:取反用~
- }
- /****主函数****/
- void main()
- {
- //请在此处补上缺失的代码
- }
-
复制代码
所有资料51hei提供下载:
第4组测试资料.rar
(63.91 KB, 下载次数: 14)
|