推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

单片机c51程序实例--用外中断方式读按键-控制灯的亮灭

更新时间:2019-08-28 06:55:41 大小:73K 上传用户:杨义查看TA发布的资源 标签:单片机 下载积分:0分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

文档为单片机c51程序实例--用外中断方式读按键-控制灯的亮灭讲解文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,,

部分文件列表

文件名 大小
单片机c51程序实例--用外中断方式读按键-控制灯的亮灭.pdf 73K

部分页面预览

(完整内容请下载后查看)
13 课,用外中断方式读按键,控制灯的亮灭  
这一颗,我们学习外中断的用法。也就是外部 IO 的中断 INT0,和 INT1。对应的引  
P32 P33。在我们的电路图中,P32 也就是接在 K1 的引脚。所以当我们按下 P32 接  
地的时候,可以触发一个 INT0 中断,当然,必须预先初始化才会启动。  
这种中断方式的按键实现按键的立即响应需要快速响应的场合是很有用  
的。外部 IO 中断还常用在用 IO 模拟通讯的场合,可以对数据的到来立即响应。  
下面请看代码:  
―――――――――――――――――  
#define uchar unsigned char //定义一下方便使用  
#define uint unsigned int  
#define ulong unsigned long  
#include <reg52.h>  
//包括一个 52 标准内核的头文件  
sbit P10 = P1^0; //头文件中没有定义的 IO 就要自己来定义了  
sbit P11 = P1^1;  
sbit P12 = P1^2;  
sbit P13 = P1^3;  
sbit K1= P3^2;  
bit ldelay=0;  
//长定时溢出标记,预置是 0  
uchar speed=10;  
//设置一个变量保存默认的跑马灯的移动速度  
uchar speedlever=0; //保存当前的速度档次  
//用外中断方式读按键 K1,点亮一个 LED  
void main(void)  
{
// 主程序  
IT0=1; //外中断跳变产生中断  
EX0=1;  
EA=1;  
//打开总中断  
while(1) //主程序循环  
{
}
}
//外中断 0  
int0() interrupt 0  
{
P10=0; //在中断里点亮 LED  
}
/*  
作业:用中断方式的按键 K1,控制灯的亮和灭两种状态  

全部评论(0)

暂无评论