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

📄 com.c

📁 proteus串口调试
💻 C
字号:
/*串口调试*/
#include<stdio.h>
#include<reg51.h>
#include<absacc.h>

#define GREEN1 XBYTE[0x9000]
#define GREEN2 XBYTE[0xA000]
#define RED1 XBYTE[0xB000]
#define RED2 XBYTE[0x8000]

#define TDELAY 2
#define OFF 0xff

void redoff(void);
void greenoff(void);
void redon(unsigned int i);
void greenon(unsigned int i);
void delayms(unsigned int i);


unsigned char code polarity[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} ;



void redon(unsigned int i)
{

  unsigned char rbai,rs,rg;
  rbai = i / 100;
  rs = i / 10 - rbai *10;
  rg = i % 10;
  P0  = polarity[rs];
  RED1 = P0;
  delayms(TDELAY);
  P0 = polarity[rg];
  RED2 = P0;
  delayms(TDELAY);
}




void greenon(unsigned int i)
{
  unsigned char gbai,gs,gg;
  gbai = i / 100;
  gs = i / 10 - gbai *10;
  gg = i % 10;
  P0  = polarity[gs];
  GREEN1 = P0;
  delayms(TDELAY);
  P0 = polarity[gg];
  GREEN2 = P0;
  delayms(TDELAY);
}



void redoff(void)
{
 P0 = OFF;
 RED1 = P0;
 delayms(TDELAY);
 P0 = OFF;
 RED2 = P0;
 delayms(TDELAY);
}


void greenoff(void)
{
 P0 = OFF;
 GREEN1 = P0;
 delayms(TDELAY);
 P0 = OFF;
 delayms(TDELAY);
 GREEN2 = P0;
 delayms(TDELAY);
}

void delayms(unsigned int i)
{
	unsigned char j;
	while(i--)
       {
         for(j=0;j<123;j++)
         {;}
       }
}

char send;
char ok = 'k';

main()
{   
	TMOD = 0x20; /*定时器1工作方式2;定时器0工作方式0*/
	SCON = 0x50; /*串口工作方式1,接收允许*/
	PCON = 0x00; /*波特率 不 加倍*/
	TH1 = 0xFD; /*波特率 9600*/
	TL1 = 0xFD;
	PS = 1; /*串口中断优先级 高*/
	EA = 0; /*开总中断*/
	ES = 0; /*开串口中断*/
	
	TI = 0;
	RI = 0;
	TR1 = 1;/*定时器1开*/
    redoff();
	greenoff();

	redon(0);
	greenon(0);

  
 while(1)
{	
 while(RI)
 break;
}
  send = SBUF;
  if(RI)
  {
  redoff();
  RI = 0;
  SBUF = ok;
  while(!TI){;}
  TI = 0;
  greenoff();
  }

}

 

⌨️ 快捷键说明

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