单片机89c51 8个开关倒着控制8个灯 这个图跪求程序

如题所述

这图还真不好看懂,大概齐吧,程序如下:
#include<reg51.h>
#define uchar unsigned char
main()
{
uchar key,tmp,i;
P2=0xff;
P1=0xff;
while(1)
{
key=P1;
tmp=0x00;
for(i=0;i<8;i++)
{
if(key&0x01)tmp|=0x01;
tmp<<=1;
key>>=1;
}
P2=tmp;
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-19
这是什么鸟图!应该是独立键盘控制吧。只给你写一个按键的程序。
sbit jian0=P1^0;
sbit jian1=P1^1;
sbit jian2=P1^2;
sbit jian3=P1^3;
sbit jian4=P1^4; //后面的4个键就省略不写了
main()
{
while(1)
{
if(jian0==0)
{
delay(10); //延时消抖,很重要。函数这里也省略不写了
if(jian0==0)
{
P2=0x....... //对P2口直接操作,需要控制那个端口自己负值
}
}
}
}