單片機(jī)
/********主機(jī)發(fā)送********/
#include"reg52.h"
#define uchar unsigned char
#define uint unsigned int
uchar datt;
sbit LED=P1^0;
/**********************/
void delay_ms(uint z)
{
uint x,y;
for(x=0;x for(y=0;y<110;y++);
}
/**********************/
void UartInit(void) //9600bps@11.0592MHz
{
PCON &= 0x7F; //波特率不倍速 SMOD=0 波特率不加倍
SCON = 0x50; //8位數(shù)據(jù),可變波特率 SM0=0 SM1=1 SM2=0 REN=1 TB8=0 RB8=0 TI=0 RI=0
TMOD |= 0x20; //設(shè)定定時(shí)器1為8位自動(dòng)重裝方式
TL1 = 0xFD; //設(shè)定定時(shí)初值
TH1 = 0xFD; //設(shè)定定時(shí)器重裝值
ET1 = 0; //禁止定時(shí)器1中斷
TR1 = 1; //啟動(dòng)定時(shí)器1
}
/*********************/
void main()
{
UartInit();
EA=1;
ES=1;
while(1)
{
SBUF=0X55;
while(!TI);
TI=0;
delay_ms(100);
}
}
/************************************************/
/********從機(jī)接收********/
#include"reg52.h"
#define uchar unsigned char
#define uint unsigned int
uchar datt;
sbit LED=P1^0;
/**********************/
void delay_ms(uint z)
{
uint x,y;
for(x=0;x for(y=0;y<110;y++);
}
/**********************/
void UartInit(void) //9600bps@11.0592MHz
{
PCON &= 0x7F; //波特率不倍速 SMOD=0 波特率不加倍
SCON = 0x50; //8位數(shù)據(jù),可變波特率 SM0=0 SM1=1 SM2=0 REN=1 TB8=0 RB8=0 TI=0 RI=0
TMOD |= 0x20; //設(shè)定定時(shí)器1為8位自動(dòng)重裝方式
TL1 = 0xFD; //設(shè)定定時(shí)初值
TH1 = 0xFD; //設(shè)定定時(shí)器重裝值
ET1 = 0; //禁止定時(shí)器1中斷
TR1 = 1; //啟動(dòng)定時(shí)器1
}
/*********************/
void main()
{
UartInit();
EA=1;
ES=1;
while(1)
{
while(!RI);
RI=0;
LED=~LED;
P0=SBUF;
delay_ms(100);
}
}
LED端無波形輸出,故認(rèn)為是從機(jī)沒能接收到信號??险堉更c(diǎn)一二。。。