标题:
单片机8个LED灯的小中断仿真+代码
[打印本页]
作者:
allen旭
时间:
2018-11-16 21:27
标题:
单片机8个LED灯的小中断仿真+代码
8个LED灯组成流水灯,两个中断优先级,一个小程序
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
图片1.png
(29.29 KB, 下载次数: 45)
下载附件
2018-11-16 21:26 上传
0.png
(10.16 KB, 下载次数: 77)
下载附件
2018-11-17 02:53 上传
单片机源程序如下:
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int //对数据类型进行声明定义
#define uchar unsigned char
sbit k3=P3^2;//定义按键K3
#define led P1//定义P2口是led
sbit k4=P3^3;//定义按键K4
void delay(uint z)//延时函数
{
uint x,y;
for(x=5;x>0;x--)
for(y=z;y>0;y--);
}
void Int0Init()//设置INT0
{
IT0=1;//跳变沿出发方式(下降沿)
EX0=1;//打开INT0的中断允许。
EA=1;//打开总中断
}
void Int1Init()//设置INT1
{
IT1=1;//跳变沿出发方式(下降沿)
EX1=1;//打开INT1的中断允许。
EA=1;//打开总中断
}
void main()//主函数
{ PX0=1;PX1=0;
Int1Init();//设置外部中断1
Int0Init();//设置外部中断0
}
void Int0() interrupt 0//外部中断0的中断函数
{ int i,u;
led=0x01;
for(u=5;u>0;u--)
{
for(i=0;i<7;i++)
{
led=_crol_(led,1);
delay(5000);//延时消抖
}
}
}
void Int1() interrupt 2//外部中断1的中断函数
{ int i,u;
led=0x80;
for(u=5;u>0;u--)
{
for(i=0;i<7;i++)
{
led=_cror_(led,1);
delay(5000);//延时消抖
}
}
}
复制代码
所有资料51hei提供下载:
中断.zip
(44.19 KB, 下载次数: 7)
2018-11-16 21:27 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1