1.参考文章下载地址:http://download.csdn.net/source/1927624
2.虚拟串口
3.串口调试助手
4.Proteus 7.5
sp3
实现方法
1.参考文章(参考文章是从CSDN下载的一篇PDF文件)已经很详细的说明了怎么实现,我就不想啰嗦了,我只提供几个关键的截图和串口调试程序代码
如果参考文章打不开我提供参考文章的下载连接
2.提供Proteus的连线图如下:(值得注意的是单片机的RXD和TXD分别和串口的RXD和TXD一一对应相连,这和用Proteus的虚拟终端给串口输入信号时,单片机和串口的连接方式是不一样的,用Proteus的虚拟终端作为串口输入信号的时候单片机的RXD和串口的TXD相连,是交错连接的)
注意:1.51单片机的晶振频率我设置的是11.0592MHz,单片机载入的program
file可以是HEX,也可以是BIN
2.SCMR表示单片机接收到的内容,SCMT代表单片机发送出去的内容
3.我的串口设置如下图(主要设置波特率,这里是9600)
4.我的虚拟串口程序的抓图如下
6.我串口调试工具的截图如下:
7.最后附上串口调试所使用到的程序代码(只写了输入调试的程序)
#include
void init();
void
main()
{
init();
while(1)
{
while(!RI); //RI=1,判定为串口接收到了数据,RI要清零,
RI=0; //否则就会进入中断,如果没接收数据就一直在while循环
P1=SBUF; //如果介绍到数据就点亮第一个发光二极管
}
}
void
init()
{
TMOD=0x20; //设置T1工作方式为方式2
TH1=0xfd; //给定时器高位装初值
TL1=0xfd; //给定时器低位装初值
TR1=1; //开定时器
//以上是设置波特率
SM0=0; //设置串口通讯方式为方式1
SM1=1;
REN=1; //串口是否接收数据的开关
}
8.最后提供一张调试成功的截图
关键字:Proteus 虚拟串口 程序仿真 51单片机 串口
引用地址:
Proteus通过虚拟串口程序仿真51单片机串口的实现
推荐阅读最新更新时间:2024-03-16 15:32
STM32F103V 4串口电路
最近做东西,需要用到4个串口,就用了STM32F103V,画了个电路 原理图: PCB: 实物图: 串口中断相关的程序段: void GPIO_Configuration(void) { RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1 |RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE);
[单片机]
keil通过UART串口打印汉字到串口工具乱码的问题
近通过STMCubexMX生成的代码程序,将打印的字符串通过uart串口打印出来,发现中文字符乱码,参考了keil5串口USART输出中文乱码的解决方法_zhouml_msn的博客-CSDN博客_串口输出中文 但是我解决的方法正好和他的相反;程序中要打印的汉字在,MobaXterm中显示如下: 通过记事本打开main.c文件发现它是以ANSI格式保存的, 通过:文件- 另存为- 编码格式改成UTF-8,覆盖原来的文件 再重新编译,下载就正常显示中文字符
[单片机]
基于51单片机的PID控制的DC/DC电路仿真+程序设计
寒假前做的课程综合设计,融合了单片机技术,模拟电子技术,电力电子技术,自动控制技术,设计了一个基于51单片机的PID控制的DC/DC电路,该设计主体电路是BUCK电路,用单片机进行控制开关管的导通关断,从而实现对DC/DC的控制要求。开关管所需的PWM由单片机进行运算后发出,采用PID算法,最终实现了DC/DC的输出功能。 仿真原理图如下 主电路 仿真 BUCK电路 单片机源程序: #include reg51.h #define uchar unsigned char #define uint unsigned int sbit pwm=P2^7; sbit lcdrs=P2^2; sbit
[单片机]
基于51单片机的数码管设计
导语 数码管/LED点阵是嵌入式系统中常见的显示方案,我们通过数码管可以将代码运行的结果可视化出来,是一种常见的显示器件,相对于屏幕,数码管成本低,被广泛的运用在各类小型家电,工业控制中。学会使用数码管,对于理解C语言控制GPIO有着很大的帮助。 数码管 数码管本质上是多个发光的LED等封装在一起,通过不同的LED灯点亮,使得数字或者符号显示出来,常见的由八段数码管,包括小数点在内共有8个LED灯封装在一起,其显示符号范围较广,配合封装显示可有更广泛的显示,被广泛使用。 其他更复杂的如米字数码管可以显示数字和26个英文字母,但其控制更加复杂,不常使用。 由于采用LED灯作为显示光源,由此数码管也存在共阴极和共阳极,其共阴极和共
[单片机]
武林教你学PIC32(七)串口收数据
上节讲了串口如何发数据,这次我们介绍下查询和中断两种不同方法收数据 首先介绍几个相关函数如图所示: 下面我们就用这几个函数,实现输入字符串回显的功能:
[单片机]
51单片机数码管显示的数字钟
这是一个基于51单片机的数字钟程序用数码管来显示数据. 原理图源代码及仿真文件下载地址: http://www.51hei.com/bbs/dpj-20407-1.html 下面是源码: #include AT89X51.H unsigned char code dispcode ={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00}; unsigned char dispbitcode ={0
[单片机]
STM32-串口超时判断方式接收未知长度数据
usart.c串口中断处理函数: void USART1_IRQHandler(void) { u8 res; if(USART1- SR&(1 5))//接收到数据 { res=USART1- DR; if(USART1_Recv_LenCV_LEN) //还可以接收数据 { TIM3- CNT=0; //计数器清空 if(Rec_Over_Flag==0)TIM3_Set(1); //使能定时器4的中断 USART1_RX_BUF =res; //记录接收到的值
[单片机]
如何创建51单片机KEIL工程步骤
1. 什么是Keil软件 Keil软件是一款专为嵌入式系统开发而设计的集成开发环境(IDE),常用于51、STM32单片机软件开发的编程软件。Keil编程软件不仅支持多种工具和扩展程序,还能够处理多种文件格式和数据交换方式;可支持单片机程序的在线仿真,或通过仿真器进行实物仿真,大大方便开发人员的工作。 其中,我们常用的Keil软件有两种,分别为Keil C51以及Keil MDK,前者主要用于51单片机等8051内核单片机的开发工具(不支持32位单片机),Keil MDK主要用于ARM架构单片机的开发工具,主要用于STM32单片机等32单片机。所以在使用Keil软件时需要主要这一点。 2.如何创建51单片机KEIL工程步骤
[单片机]