工程文件下载:(包括keil源程序+Protues仿真)
https://static.assets-stash.eet-china.com/album/old-resources/2009/10/30/c331c27a-b2f8-47a2-85ea-f831af1c2cfc.rar
注:本程序完全在仿真下实现,无需串口。
清先下载虚拟串口,并按照下面的介绍具体操作,
main函数如下:
#include <reg51.h>
#include <intrins.h>
unsigned char tmp;
void send_int(void);
void send_char(unsigned char txd);
void main()
{
send_int();
while(1)
{
if(RI) // 是否有数据到来
{
RI = 0;
tmp = SBUF; // 暂存接收到的数据
// P0 = tmp; // 数据传送到P0口
send_char(tmp); // 回传接收到的数据
}
}
}
void send_int(void)
{
TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率
TH1 = 0xF3; // 波特率2400
TL1 = 0xF3;
SCON = 0x50; // 设定串行口工作方式
TR1 = 1; // 启动定时器1
// IE = 0x0; // 禁止任何中断
}
void send_char(unsigned char TXD) // 传送一个字符
{
SBUF = TXD;
while(!TI); // 等特数据传送
TI = 0; // 清除数据传送标志
}
用户531583 2011-10-17 00:10