板子一做好,我写了个双机通信的程序来测试了一下板子,现在把相关图片和程序上传。
/**
作者:钟军
功能:双机通信发送程序
也可以接收数据,并在数码管上显示出来
日期:2011-12-7
*/
#include
#define uint unsigned int
#define uchar unsigned char
uchar code led1[10]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xff,0x00};
uchar code led2[10]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0xff,0x00};
uchar code table[]={
0xC0,/*0*/
0xF9,/*1*/
0xA4,/*2*/
0xB0,/*3*/
0x99,/*4*/
0x92,/*5*/
0x82,/*6*/
0xF8,/*7*/
0x80,/*8*/
0x90,/*9*/
0x88,/*A*/
0x83,/*b*/
0xC6,/*C*/
0xA1,/*d*/
0x86,/*E*/
0x8E,/*F*/
};
sbit key=P2^0;
uchar num=0;
uchar reBuf=0;
void delay(uint x)
{
uint i,j;
for(i=x;i0;i--)
for(j=110;j0;j--);
}
void serialInit()
{
SCON=0XD0;
TMOD=0x20;
TH1=0xE8;
TL1=0xE8;
EA=1;
ES=1;
TR1=1;
}
void sendData(uchar *led)
{
uint i;
for(i=0;i
#define uint unsigned int
#define uchar unsigned char
uchar reBuf[10]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};// 接收数据区
uchar index=0;
sbit key1=P3^2;
sbit key2=P3^3;
uchar i=0,a=0;
uchar keyReturn();
uchar sendData=0;
void serialInit()
{
SCON=0XD0;
TMOD=0x21;
TH1=0xE5;
TL1=0xE5;
EA=1;
ES=1;
TR1=1;
}
void timeInit()
{
TH0=0x3c;
TL0=0xb0;
ET0=1;
TR0=1;
}
void delay(uint x)
{
uint i,j;
for(i=x;i0;i--)
for(j=110;j0;j--);
}
void send(uchar dat)
{
if(dat!=88)
{
ACC=dat;
TB8=P;
SBUF=ACC;
while(!TI);
TI=0;
}
}
void keyscan()//调试用
{
if(!key1)
{
delay(10);
if(!key1)
{
sendData++;
if(sendData==16)
sendData=0;
send(sendData);
}
while(!key1);
}
if(!key2)
{
delay(10);
if(!key2)
{
sendData--;
if(sendData==255)
sendData=15;
send(sendData);
}
while(!key2);
}
}
void main()
{
serialInit();
timeInit();
while(1)
{
P1=reBuf[i];
keyscan();
}
}
void serial() interrupt 4 using 1
{
if(RI)
{
RI=0;
ACC=SBUF;
if(P^RB8==0)
{
reBuf[index]=SBUF;
index++;
if(index==10) index=0;
}
}
}
void time0() interrupt 1
{
TH0=0x3c;
TL0=0xb0;
a++;
if(a==4)
{
a=0;
i++;
if(i==10) i=0;
}
}
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。