資源簡介
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
評論
共有 條評論