资源简介

51 串口 双机通信 4*4键盘发送8位数据 能同时发送接收

资源截图

代码片段和文件信息


void com_init(void);
void delay(uint data z);
uchar keyscan(void);

sbit  PL1=P1^0;   //数码管选通最低位的端口

uchar idata tab1[10];


uchar dis_7[]={0xc00xf90xa40xb00x990x920x820xf80x800x900xa00x830xa70xa10x840x8e};
/*------------0----1----2----3----4----5----6----7----8----9-----a----b----c----d----e----f-------*/

uchar num=0temphold=0receive=0;


void main()
{
com_init();
EA=1; //开总中断
while(1)
{
keyscan();
//if(num!=hold)
{
hold=num;
SBUF=num;
}

PL1=0;   // 只选通数码管的最低位
P0=dis_7[receive]; //查找数组中(扫描键值对应的)编码,并赋给P0口(数码管的数据端口)

}
}



void com_init(void)
{
PCON=0x00; //SMOD=0
TMOD=0x20;
TH1=0xf3; //波特率2400
TL1=0xf3;
//SCON=0xdc; //串口工作在方式3 接收到字符RI就置位 产生中断
ES=1; //开串口中断
TR1=1; //开计时器1
}

v

评论

共有 条评论