接收发送都不能成功,不知道问题出在哪里了?灯不灭,电动机不动
发送方:
#include<STC15L2K60S2>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar bdata inter_ram[8]={0,1,2,3,4,5,6,7}
sbit P3_4=P3^4;
sbit P3_5=P3^5;
void Delay1ms()
{
unsigned char i,j;
_nop_();
_nop_();
_nop_();
i=11;
j=190;
do
{
while(--j);
}
while(--i);
}
void delay(uchar x)
{
uchar i;
for(i=0;i<x;i++)
{
Delay1ms();
}
}
void Uar
tinit(void)//115200bps@22.1184MHz
{
SCON=0x50;//8位数据可变波特率?
AUXR|=0x40;//定时器1时钟为Fosc,即1T?
AUXR&=0xFE;//串口1选择定时器1为波特率发射生器
TMOD&=0x0F;//设置定时器1为16位自动重装方式
TL1=0xD0;//设定定时初值
TH1=0xFF;//设定定时初值
ET1=0;//禁止定时器1中断
TR1=1;//启动定时器1
}
void Send_Byte(uchar x)
{
SBUF=x;
while(TI==0);
TI=0;
P3_4=1;//让灯灭
}
void main()
{
uchar count;
UartInit(void);
for(count=0;count<8;count++)
{
Send_Byte(inter_ram[count]);
delay(200);
}
while(1);
}
接收方:
#include<STC15L2K60S2>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar data reata[8];
uchar *mydata;
sbit P3_4=P3^4;
sbit P3_5=P3^5;
sbit P3_6=P3^6;
void UartInit(void)//115200bps@22.1184MHz
{
SCON=0x50;//8位数据可变波特率?
AUXR|=0x40;//定时器1时钟为Fosc,即1T?
AUXR&=0xFE;//串口1选择定时器1为波特率发射生器
TMOD&=0x0F;//设置定时器1为16位自动重装方式
TL1=0xD0;//设定定时初值
TH1=0xFF;//设定定时初值
ET1=0;//禁止定时器1中断
REN=1;
TR1=1;//启动定时器1
}
void main()
{
uchar i;
UartInit(void);
mydata=recdata;
for(i=0;i<8;i++)
{
while(RI==0);
RI=0;
*mydata=SBUF;
P3_6=1;
P3_5=0;//让电动机转动
mydata++;
_nop_();
_nop_();
_nop_();
}
while(1);
}
一周热门 更多>