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

📄 shuangji2.c

📁 采用两块51单片机通过串口实现双机通讯
💻 C
字号:
#include<reg52.h>
#define		uchar	unsigned	char
#define		uint	unsigned	int
#define date P1
sbit rw = P2^1;
sbit rs= P2^0;
sbit e = P2^2 ;
uchar	tab[16]={"789/456*123-C0=+"};
void	delay(uint	i);
uint duz(void);
void	chushihua(void);
void xiem(uint pp0,uint busy)reentrant;
void  xies(uint pp0);
void  xiechar(uint x,uint y,uchar zifu);
void  xiestring(uint x,uint y,uchar *string);
main()
{uchar	i;
delay(50);chushihua();
SCON=0x90;PCON=0X00;RI=0;
for(i=1;i<32;i++){while(RI==0);RI=0;xiechar(i,0,tab[SBUF]);}
}

void delay(uint i)
{uint j;
 for(;i>0;i--)
 for(j=300;j>0;j--);}

uint duz(void)
{uint st;
 date=0;rs=0;rw=1;e=0;delay(20);e=1;
st=((date)&(0x80));while (st);return date;}

void xiem(uint pp0,uint busy)reentrant
  {
  if(busy) duz();date=pp0;
   rs=0;rw=0;
   e=0;e=0;e=1;}


void  xies(uint pp0)
 {duz();rs=1;rw=0;date=pp0;e=0;e=0;e=1;}


void  xiechar(uint x,uint y,uchar zifu)
{y&=0x01;x&=0x0f;
if (x==0xF) x=0x00;
  if (y) x |= 0x40; 
  x |= 0x80; 
  xiem(x,0);xies(zifu) ;}

void  xiestring(uint x,uint y,uchar *string)
 {	 unsigned char len;
 len = 0;
  y &= 0x1;
  x &= 0xF;
while (string[len]!='\0') 
        {
           if (x <0xF) 
              {
                xiechar(x, y, string[len]);
               len++;
                x++;
               }
			else {y=1;x=0;}
         }

}

void	chushihua(void)
{ date = 0;
  xiem(0x38,0);
  delay(20); 
 xiem(0x38,0);
  delay(20); 
 xiem(0x38,0);
  delay(20)	;
  xiem(0x38,1);  
 xiem(0x08,1);  
  xiem(0x01,1); 
  xiem(0x06,1);  
  xiem(0x0C,1);  
}



⌨️ 快捷键说明

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