#include<STC15F2K60S2.H>
#define uint unsigned int
#define uchar unsigned char
//uint temp,flag;
uchar temp,flag;
sbit led=P2^1;
void Delay5ms() //@11.0592MHz
{
unsigned char i, j;
i = 54;
j = 199;
do
{
while (--j);
} while (--i);
}
void init()
{
P2M0=1;
P2M1=0;
SCON = 0x50; //8位数据,可变波特率9600
AUXR |= 0x40; //定时器1时钟为Fosc,即1T
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器
TMOD &= 0x0F; //设定定时器1为16位自动重装方式
TL1 = 0xE0; //设定定时初值
TH1 = 0xFE; //设定定时初值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
ES=1;
EA=1;
}
void main()
{
init();
while(1)
{
if(flag)
{
flag=0;
ES=0;
SBUF=temp;
while(!
ti);
TI=0;
ES=1;
}
}
}
void uart1() interrupt 4
{
RI=0;
temp=SBUF;
flag=1;
}
程序比较简单,就直接传上来了,初始化和配置那块应该是没有问题,上来两张图
为什么16进制发送和接收时,AA 0A 1A都可以,但是01 02 A0是个什么情况?
到底是为什么呢?
-
-
一周热门 更多>