昨天晚上写的一键多功能技术。。。把一些心得写下来和大家分享下。。!!!
一键多功能技术,就是通过一个按键控制不同的东西。如我按一下键,P0.0口的灯亮,按第二下就是P0.1口的灯亮。。
设计思想:,我们给LED1到LED4闪烁的时段定义出不同的ID号,当L1在闪烁时,ID=0;当L2在闪烁时,ID=1;当L3在闪烁时,ID=2;当L4在闪烁时,ID=3;很显然,只要每次按下开关K1时,分别给出不同的ID号我们就能够完成上面的任务了。
下面,说说硬件电路。
P1.0口以独立按键式接一个开关.
P0.0~P0.3接4个LED.
下面看程序。
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit K1=P1^0;
sbit led0=P0^0;
sbit led1=P0^1;
sbit led2=P0^2;
sbit led3=P0^3;
void delay() //延时程序
{
uint n;
for(n=0;n<3000;n++);
}
main()
{
uchar count;//定义一个变量记录他们的ID
while(1)
{
if(!K1) //这一个IF语句对我们的ID进行操作。这里也是我们以后判断它如何做的依据。
{
delay();
if(!K1)
{
count++;
if(count>3)count=0;
}
while(!K1);
delay();
}
if(count==0) //执行部分。当ID=0是led0点亮。下面的以此类推
{
led0=0;
}
else if(count==1)
{
led1=0;
}
else if(count==2)
{
led2=0;
}
else if(count==3)
{
led3=0;
}
delay();
P0=0xff; //点亮以后然后全部灭掉。
delay();
}
}
程序不难。。主要是学会思想。。还有就是多编程。。熟悉。。。。
这些程序,虽然容易,但是我还没有一次就编译成功的。。这也说明了,我编程还存在很大的问题。。。但是能通过这些发现。
得到不少。。。
文章评论(0条评论)
登录后参与讨论