/* 设计按键控制流水灯系统:无按键时,小灯全熄;外部中断0,实现自上而下的流水灯效果;外部中断1时,小灯奇、偶交替闪烁。要求设计硬件软件系统,并调试*/
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint x) //延时xms
{
uint i; //while的每条命令为10us
while(x--) for(i=0;i<100;i++) _nop_(); //一个_nop_()的空语句延时1us
}
void int0() interrupt 0 //定义外部中断0
{
delay(10);
P1=0xfe;
while(1)
{
P1=_crol_(P1,1); //移位
delay(1000); //间隔1s
if(INT1==0) break;
}
}
void int1() interrupt 2 //定义外部中断1
{
delay(10);
P1=0xaa;
while(1)
{
if(INT1==0) break;
delay(100);
P1=0x55;
delay(100);
P1=0xaa;
}
}
void main()
{
EA=1; //开总中断
EX0=1;EX1=1; //开外部中断0和外部中断1
IT0=1;IT1=1; //选择触发方式为下降沿触发
P1=0xff; //无开关时要灯全灭
while(1); //保持这种状态——在无开关无中断的情况
}
单片机入门1
最新推荐文章于 2024-01-29 22:46:36 发布