我目地是比如输入123456789 返回123456789 就是输入什么返回什么。我使用ISIS仿真 程序没有问题,把程序烧入单片机就不行 我拿了3快51单片机的开发板来测试就是不行,人都急死了,最基本的都出问题实在没有办法玩下再学。找不到问题点。希望大家帮帮我。或者把我程序烧你们51里面去实际测试看看。我想知道到底是我程序还是我设备哪里出问题了,按理不可能三台开发板都出问题
#include <reg52.h>
#define uint unsigned int
int a;
uint flag;
void uart_init();
void main()
{
uart_init();
while(1)
{
if(flag==1) // 如果收到数据
{
ES=0; //关闭串口中断
flag=0; //标志位清零
SBUF=a; //将收到的数据发送至缓冲区
while(!TI); //等待数据发送结束
TI=0; // 将发送结束标志清零
ES=1; // 使能串口中断
}
}
}
void serial() interrupt 4 // 串口中断服务函数
{
a=SBUF; // 读出接收到的数据
RI=0; // 清零接收标志位
flag=1; //标志位
}
void uart_init()
{
TMOD=0x20; // 设置定时器1 为方式2
TH1=0xfd; //装入初值 11.0592
TL1=0xfd;
TR1=1; //启动定时器1
SM0=0;
SM1=1; //设置串口为方式1
REN=1; // 接受使能
EA=1; // 打开总中断开关
ES=1; // 打开串口中断开关 |