单片机实验(proteus+keil)串行通信实验

一、实验题目利用虚拟终端,实现上位机与下位机的通信。上位机发出指定字符,下位机收到后返回原字符。采用中断和查询两种方式。虚拟终端通过PC的键盘发送数据到单片机系统,单片机... 一、实验题目
利用虚拟终端,实现上位机与下位机的通信。上位机发出指定字符,下位机收到后返回原字符。采用中断和查询两种方式。虚拟终端通过PC的键盘发送数据到单片机系统,单片机将接收到的数据再回发给虚拟终端,虚拟终端接收到数据后通过虚拟终端窗口显示出来,与发送的数据进行比对。

二、实验目的
掌握串行口工作原理及通信程序的编制方法

三、实验说明
PROTEUS提供了虚拟终端,利用虚拟终端用户可以通过PC键盘(并经过RS232异步)发送数据到单片机仿真系统,同时也可接收来自单片机仿真系统的数据并通过虚拟终端窗口显示出来。这一功能在调试中很有用。
求实验
求实验的程序、电路连接、8031
展开
 我来答
夜猫叫枫子
2012-04-25 · TA获得超过1160个赞
知道小有建树答主
回答量:704
采纳率:0%
帮助的人:489万
展开全部

我给你 

程序:

#include <reg51.h>

 volatile char temp;

 volatile char flag;

void main(void)

{

  P3 |= 0x03;

  TMOD=0x20;

  TH1=0xfd;

  TL1=0xfd;

  TR1=1;

  EA=1;

  ES=1;

  SM0=0; 

  SM1=1;

  REN=1;

  IP=0x00;

  flag= 0;

  while(1)

  {

 while ( flag == 0 );

 flag = 0;

 TI = 0;

 SBUF = temp;

 while ( !TI );

  }

}

void SerialIsr(void) interrupt 4

{  

  if(RI)

  {

    RI=0;

temp = SBUF;

flag = 1;

  }

}

追问
请问一下我的第一次调试出现过黑色输入框,但是输入的时候看不懂字母,而且没有回显,第二次调试就不出现输入框。这是为什么呢,还有请问一下各个波特率的设置,3q。还有就是http://zhidao.baidu.com/question/415652455.html?quesup2&oldq=1这个实验帮看一下,3q
追答
不好意思,连线的时候应该是我点错了,图应该是下面这样子的

如果输入框,也就是终端界面不见了,可以点击运行,鼠标在Virtual Terminal右键,然后选最下面的那个Virtual Terminal,把它勾上,界面就出来了,如果无法输入,在已经出现的界面上,用鼠标右键,勾选上Echo Typed Character,这样就可以输入了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式