📄 main0.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 + -