text1.c

来自「单片机快速入门原程序」· C语言 代码 · 共 86 行

C
86
字号
#include <reg51.h>
#include<stdio.h>
Uart_Init();
int nKeyNumber;
void Key0_Handler();
void Key1_Handler();
void Key2_Handler();
void Key3_Handler();
void Key4_Handler();
void Key5_Handler();
void Key6_Handler();
void Key7_Handler();
main()
{ 	nKeyNumber=0xFF;
	EX0=1;
	EA=1;
	Uart_Init();
	while(1)
	{
		if(nKeyNumber==0xFF) ;
			//printf("No key pressed\n");
		else 
			{switch(nKeyNumber)
				{	
					case(0x00):Key0_Handler();
								break;
					case(0x01):Key1_Handler();
								break;
					case(0x02):Key2_Handler();
								break;
					case(0x03):Key3_Handler();
								break;
					case(0x04):Key4_Handler();
								break;
					case(0x05):Key5_Handler();
								break;
					case(0x06):Key6_Handler();
								break;
					case(0x07):Key7_Handler();
								break;
				
				}
				nKeyNumber=0xFF;
			}

	}
}
Uart_Init()
	{SCON = 0x52;    /* 设置串行口控制寄存器SCON*/
	 TMOD = 0x20;    /* 12M时钟时波特率为2400  */
	 TCON = 0x69;    /* TCON */
	 TH1 =  0xf3;    /* TH1 */
	}
void int0() interrupt 0 using 0
{
int i;	
for(i=0;i<8;i++)
	if(((P1>>i)&0x01)==0)
				nKeyNumber=i;
}
void Key0_Handler()
	{printf("key NO. 0 down\n");
	}
void Key1_Handler()
	{printf("key NO. 1 down\n");
	}
void Key2_Handler()
	{printf("key NO. 2 down\n");
	}
void Key3_Handler()
	{printf("key NO. 3 down\n");
	}
void Key4_Handler()
	{printf("key NO. 4 down\n");
	}
void Key5_Handler()
	{printf("key NO. 5 down\n");
	}
void Key6_Handler()
	{printf("key NO. 6 down\n");
	}
void Key7_Handler()
	{printf("key NO. 7 down\n");
	}

⌨️ 快捷键说明

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