?? commucation2.c
字號(hào):
/*********************************************************************************/
//程序名:commucation2.c
//功能描述:利用單片機(jī)的串口實(shí)現(xiàn)雙機(jī)雙工通信接收程序
//調(diào)用函數(shù):
//輸入:
//返回:
//設(shè)計(jì)者:wei 日期:2006.10.25
//修改者: 日期:
//版本:
/********************************************************************************/
#include<Reg51.h>
#define unit unsigned int
#define uchar unsigned char
#define ulong unsigned long
#define OSC_FREQ 12000000
#define C10ms (65536-OSC_FREQ/(12000000/9970))
uchar ucSBUF232;
/******************************************************************************************
*********************************初始化CPU****************************************
*****************************************************************************************/
void serial_Init(void)
{
IE =0x00;
TMOD = 0x21;
TH0 = C10ms/256;
TL0 = C10ms%256;
TH1 = 0xfa;
TL1 = 0xfa;
PCON = 0x00;
SCON = 0xd8;
RI = 0 ;
TI = 0;
TR0 = 0;
TR1 = 1;
ES = 1;
EA = 1;
}
/******************************************************************************************
*********************************串行口中斷處理****************************************
*****************************************************************************************/
void serialInterrupt() interrupt 4
{
if(RI)
{
RI = 0;
ucSBUF232 = SBUF;
if(ucSBUF232 == 0x01)
{
P1 = 0x01;
SBUF = 0x02;
}
else if(ucSBUF232 == 0x02)
{
P1 = 0x02;
SBUF = 0x04;
}
else if(ucSBUF232 == 0x04)
{
P1 = 0x04;
SBUF = 0x01;
}
}
else if(TI)
{
TI = 0;
REN =1;
ucSBUF232 = 0xff;
}
}
void main(void)
{
serial_Init();
REN = 1;
P1 = 0;
while(1);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -