微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 如何实现独立键盘控制二极管的点亮熄灭

如何实现独立键盘控制二极管的点亮熄灭

时间:11-18 来源:互联网 点击:
以前是使用定时器 定时 点亮熄灭 二极管,现在是 同独立键盘来实现自由 控制二极管的点亮熄灭,即 若停止定时器,那么二极管就保持点亮或熄灭状态,从而不再闪烁; 若启动定时器,那么二极管就不断点亮熄灭。 若停止定时器,那么可以通过另外一个按键来控制 二极管的点亮熄灭状态

下面是个人刚刚实现的这种想法:

#include

sbit key1=P2^7; // 启动或停止定时器 即实现自动点亮熄灭二极管

sbit key2=P2^6; // 若停止定时器 则 通过此按键实现点亮熄灭二极管

sbit LED=P0^0; //第1个二极管

unsigned char t=0;

void Delay()

{

unsigned char j;

unsigned char i;

for(i=10; i>0; i--)

for(j=110; j>0; j--);

}

void Keycan() //检测独立键盘是否被按下 然后执行相应的操作

{

if(key1==0)

{

Delay();

if(key1==0)

{

TR0=~TR0; //启动 或停止 定时器T0

}

while(!key1);

}

if(key2==0)

{

Delay();

if(key2==0)

{

LED=~LED;

}

while(!key2);

}

}

void main()

{

TMOD=0x01;

EA=1;

ET0=1;

TR0=1;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

LED=0; //点亮二极管

while(1)

{

Keycan();

if(t==20)

{

t=0;

LED=~LED;

}

}

}

void TimerLED() interrupt 1 using 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

t++;

}

思想很简单, 所以也非常实现。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top