标题:
单片机与PC机串口通讯proteus仿真图+源码无效 求指导
[打印本页]
作者:
940148990
时间:
2018-11-19 10:32
标题:
单片机与PC机串口通讯proteus仿真图+源码无效 求指导
互相学习 ,有问题的欢迎提出,串口通讯仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
(23.42 KB, 下载次数: 53)
下载附件
2018-11-19 16:36 上传
0.png
(13.32 KB, 下载次数: 43)
下载附件
2018-11-19 16:36 上传
单片机源程序如下:
/*************** writer:shopping.w ******************/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar Receive_Buffer[101];
uchar Buf_Index = 0;
uchar code DSY_CODE[]=
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00
};
void Delay(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
void main()
{
uchar i;
P0 = 0x00;
Receive_Buffer[0]=i;
SCON = 0x50;
TMOD = 0x20;
PCON = 0x00;
TH1 = 0xfd;
TL1 = 0xfd;
EA = 1;
EX0 = 1;
IT0 = 1;
ES = 1;
IP = 0x01;
TR1 = 1;
while(1)
{
for(i=0;i<100;i++)
{
if(Receive_Buffer[i]==-1)
break;
P0 = DSY_CODE[Receive_Buffer[i]];
Delay(200);
}
Delay(200);
}
}
void Serial_INT() interrupt 4
{
uchar c;
if(RI==0)
return;
ES = 0;
RI = 0;
c = SBUF;
if(c>='0' && c<='9')
{
Receive_Buffer[Buf_Index]=c-'0';
Receive_Buffer[Buf_Index+1]=-1;
Buf_Index = (Buf_Index+1)%100;
}
ES = 1;
}
void EX_INT0() interrupt 0
{
uchar *s = ("Receiving From 8051...\r\n");
uchar i = 0;
while(s[i]!='\0')
{
SBUF = s[i];
while(TI == 0);
TI = 0;
i++;
}
}
复制代码
所有资料51hei提供下载:
单片机与PC机串口通讯仿真.zip
(32.63 KB, 下载次数: 170)
2018-11-19 10:30 上传
点击文件名下载附件
作者:
JKSHGAJ
时间:
2018-11-25 21:25
不能用
作者:
阿根1
时间:
2019-6-16 13:52
代码52到69行其实可以改一下的,有点反复了
作者:
15994966055
时间:
2019-12-7 13:34
是需要PC机有串口调试助手吧
作者:
dfyl
时间:
2019-12-7 21:23
不会用呀。
作者:
brzs
时间:
2021-7-15 15:10
这个进行仿真后怎么用,按那个开关没反应
作者:
lishengaha
时间:
2021-7-17 07:33
这个仿真要有虚拟串口才能用的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1