/******************************************************************
串口通信:两块单片机之间的按键通信,输入
****************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar i,z,x,c,v;
/***************************************************************
延时函数
**************************************************************/
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=100;j>0;j--);
}
/***************************************************************
初始化
*****************************************************************/
void inti()
{
TMOD=0x20; //设置T1定时器工作方式
TH1=0xfd; //给T1装初值
TL1=0xfd; //同上
TR1=1; //启动T1定时器
// REN=1; 先设置串口模式,再允许串口接收
SM0=0; //设定串口工作方式1
SM1=1; //同上
REN=1; //允许串口接收
EA=1; //开总中断
ES=1; //开串口中断
}
/*************************************************************
主函数
***************************************************************/
void main()
{
inti();
key_scan();
}
/**************************************************************
按键扫描
****************************************************************/
void key_scan()
{
if(key1==0)
{
delay(10);
if(key1==0)
{
Send("z");
delay(10);
}
}
if(key2==0)
{
delay(10);
if(key2==0)
{
Send("x");
delay(10);
}
}
if(key3==0)
{
delay(10);
if(key3==0)
{
Send("c");
delay(10);
}
}
if(key4==0)
{
delay(10);
if(key4==0)
{
Send("v");
delay(10);
}
}
}
/*****************************************************************
数据发送
****************************************************************/
void Send(unsigned char dat)
{
SBUF=dat;
while(TI==0);
TI=0;
}
为什么用不了,,求指教 |