⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ri_ti.c

📁 基于51系列单片机的串口通信测试程序
💻 C
字号:
/* 功能:PC键盘0-9显示,行列式按键键值显示
   运行:在BANK3完成,启动串口助手软件后,在串口助手软件发送区输入的任意数字
         对应数字号码会显示在数码管上。按任意行列按键,键值会显示在助手接收区
*/
#include<at89x52.h>
#define BaudRate 9600L
#define uchar unsigned char  
code uchar SegCode[]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

void UartInit()
{
	SCON = 0x50;
	TMOD = 0x20;
	PCON = 0x80;
	TH1 = TL1 = 0xfa;
	TR1 = 1;
}

uchar key()
{
	uchar kbuf,row,line;
	P2   = 0x0f;
	row  = P2;
	P2   = 0xf0;
	line = P2;
	kbuf = row+line;	
	return(kbuf);
}

void UartRec()
{	uchar rbuf;
	if(RI)
	{
		RI = 0;
		rbuf = SBUF;
		P0 = SegCode[rbuf];
		P1_3 = 1;
		P1_3 = 0;
		P0 = 0xff;
		P1_2 = 1;
		P1_2 = 0;		
	}
}

void main()
{	uchar ch;
	UartInit();
	while(1)
	{	
		ch = key();
		if(ch != 0xff)
		{
			while(key() != 0xff);      //返回值不会修改ch吧?
			SBUF = ch;
			while(TI==0);
			TI = 0;	
		}
		UartRec();
	}	
}

⌨️ 快捷键说明

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