单片机 8个按键分别控制8个LED灯 c语言代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//显示uchar u的第i位,0或1
#define BITCH(u,i) ( BITVAL(u,i)>0 ? BITSET(u,i,0):BITSET(u,i,1) )
//将uchar u的第i位取反
uchar key1;//存储旧的P1
void delay10ms(void)
{
unsigned char a,b,c;
//P0接八个LED灯;P1接八个独立按键
#include <REG51.H>
#define uchar unsigned char
#define BITSET(u,i,v) ( (u) = (u)&~(1<<(i)) | (v)<<(i) )
/ຫໍສະໝຸດ Baidu将uchar u的第i位设置为布尔值v
#define BITVAL(u,i) ( ( (u)&(1<<(i)) )>0 )
}
}
key1=key2;
}
void main(void)
{
key1=~P1;
P0=0;
while(1)
{
getkey();
delay10ms();
}
}
for(c=1;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
void getkey()
{
uchar key2=~P1,i;
if(key2==0 && key1!=0)
{
for(i=0;i<8;i++)
{
if(BITVAL(key1,i)==1)
{BITCH(P0,i);break;}
相关文档
最新文档