/*****单片机甲、发送单片机*****/
#include<reg51.h>
/*
unsigned char dat=0; //显示值dat为全局变量,初值为0
char code tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //定义共阳极LED字形码
*/
void delay() // 延时
{ unsigned char i;
for(i=0;i<40;i++)
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
TR0=1;
do{;} while(TF0!=1) ;
TF0=0; TR0=0;
}
}
void main()
{
TMOD=0x21; // T1 方式2 T0 方式1
TH1=TL1=0xe8; //设定波特率 1200
TR1=1;
SCON=0x40; //方式1 REN=1
while(1)
{
TI=0;
P1=0xff;
SBUF=P1;
do{;}while(TI!=1);
TI=0;
delay();
}
}
/*******单片机乙、接收单片机********/
#include<reg51.h>
unsigned char a;
unsigned char dat=0; //显示值dat为全局变量,初值为0
char code tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //定义共阳极LED字形码
void main()
{
TMOD=0x21; // T1 方式2 T0 方式1
TH1=TL1=0xe8; //设定波特率 1200
TR1=1;
SCON=0x50; //方式1 REN=1
while(1)
{
do{;}while( RI!=1);
RI=0;
a=SBUF; // 接收数据
if(a==0xfe)
{if(dat!=9){dat++;}
else
dat=0; }
if(a==0xfd)
{ if(dat!=0){dat--;}
else
dat=9; }
if(dat>=0&&dat<=9){P2=tab[dat]; }
}
}
|