单工发-51.txt

来自「C51串口单工通讯程序一成功通过测试,请放心下载」· 文本 代码 · 共 87 行

TXT
87
字号
#include <AT89X52.H>
#include<stdio.h> 

#define uint unsigned int
#define uchar unsigned char

unsigned char code dispbitcode[]={0xef,0xdf,0xbf,0x7f};
unsigned char code dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0x88,0x83,0xc6,0xa1};
sbit Key2=P3^2;
sbit Key3=P3^3;
sbit Key4=P3^4;
sbit s1=P2^7;
uchar command=0;

						   
void delay(int j) 
{ while(--j)
	  {;}  
} 

void delay10mS()
{ uint i;
 i=2000; 
 while(--i);
}

void display(uchar a)
{s1=0;
 P0=dispcode[a];
 delay(100);
 s1=1;
 }

key_jia(uchar i)
  { uchar m;
    m=i;
  if(Key2==0) 
  {
  delay10mS();
  while(Key2==0)
  { ++m;
   if(m==10)
   m=0;
   while(Key2==0);}
  }
  return m;                    
  }


key_jian(uchar i)
  { uchar m;
   m=i;
  if(Key3==0) 
  {
  delay10mS();
  while(Key3==0)
  { --m;
    if(m==0)
    m=9;
   while(Key3==0);}
	 }
   return m;                    
  }

void init_serial()
 { TMOD=0x20;
   TH1=0xFD;
   TL1=0xFD;
   TR1=1;
   SCON=0x40;
   EA=1;
   ES=1;
  }

main()
{   init_serial();
    while(1)
     {  command=key_jia(command);  
    	command=key_jian(command);
		display(command);
	    if(Key4==0)        
          {  delay10mS();
              if(Key4==0)
              SBUF=command;
          }
      }
	  }

⌨️ 快捷键说明

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