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

📄 电脑向51发什么,回什么.c

📁 基与51和PC机的串口测试程序 可以用来测试51和PC 串口通信的情况 也可以测试通信的质量好坏
💻 C
字号:
#include <AT89X51.H>
#include   <stdlib.h>   
#include   <stdio.h>  
#include   <math.h>  

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

/*延时程序 晶振11.0592M的i为115;12M的i为125;
由Delay 参数确定延迟时间
*/
void mdelay(unsigned int Delay)
{ unsigned int i;
for(;Delay>0;Delay--)
{ for(i=0;i<115;i++);
}
}


unsigned int sz;
unsigned int bz;
unsigned char shi;
unsigned char fen;
unsigned char miao;
unsigned int geshu;
unsigned char gewei;
unsigned char shiwei;
unsigned char baiwei;
unsigned char qianwei;
unsigned char wei;


void INt_0(void) interrupt 0 using 0
{
TMOD=0x01;
TH0=(65536-9216)/256;
TL0=(65536-9216)%256;
TR0=1;
ET0=1;
EA=1;


     mdelay(12);	
     geshu++;
	 if(geshu==100)
	   geshu=0;
     mdelay(200);

     qianwei=geshu/1000;
	 geshu=geshu%1000;
	 baiwei=geshu/100;
     geshu=geshu%100;
     shiwei=geshu/10;
	 gewei=geshu%10;

	 geshu++;

     qianwei=geshu/1000;
	 bz=geshu%1000;
	 baiwei=bz/100;
     sz=bz%100;
     shiwei=sz/10;
	 gewei=sz%10;

}


void jianpan(void)
{
 if(P1_7==0)
	{
	 shi++;
	 if(shi==24)
	    shi=0;
     while(P1_7==0);
	}

    if(P1_6==0)
	{
       shi--;
	 if(shi==255)
	    shi=23;
  	
     while(P1_6==0);
	}
    if(P1_5==0)
	{
	 fen++;
	 if(fen==60)
	    fen=0;
     while(P1_5==0);
	}

    if(P1_4==0)
	{
		 fen--;
	 if(fen==255)
	    fen=59;

     while(P1_4==0);
	}

}


void jianpan1(void)
{
 if(P1_7==0)
	{
	 shi++;
	 if(shi==24)
	    shi=0;
      mdelay(200);	
	}

    if(P1_6==0)
	{
       shi--;
	 if(shi==255)
	    shi=23;
  	
      mdelay(200);	
	}
    if(P1_5==0)
	{
	 fen++;
	 if(fen==60)
	    fen=0;
      mdelay(200);	
	}

    if(P1_4==0)
	{
		 fen--;
	 if(fen==255)
	    fen=59;

      mdelay(200);	
	}
}


void xianshi(void)
{
     P0=dispcode[shi/10];
     P1=0xfe;
     mdelay(3);	

     P0=dispcode[shi%10];
	 P0_7=1;
     P1=0xfd;
     mdelay(2);	

     P0=dispcode[fen/10];
     P1=0xfb;
     mdelay(3);	
     
	 P0=dispcode[fen%10];
     P1=0xf7;
     mdelay(2);	
}

void xianshi1(void)
{
     P0=dispcode[qianwei];
     P1=0xfe;
     mdelay(3);	

     P0=dispcode[baiwei];
     P1=0xfd;
     mdelay(2);	

     P0=dispcode[shiwei];
     P1=0xfb;
     mdelay(3);	

	 P0=dispcode[gewei];
     P1=0xf7;
     mdelay(2);	
}

void xianshi2(void)
{
     P0=dispcode[miao/10];
     P2=0xfd;
     mdelay(2);	

     P0=dispcode[miao%10];
     P2=0xfe;
     mdelay(2);	

     P0=dispcode[fen/10];
     P2=0xf7;
     mdelay(2);	
     
	 P0=dispcode[fen%10];
	 P0_7=1;
     P2=0xfb;
     mdelay(2);	

     P0=dispcode[shi/10];
     P2=0xdf;
     mdelay(2);	
     
	 P0=dispcode[shi%10];
	 P0_7=1;
     P2=0xef;
     mdelay(2);	

}


void t0(void) interrupt 1 using 0
{ TH0=(65536-9210)/256;
  TL0=(65536-9210)%256; 

   wei++;
    if(wei==100)
	{  miao++;
       wei=0;
	   if(miao==60)
	    { fen++;
	      miao=0;
         if(fen==60)
		    {
			  fen=0;
			  shi++;
			  if (shi==24)
				  {  shi=0;}

			}
 
	}  
	
  }

}



void INt0(void) interrupt 4 using 1
{
if(RI)
  {
   RI=0;
   sz=SBUF;
   TI=0;
   SBUF=sz;
   while(TI==0);
   
  }

   TI=0;





}

unsigned char idata trdata[10]={'M','C','S','-','5','1',0x0d,0x0a,0x00};

void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;

SCON=0xd8;
PCON=0x00;
TR1=1;


  while(1)
  {  
   while(RI==0);
   RI=0;
   miao=SBUF;
   SBUF=miao;
   while(TI==0);
   TI=0;


   }
}








⌨️ 快捷键说明

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