key4.c

来自「手把手教你单片机」· C语言 代码 · 共 151 行

C
151
字号
#include <reg52.h>
#include "key.h"


main()
{
	P0 = 0xFF;
	// led初始化
	ENLED = 0;
	ADDR3 = 1;
	ADDR2 = 1;
	ADDR1 = 1;
	ADDR0 = 0;

	while (1)
	{
		KeyOut1 = 0;
		KeyOut2 = 1;
		KeyOut3 = 1;
		KeyOut4 = 1;
		if(KeyIn1 == 0) 
		{
			delay();
			if(KeyIn1 == 0)
			   P0 = ~1;
		}
		if(KeyIn2 == 0)
		{
			delay();
			if(KeyIn2 == 0)
			   P0 = ~2;
		}
		if(KeyIn3 == 0)
		{
			delay();
			if(KeyIn3 == 0)
			   P0 = ~3;
		}	
		if(KeyIn4 == 0)
		{
			delay();
			if(KeyIn4 == 0)
			   P0 = ~4;
		}
		while((KeyIn1 == 0)||(KeyIn2 == 0)||
		      (KeyIn3 == 0)||(KeyIn4 == 0));
		
		KeyOut1 = 1;
		KeyOut2 = 0;
		KeyOut3 = 1;
		KeyOut4 = 1;
		if(KeyIn1 == 0) 
		{
			delay();
			if(KeyIn1 == 0)
			   P0 = ~5;
		}
		if(KeyIn2 == 0)
		{
			delay();
			if(KeyIn2 == 0)
			   P0 = ~6;
		}
		if(KeyIn3 == 0)
		{
			delay();
			if(KeyIn3 == 0)
			   P0 = ~7;
		}	
		if(KeyIn4 == 0)
		{
			delay();
			if(KeyIn4 == 0)
			   P0 = ~8;
		}
		while((KeyIn1 == 0)||(KeyIn2 == 0)||
		      (KeyIn3 == 0)||(KeyIn4 == 0));

		KeyOut1 = 1;
		KeyOut2 = 1;
		KeyOut3 = 0;
		KeyOut4 = 1;
		if(KeyIn1 == 0) 
		{
			delay();
			if(KeyIn1 == 0)
			   P0 = ~9;
		}
		if(KeyIn2 == 0)
		{
			delay();
			if(KeyIn2 == 0)
			   P0 = ~10;
		}
		if(KeyIn3 == 0)
		{
			delay();
			if(KeyIn3 == 0)
			   P0 = ~11;
		}	
		if(KeyIn4 == 0)
		{
			delay();
			if(KeyIn4 == 0)
			   P0 = ~12;
		}
		while((KeyIn1 == 0)||(KeyIn2 == 0)||
		      (KeyIn3 == 0)||(KeyIn4 == 0));

		KeyOut1 = 1;
		KeyOut2 = 1;
		KeyOut3 = 1;
		KeyOut4 = 0;
		if(KeyIn1 == 0) 
		{
			delay();
			if(KeyIn1 == 0)
			   P0 = ~13;
		}
		if(KeyIn2 == 0)
		{
			delay();
			if(KeyIn2 == 0)
			   P0 = ~14;
		}
		if(KeyIn3 == 0)
		{
			delay();
			if(KeyIn3 == 0)
			   P0 = ~15;
		}	
		if(KeyIn4 == 0)
		{
			delay();
			if(KeyIn4 == 0)
			   P0 = ~16;
		}
		
	   while((KeyIn1 == 0)||(KeyIn2 == 0)||
		      (KeyIn3 == 0)||(KeyIn4 == 0));
		
	}
}

void delay(void)
{
	uint16 i=1000;

	while (i--);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?