普中开源电子分享网

 找回密码
 立即注册
搜索

项目五

已有 202 次阅读2017-8-25 17:09

/*任务5:
按下K1,P1.0和P1.4灯亮;
按下K2,P1.1和P1.5灯亮;
按下K3,P1.2和P1.6灯亮;
按下K4,P1.3和P1.7灯亮;
*/

/*对于P0口,K1,K2,K3,K4分别占据了P0的低四位
按下K1:xxxx1110->P1=0x11;
按下K2:xxxx1101->P1=0x22;
按下K3:xxxx1011->P1=0x44;
按下K4:xxxx0111->P1=0x88;
读取P0口的数字keyvalue可以相应的取出对应的P1口状态
因此读取P0口的状态信息即可
*/

#include"reg52.h"

sbit K1=P0^0;
sbit K2=P0^1;
sbit K3=P0^2;
sbit K4=P0^3;

void delay(unsigned int c)
{
while(c--);
}

void main()
{
unsigned char keyvalue;
while(1)
{
P0|=0X0F;
//说明P0|0X0XF;进行或运算可以将低四位置1;表明没有键按下
keyvalue=P0;
//keyvlaue现在读取P0的状态信息,若有按键按下相应为会清零
switch(keyvalue)
{
case 0xfe:P1=0X11;break;
case 0xfd:P1=0X22;break;
case 0Xfb:P1=0x44;break;
case 0xf7:P1=0x88;break;
}
}
}


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-5-3 13:26 , Processed in 0.056896 second(s), 24 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部