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

📄 main0.c

📁 实现51与计算机的通信测试 通过1602LCD显示通信的数据
💻 C
字号:
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char

sbit rs = P2^0;
sbit e = P2^1;

uchar idata xs_data1[16]="send:";//-----------显示的字符串
uchar idata xs_data2[16]="receiv:";

void isend(uchar adr);
void dsend(uchar asc);
void xianshi(uchar hang,uchar lie,uchar *p,uchar num);//-------显示所在的行,列,内容,长度
void delay5ms();

void init();                  //串口初始化子程序 工作方式2
uchar receive_byte();		  //串口接收一个字节子函数 返回接收数据
void  send_byte (uchar s_b ); //串口发送数据程序

//-------------------------------------------

void main()
{	
     isend(1);//清屏指令 	 
     xianshi(1,0,xs_data1,5);
	 xianshi(2,0,xs_data2,7);
	 init(); //串口初始化子程序 工作方式2



	 send_byte(65);
	 xianshi(1,6,xs_data1,1);

    do
	{
	   
	   

	 } while (1); 
 
 } 
 //----------------------------------------------
void init()               //串口初始化子程序 工作方式2
{
	TMOD=0X20;
	TH1=0XFD;                     //设置波特率9600 bit/s (0XFD)   波特率4800 bit/s(0XFA) 波特率2400 bit/s (0XF4) 波特率1200 bit/s(0XE8)
	TL1=0XFD;
	PCON=0X00;
	TR1=1;
	SCON=0X50;
}
//-------------------------------------------
void send_byte (uchar s_b ) //串口发送数据程序
{
    SBUF=s_b;
    while(TI==0);TI=0; 
}
//-------------------------------------------
uchar receiv_byte()			//串口接收一个字节子函数 返回接收数据
{       
	uchar get_txt;
	while(RI==0);RI=0;
	get_txt=SBUF;
	return get_txt;
}
//-------------------------------------------
void isend(uchar adr)       //显示屏写指令子程序
{   
	 P0=255;
     rs=0;
     e=1;
     P0=adr;
     e=0;
     delay5ms();
}
//-------------------------------------------
void dsend(uchar asc)        //显示屏写字符子程序
{
	P0=255;
	rs=1;
	e=1;
	P0=asc;
	e=0;
	delay5ms();
} 
//--------------------------------------------
void delay5ms()                       //显示延时5ms子程序
{
	uint j;
	for (j=0;j<1100;j++)
	{;}
} 
//------------------------------------------ 
void xianshi(uchar hang,uchar lie,uchar *p,uchar num)
{
  int i=0,*xs;
  xs=p;	  
  for(i=0;i<num;i++)
     {
         if(i==0)
           {
            isend(56);          //设置显示器
            isend(12);          //开显示,无光标
            if(hang==1)isend(128+lie); //设置数据指针第1行
            else       isend(192+lie); //第2行
           } 
         dsend(p[i]);     
     }
}

⌨️ 快捷键说明

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