//用两个按键控制16个流水灯的流速 要求共8个流动速度
#include
void delay(unsigned char k) //延时函数
{
unsigned char i,j; //定义两个变量,用于空循环
k=k*8;
for(i=0;i
;
}
unsigned char flag;
void main()
{
unsigned char i;
flag=1;
EA=1; //开放总中断
EX0=1; //允许使用外中断
IT0=1; //选择负跳变来触发外中断
EX1=1; //允许使用外中断
IT1=1; //选择负跳变来触发外中断
while(1) //用于反复循环
{
for(i=0;i<9;i++)
{
P1=~(1< delay(flag); //调用延时函数
//while(flag!=1);
}
for(i=0;i<9;i++)
{
P2=~(1< delay(flag); //调用延时函数
//while(flag!=1);
}
i=0;
//
}
}
/**************************************************************
函数功能:外中断T0的中断服务程序
**************************************************************/
void int0(void) interrupt 0 using 0 //用于减小流水灯速度
{
if(flag<9)
flag++;
}
/**************************************************************
函数功能:外中断T1的中断服务程序
**************************************************************/
void int1(void) interrupt 2 using 0 //用于增加流水灯速度
{
if(flag>1)
flag--;
}
完整资料打包(含仿真)
STC51单片机学习笔记3-C语言流水灯资源-单片机文档类资源-CSDN下载