KEIL中如何用虚拟串口调试串口程序

合集下载

使用Keil软件模拟调试单片机串行口

使用Keil软件模拟调试单片机串行口

使用Keil软件模拟调试单片机串行口单片机串行口是单片机中很常见的接口之一,常用于与外界通讯,如与PC机通讯,接收或发送数据等。

Keil软件可以帮助我们模拟及调试单片机串行口,下面是详细介绍。

一、Keil软件简介Keil是一款强大的单片机编程软件,具有模拟器和仿真器。

其可支持多种嵌入式系统和多种编译器。

同时Keil具有标准C 编译器,专门用于单片机编程,而且具有与某些模拟器和编译器的集成,可提供完整的嵌入式开发环境。

二、使用Keil软件模拟1. 连接软件与硬件在开始模拟之前,需要将单片机与电脑通过串口连接好。

打开“Options for Target”对话框,选择“Debug”选项卡,选择正确的COM 端口,设置存根速度,完成调试设置。

2. 添加串行口文件在Keil软件中打开设计文件,键入“#include <reg52.h>”来添加注册头文件,其中包含了需要使用串口的相关寄存器位。

利用如下代码,可以对串行口的各项参数进行设置,例如波特率、校验位等等。

void init(){SCON = 0X50; //使串口工作在方式1,即8位数据,可变波特率TMOD |= 0X20; //TMOD的高4位设为0010,使Timer1工作在方式2TH1 = 0XF3; //波特率设为2400bpsTL1 = 0XF3;TR1 = 1; //启动Timer1ES = 1; //开启串口中断EA = 1; //打开总中断}3. 编写数据收发代码在调用串口的过程中,我们往往需要使用到接收和发送两个函数。

在接收方面,我们需要设置好接收中断模式以及缓冲区的异步处理。

编写简单的数据接收收发代码如下:void send_data(unsigned char dat){SBUF = sdat; //将数据传输到SBUF当中while(!TI); //等待发送完成TI = 0; //完成发送}unsigned char receive_data(){while(!RI); //等待接收完成RI = 0; // 完成接收return SBUF; // 返回接收缓冲区}4. 最后进行模拟完成串行口配置和数据处理之后,就可以开始模拟调试了。

虚拟串口使用说明

虚拟串口使用说明

用proteus里的单片机跟pc的串口调试工具进行串口仿真虚拟串口使用说明打开虚拟串口的文件夹,可以看见如下两个文件,一个是破解用的,一个是安装用的。

双击安装图标开始安装。

选择同意,一路NEXT即可。

安装后再将破解用的文件粘贴到C:\Program Files\Eltima Software\VSPD XP 5.1目录下,覆盖原来的文件即可。

在桌面就可以看到快捷方式。

双击快捷方式后你会看到如下画面:上面为你实际的物理串行口,下面是虚拟的物理串行口。

下面我们来增加一对虚拟串行口。

因为一般的电脑最多为两个串行口,在这个画面上,我们设置first为com3,second为com4,点击add pair就可以增加一对虚拟串口(如下图所示)。

这两对端口是通过这个软件物理连接的,并且是rs232电平连接。

这样我们就完成里串口的设置,可以把此软件关闭,这两个端口将会一直存在于你的电脑中,下次直接使用就可以了。

Protus中的串口设置仿真电气原理图请打开本例的仿真文件:下面我们对串口进行设置和邦定:在proteus右键单击上面的图选定,然后左键单击此元件打开它的属性对话框。

如下图所示:设置蓝色框内的参数,为你实际的参数,其中红色圈内设置为你要邦定的串口,本例邦定为com4,必须为com3和com4中的一个。

下面就是对串口调试工具的设置了,设置如下:因本例proteus用了com3,那么串口调试工具这里就要邦定为com4了,并且设置为16进制发送和显示,那么这样一切ok,开始吧。

点击proteus的播放键,切换到串口调试工具,哈哈受到数据了。

然后你再发送一些数据给单片机看看,哈哈,是不是很棒呢。

Keil软件串口调试实用技巧

Keil软件串口调试实用技巧

Keil软件的串口调试技巧[ 来源:| 更新日期:2007-6-4 22:47:08 | 评论0 条| 我要投稿]引言在单片机系统中,串口(UART,通用异步收发接口)是一个非常重要的组成部分。

通常使用单片机串口通过RS232/RS485电平转换芯片与上位机连接,以进行上位机与下位机的数据交换、参数设置、组成网络以及各种外部设备的连接等。

RS232/RS485串行接口总线具有成本低、简单可靠、容易使用等特点,加上其历史悠久,所以目前应用仍然非常广泛;特别对于数据量不是很大的场合,串口通信仍然是很好的选择,有着广阔的使用前景。

在单片机编程中,串口占了很重要的地位。

传统方式串口程序的调试,往往是利用专用的单片机硬件仿真器。

在编写好程序后,利用仿真器来设置断点,观察变量和程序的流程,逐步对程序进行调试,修正错误。

使用硬件仿真器的确是很有效的方法,但是也有一些缺点:◆很多仿真器不能做到完全硬件仿真,因而会造成仿真时正常,而实际运行时出现错误的情况;也有仿真不能通过,但是实际运行正常的情况。

◆对于一些较新的芯片或者是表面贴装的芯片,要么没有合适的仿真器或仿真头;要么就是硬件仿真器非常昂贵,且不容易买到。

◆有时由于设备内部结构空间的限制,仿真头不方便接入。

◆有的仿真器属于简单的在线仿真型,仿真时有很多限制。

例如速度不高,实时性或稳定性不好,对断点有限制等,造成仿真起来不太方便。

1 调试前的准备工作下面介绍一种利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法。

使用这种方法,无需任何硬件仿真器,甚至都不需要用户电路板。

所需的只是:①硬件。

1台普通计算机(需要带有2个标准串口)和1根串口线(两头都是母头,连线关系如图1所示)。

②串口软件可以是自己编写的专用调试或上下位机通信软件,也可以是通用的串口软件(如串口助手、串口调试等),主要用来收发数据。

如果没有合适的串口调试软件,则可使用笔者编写的一个免费的串口小工具TurboCom。

keil ARM与虚拟串口联调设置及解决办法

keil ARM与虚拟串口联调设置及解决办法

Keil ARM 与虚拟串口联调设置第一步:创建虚拟串口使用工具:Configure Virtual Serial Port Driver记住自己创建的两个虚拟串口第二步:创建debug.ini 命令执行文件Mode COM2 9600,0,8,1assign com2 <S2IN> S2OUT注意:1:串口选择与虚拟串口相同2:串口工作波特率,校验方式,数据长度,停止位assign com2 <输入寄存器> 输出寄存器串口工作方式对应9600,0,8,19600,1,8,19600,2,8,1第三步:环境设置第四步:全部编译进入调试:开启仿真,打开串口调试助手。

虚拟串口驱动显示工作方式其他:命令行也可以直接写命令在命令栏中,操作如下:点击进入仿真模式,在命令行将debug.ini命令输入错误解决办法:*** error 30, line 2: undefined name of virtual register问题描述:虚拟寄存器没有定义问题原因:命令assign com2 <S2IN> S2OUT中<S2IN> S2OUT是没有定义的。

可以通过dir vtreg命令查看可以寄存器对将对应串口寄存器写入对应命令中*** error 65: access violation at 0x40021000 : no 'read' permission驱动没有调用正确*** error 127, line 2: Com channel not opened, use MODE command first 命令:Mode COM4 9600,0,8,1assign com4 <S2IN> S2OUT中的串口选择错误,要确保与虚拟串口一致。

KEIL开发环境与虚拟串口屏绑定调试V1.0

KEIL开发环境与虚拟串口屏绑定调试V1.0

Keil开发环境与虚拟串口屏绑定调试版本:V1.0Keil开发环境与虚拟串口屏绑定调试1.1 概述在实际调试过程中,若我们手头上没有硬件实物或每次修改工程图片又得重新下载而浪费时间,此时我们就可以直接将Keil开发环境与虚拟串口屏连接起来。

用户使用Keil程序Debug仿真时,虚拟串口屏显示也会跟着一起变化。

由于虚拟串口屏跟真实的串口屏功能一模一样,这样的调试模式无异给开发者带了莫大的方便,如图0.1所示。

图0.1 Keil开发环境与虚拟串口屏绑定调试1.2 操作流程任何初学者,只要按照以下流程操作,即可快速完成Keil与虚拟串口屏的绑定。

1.2.1 软件工具准备1.虚拟串口VSPXD软件,在我司官网进行下载。

2.VisualTFT软件。

3.Keil开发软件。

1.2.2 安装虚拟串口VSPXD软件首先,我们必须现在电脑上安装1对虚拟串口,通过这对虚拟串口连接Keil和虚拟串口屏。

若您电脑上已经安装了虚拟串口VSPXD,此章节可以跳过。

安装步骤如下:1.解压“虚拟串口VSPXD软件”,运行可执行文件“VSPDXP.exe”,如图0.2所示。

图0.2 VSPXD安装程序2.选择默认安装路径,点击下一步,直至安装完成,如图0.3所示。

打开桌面虚拟串口软件“VSPD XP 5”,如图0.5所示。

图0.5 打开VSPD软件physical ports目录下表示当前电脑物理硬件串口,物理硬件串口无法与虚拟串口通道进行匹配。

建立并绑定1对虚拟串口。

如图0.6所示,在First菜单中选择COM3,Second 选择COM4,然后点击Add pair,此时Virtual ports目录下会出现这1对被绑定的串口,如图0.6图0.7所示。

图0.7 虚拟串口对生成如何删除虚拟串口通道。

若需要删除虚拟串口,只需选中对应虚拟串口,然后点击Delete pari,即可删除,如所示。

这一步暂时不需要操作。

图0.8 删除虚拟串口4.查看虚拟串口。

介绍利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法

介绍利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法

介绍利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法在单片机系统中,串口(UART,通用异步收发接口)是一个非常重要的组成部分。

通常使用单片机串口通过RS232/RS485电平转换芯片与上位机连接,以进行上位机与下位机的数据交换、参数设置、组成网络以及各种外部设备的连接等。

RS232/RS485串行接口总线具有成本低、简单可靠、容易使用等特点,加上其历史悠久,所以目前应用仍然非常广泛;特别对于数据量不是很大的场合,串口通信仍然是很好的选择,有着广阔的使用前景。

在单片机编程中,串口占了很重要的地位。

传统方式串口程序的调试,往往是利用专用的单片机硬件仿真器。

在编写好程序后,利用仿真器来设置断点,观察变量和程序的流程,逐步对程序进行调试,修正错误。

使用硬件仿真器的确是很有效的方法,但是也有一些缺点:很多仿真器不能做到完全硬件仿真,因而会造成仿真时正常,而实际运行时出现错误的情况;也有仿真不能通过,但是实际运行正常的情况。

对于一些较新的芯片或者是表面贴装的芯片,要么没有合适的仿真器或仿真头;要么就是硬件仿真器非常昂贵,且不容易买到。

有时由于设备内部结构空间的限制,仿真头不方便接入。

有的仿真器属于简单的在线仿真型,仿真时有很多限制。

例如速度不高,实时性或稳定性不好,对断点有限制等,造成仿真起来不太方便。

1、调试前的准备工作下面介绍一种利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法。

使用这种方法,无需任何硬件仿真器,甚至都不需要用户电路板。

所需的只是:①硬件。

1台普通计算机(需要带有2个标准串口)和1根串口线(两头都是母头,连线关系如图1所示)。

②串口软件可以是自己编写的专用调试或上下位机通信软件,也可以是通用的串口软件(如串口助手、串口调试等),主要用来收发数据。

如果没有合适的串口调试软件,则可使。

如何使用串口调试助手Keil软件仿真的串口调试技巧

如何使用串口调试助手Keil软件仿真的串口调试技巧

如何使用串口调试助手Keil软件仿真的串口调试技巧在嵌入式系统开发中,串口调试是一项非常重要的技术。

Keil软件是一个广泛应用于嵌入式系统开发的软件平台,通过其内置的串口调试助手,我们可以方便地进行仿真的串口调试。

本文将介绍如何使用串口调试助手Keil软件仿真的串口调试技巧。

1. 了解串口基础知识在开始使用串口调试助手之前,首先需要了解一些串口的基础知识。

串口通信是一种通过串行传输数据的通信方式,常用的串口通信标准有RS232、RS485等。

了解波特率、数据位、停止位、校验位等串口通信参数的含义和选择是必要的。

2. 配置串口参数打开Keil软件后,选择对应的工程文件,并进入工程配置页面。

在这里,我们可以找到串口调试助手的配置选项。

根据实际需求,设置串口通信的参数,如波特率、数据位、停止位、校验位等。

确保与目标设备的串口参数一致,才能正常进行串口通信。

3. 编写串口发送与接收代码在代码中,我们需要编写串口发送和接收的相关代码。

通过Keil软件提供的API函数,我们可以方便地实现数据的发送和接收。

在发送数据时,需要将数据写入到相应的寄存器,以便传输到串口。

而在接收数据时,需要从寄存器中读取数据。

通过合理设计代码,可以实现稳定可靠的串口通信。

4. 仿真运行程序完成代码编写后,我们可以进行仿真运行,以验证串口调试功能的正确性。

在Keil软件中,可以选择进行单步调试、断点调试或连续运行调试。

通过监视寄存器的值变化、观察串口发送与接收的数据情况,可以帮助我们进行串口调试。

5. 使用串口调试助手测试在完成仿真运行后,我们可以使用串口调试助手进行测试。

打开串口调试助手,并选择与目标设备串口参数一致的配置。

点击打开串口,即可开始接收串口发送的数据。

通过观察串口调试助手输出的数据,可以验证串口通信的正确性。

6. 调试技巧与注意事项在使用串口调试助手Keil软件进行串口调试时,还需要注意一些调试技巧与注意事项。

首先,确保串口连接正确可靠,避免松动或接触不良导致数据传输错误。

keil MDK 中使用虚拟串口调试串口

keil MDK 中使用虚拟串口调试串口

keil MDK 中使用虚拟串口调试串口看了很多的文章,写的都很简单(其实也很简单:))。

给出个详细一点的教程。

1. 利用VSPD将PC上的两个虚拟串口连接起来。

如图我将COM2 和COM3连接起来。

点击Addr pair。

2. 可以看到Virtual ports上将两个虚拟串口连接到了一起了。

3.虚拟串口准备就绪了。

先将直接输入命令的方式来调试。

我们打开KEIL MDK的,设置成仿真的模式。

点DEBUG.在COMMAND串口输入:MODE COM2 38400, 0, 8, 1 说明:MODE命令的作用是设置被绑定计算机串口的参数。

基本使用方式为:MODE COMx baudrate, parity, databits, stopbits其中:COMx(x = 1,2,…)代表计算机的串口号;baudrate代表串口的波特率;parity代表校验方式;databits代表数据位长度;stopbits代表停止位长度。

例如:MODE COM1 9600, n, 8, 1设置串口1。

波特率为9 600,无校验位,8位数据,1位停止位。

MODE COM2 19200, 1, 8, 1设置串口2。

波特率为19 200,奇校验,8位数据,1位停止位。

4、点回车后,再输入ASSIGN COM2 &lt;S1IN&gt; S1OUT 说明:COMx代表计算机的串口,可以是COM1、COM2、COM3或其他;inreg和outreg代表单片机的串口。

对于只有一个串口的普通单片机,即SIN和SOUT;对于有两个或者多个串口的单片机,即SnIN和SnOUT(n=0,1,…即单片机的串口号)。

例如:ASSIGN COM1 &lt; SIN &gt; SOUT将计算机的串口1绑定到单片机的串口(针对只有一个串口的单片机)。

ASSIGN COM2 &lt; SIN &gt; SOUT将计算机的串口2绑定到单片机的串口0(针对有多个串口的单片机,注意串口号的位置)。

Keil与VSPD软件仿真的智能仪表串口通信调试方法

Keil与VSPD软件仿真的智能仪表串口通信调试方法
型 竺 团 园 匦 旌
K i与 V P e l S D软 件 仿 真 的智 能 仪表 串 口通信 调试 方法
阳 世 荣
( 国舰 船 研 究 与 设 计 中 心 , 汉 4 0 6 ) 中 武 3 0 4
摘 要 :串口通 信 编 程 与 调 试 是 智 能仪 表 开发 的 重要 内容 , 文介 绍 了一 种 基 于 Kel VS D 的 纯 软 件 仿 真 的 串 口通 信 本 i与 P
调 i 3 法 , 需 硬 件 仿 真 电路 , 调 试 计 算 机 也 没 有 特 殊 的硬 件接 口要 求 。这 种 调 试 方 法使 用 简单 方便 , 济 成 本 低 , &- 无 对 经 能
大 大减 少研 制 成 本 , 可 应 用 于其 他 硬 件 平 台 开发 场合 。 并
关 键 词 :串 口通 信 ; 能仪 表 ; i VS D 仿 真 调 试 智 Kel P ;
Ba e n Ke- a d VSPD fwar m u a i n s do l n So t e Si l to
Ya g S i o n h r ng
( Chi i veo na Sh p De l pm e tan sgn Ce e W uha 00 n d De i nt r, n 43 64, Chi a n)
成 为单 片机 智 能仪 表 系 统 开 发 的 重 要 内容 。 串 口通 信 程
序 的传 统 调 试 方 式 , 往 需 要 利 用 专 用 的单 片 机硬 件 仿 真 往
1 基 本 流 程 介 绍
本 调 试 方 法 无 需 任 何 硬 件仿 真 器 以 及 用 户 电 路 板 , 对
c rn u c ie/ a s te , 用 异 步 收 发 接 口) 程 h o o sReev r Trn mi r 通 t 编

单片机虚拟串口的使用方法

单片机虚拟串口的使用方法

单片机虚拟串口的使用方法单片机的虚拟串口是一种非常常见的通信方式,它利用串口模拟的方式来进行数据的传输。

虚拟串口能够让单片机和计算机之间实现数据的传输和通讯,从而方便了开发者的开发工作,更好地实现了单片机与计算机的互联互通。

虚拟串口的使用方法如下:1. 确定虚拟串口的通信参数在使用虚拟串口前,首先要确认好虚拟串口的通信参数。

一般来说,包括波特率、数据位、停止位、奇偶校验等参数。

这些参数需要与单片机的串口通信参数相对应,否则通信将会失败。

2. 安装虚拟串口驱动程序在计算机上进行单片机项目的开发时,需要先安装对应的虚拟串口驱动程序。

常用的虚拟串口驱动程序有VirtualSerialDriver、FTDI等。

在安装驱动程序时,需要根据计算机的操作系统版本,选择对应的驱动程序版本。

3. 编写单片机程序在单片机中涉及到虚拟串口的程序中,需要先初始化串口通信参数,并打开串口,然后循环等待从串口接收到的数据。

在循环中,可以使用串口发送数据给计算机,或者从计算机接收数据。

4. 在计算机上打开虚拟串口设备在单片机程序中设置好虚拟串口的通信参数后,需要在计算机上打开虚拟串口设备。

在计算机的设备管理器中,能够看到已经成功安装的虚拟串口设备。

打开对应的串口,设置对应的通信参数即可。

5. 测试通信在单片机和计算机之间建立虚拟串口连接后,需要进行测试,确保串口通信正常。

可以先从单片机发送数据给计算机,观察是否能够在计算机上接收到数据;然后,可以在计算机上发送数据给单片机,观察单片机是否能够接收到数据。

如果测试结果正确,就可以通过这个虚拟串口通讯了。

总的来说,单片机虚拟串口的使用是比较简单的,只需设置好通信参数,安装对应的驱动程序,然后编写好单片机程序,最后进行测试即可。

虚拟串口通信的优点是方便快捷,能够更好地连接单片机与计算机,方便数据传输和控制。

因此,在实际应用中,虚拟串口通信被广泛应用于各种单片机项目开发中。

如何使用串口调试助手Keil软件仿真的串口调试技巧

如何使用串口调试助手Keil软件仿真的串口调试技巧

在单片机系统中,串口(UART,通用异步收发接口)是一个非常重要的构成部分。

凡是使用单片机串口通过RS232/ RS485电平转换芯片与上位机毗连,以进行上位机与下位机的数值互换、参量设置、构成收集以及各种外部设备的毗连等。

RS232/ RS485串行接口总线具备成本低、简略可靠、容易使用等特点,加上其历史悠久,所以目前应用仍然非常广泛;特别对于数值量不是很大的场所,串口通信仍然是很好的选择,有着广阔的使用远景。

在单片机编程中,串口占了很重要的地位。

传统方式串口程序的调试,往往是哄骗专用的单片机硬件仿真器。

在编写好程序后,哄骗仿真器来设置断点,观察变量和程序的流程,逐步对程序进行调试,批改错误。

使用硬件仿真器的确是很有效的方法,但是也有一些缺点:很多仿真器不克不及做到完全硬件仿真,因而会造成仿真时正常,而实际运行时呈现错误的环境;也有仿真不克不及通过,但是实际运行正常的环境。

对于一些较新的芯片或者是外貌贴装的芯片,要么没有合适的仿真器或仿真头;要么就是硬件仿真器非常昂贵,且不易买到。

有时候由于设备内部结构空间的限制,仿真头不利便接入。

有的仿真器属于简略的在线仿真型,仿真时有很多限制。

例如速度不高,及时性或不改变性别不好,对断点有限制等,造成仿真起来不太利便。

1 调试前的准备工作底下先容一种哄骗Keil的软件仿真功能来实现51单片机串口调试用户程序的方法。

使用这种方法,无需任何硬件仿真器,甚至都不需要用户电路板。

所需的只是:①硬件。

1台普通计算机(需要带有2个标准串口)和1根串口线(两头都是母头,连线瓜葛如图1所示)。

②串口软件可所以自己编写的专用调试或上下位机通信软件,也可所以通用的串口软件( 如串口助手、串口调试等) ,首要用来收发数值。

如果没有合适的串口调试软件,则可使用作者编写的一个免费的串口小工具TurboCom。

除了与其它软件一样的数值收发功能外,它还有定时轮流发送自界说数值帧和自动应答(接收到指定命据帧后,自动返回相应的数值帧)这两个很有用的功能,特别适合于老化测试。

KEIL中如何用虚拟串口调试串口程序

KEIL中如何用虚拟串口调试串口程序

KEIL中如何用虚拟串口调试串口程序以前没接触过串口,一直都以为串口很复杂。

最近在做一个新项目,用单片机控制GSM模块。

单片机和GSM模块接口就是串口。

调试完后觉得串口其实很简单。

“不过如此”。

这可能是工程师做完一个项目后的共同心态吧。

下面详细介绍下如何用虚拟串口调试串口发送接收程序。

需要用到三个软件:KEIL,VSPD XP5(virtual serial ports driver xp5.1虚拟串口软件),串口调试助手。

1、首先在KEIL里编译写好的程序。

2、打开VSPD,界面如下图所示:左边栏最上面的是电脑自带的物理串口。

点右边的add pair,可以添加成对的串口。

一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。

3、接下来的一步很关键。

把KEIL和虚拟出来的串口绑定。

现在把COM3和KEIL绑定。

在KEIL中进入DEBUG模式。

在最下面的COMMAND命令行,输入MODE COM3 4800,0,8,1(设置串口3的波特率、奇偶校验位、数据位、停止位,打开COM3串口,注意设置的波特率和程序里设置的波特率应该一样)ASSIGN COM3 SOUT(把单片机的串口和COM3绑定到一起。

因为我用的单片机是AT892051,只有一个串口,所以用SIN,SOUT,如果单片机有几个串口,可以选择S0IN,S0OUT,S1IN,S1OUT。

)4、打开串口调试助手可以看到虚拟出来的串口COM3、COM4,选择COM4,设置为波特率4800,无校验位、8位数据位,1位停止位(和COM3、程序里的设置一样)。

打开COM4。

现在就可以开始调试串口发送接收程序了。

可以通过KEIL发送数据,在串口调试助手中就可以显示出来。

也可以通过串口调试助手发送数据,在KEIL中接收。

这种方法的好处是不用硬件就可以调试。

这是网上一篇文章介绍的方法,联系我实际的使用做了整理。

基于Keil与VSPD软件仿真的串口通信调试技术

基于Keil与VSPD软件仿真的串口通信调试技术

Ba e n K e la d V S s d o i n PD o t r m ul to S fwa e Si a in
Ya g S io g n hrn
( i a S i v l p n n sg n e ,W u a 4 0 6 ) Ch n h p De eo me ta d De in Ce t r hn 3 0 4
真器 , 增加 了资金 投 人 。另 外 , 统 的 调试 技 术 要 传 求调 试计算 机具备 串行 通信 口, 现在 很 多新型计 而
R ci / rnmie, ee eT as t r通用异 步收发接 口) v t 通信 的
编程 与调试成 为 单 片机 智 能仪 表 系统 开 发 的重 要 内容 。串 口通信 程序 的传统 调试技 术 , 往往 需要 利 用专用 的单 片机 硬 件仿 真器 和 调 试计 算 机 。在 编 写好程序 后 , 用 仿 真 器来 设 置 断 点 , 利 观察 变量 和
用l, 串 E ( l 其 2 ] l UAR Unv ra y c rn u T, i sl Asn h o o s e
步对程 序进行 调试 、 正错误 。 修 传 统调试 技术对 硬件仿 真器 依赖 性较 强 , 但是 很多仿真 器不 能做到完 全硬 件仿 真 , 因而 可能造 成 仿 真时 正常 , 实 际 运行 时 出现 错 误 的情 况 , 者 而 或 造 成仿 真不能 通 过 , 但是 实 际运 行 正 常 的情 况 ; 当 单 片机芯 片型号 发生较 大变化 时 , 需要 配 置新 的仿
总 第 14 9 期 21 0 0年第 8期
舰 船 电 子 工 程
S i e to i g n e i g h p Elc r n c En i e r n

巧用虚拟串口软件调试串口通信

巧用虚拟串口软件调试串口通信

巧用电脑虚拟串口软件调试串口通信殷建彬朱前华笔者在试用Proteus这个软件的时候,在Labcenter Electronics\Proteus 6 Demonstration\SAMPLES\目录下看到COMPIM Demo这个例子,电路图如图1所示。

它用虚拟串口物理模型(左侧的P1)和一个虚拟终端(右侧的VT1)通信。

在使用这个例子的时候,笔者准备使用一个串口调试软件sscom32来检验一下,发现需要把电脑的两个串口连接起来,并且要串口2、3脚颠倒使用,当时手头没有这样的连线,也就没有进行这个试验。

后来有一天突然想到软驱、光驱、打印机甚至PC都能虚拟,串口也应该可以吧?功夫不负有心人,终于在一个外国的网站上找到一个虚拟串口软件――Virtual Serial Ports kit。

虚拟串口的使用Virtual Serial Ports kit在它的官方网站上下载到的最新版本是4.72,可惜只有15天的试用期。

下载解压后点击setup.exe进行安装,安装的时候,要求你同意它的协议才能继续安装。

然后一路“NEXT”,就可以安装成功了!安装完毕点击桌面上的图标,出现图2所示的界面。

点击工具栏的图标,出现了如图3所示的对话框,这是让我们设置虚拟串口的。

一般来说,电脑硬件上已经设置串口COM1和COM2,所以我们可以把虚拟串口设置成COM3和COM4,让这两个串口通讯,点击“OK”按钮,这个时候软件的界面变成了如图4所示的界面了。

如果发现工具栏上按钮是灰色,还需要点击一下,使它变成绿色,这意味着两个串口可以正常通信了。

笔者先试验了一下这个软件。

同时运行两个sscom32软件,既双击sscom32图标两次,软件的界面如图5所示。

点击左侧串口选择下拉箭头,如图6,把运行的两个sscom32的串口分别设置为COM3和COM4(要和虚拟串口软件的一致。

)点击“打开串口”按钮,打开两个串口,使“打开串口”前面的指示灯变为红色。

使用Keil软件模拟调试单片机串行口

使用Keil软件模拟调试单片机串行口

使用Keil软件模拟调试单片机串行口作者:张万良来源:《数字技术与应用》2011年第04期摘要:由于串行通信硬件成本低,传输线少,适合于长距离数据传输所以在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。

但是单片机的串口通信不好硬件仿真。

为了能够方便的看到单片机串行通信的实际效果,利用Keilc 软件进行模拟调试不失为一个好的方法。

关键词:串行通信模拟调试仿真调试窗口串口控制寄存器中图分类号:TP368 文献标识码:A 文章编号:1007-9416(2011)04-0127-02单片机串行通信在单片机应用开发中应用广泛,通过串行口单片机与PC之间的通信是一个非常重要的应用。

由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。

但是如果没有实际的试验平台或者仅仅简单验证串行口通信程序使用Keil提供的串行窗口进行调试就够了。

随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,Keil软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Windows)、观察窗口(Watch&Call Statck Windows)、存储器窗口(Memory Window)、反汇编窗口(DissamblyWindow)串行窗口(Serial Window)等。

进入调试模式后,可以通过菜单View 下的相应命令打开或关闭这些窗口。

下面设计串口发送和接收的例子说明Keil 串行窗口的应用。

1、串口发送建立新工程,保存为serialSend,编写实验程序。

编译程序通过后,点击工具栏上的“调试” 按钮,进入调试状态。

点击调试窗口的串行窗口按钮打开串口1窗口。

此时两个窗口可能重叠在一起,可以点击“窗口|水平排列”使之都可见。

主要程序如下:void main()SCON = 0x50; // 串口工作方式1,允许接收TMOD |= 0x20;// 设置定时器1为模式2TH1 = TL1 = 0xFD; // 11.0592M下9600波特率的初值TR1 = 1;// 开始定时器1while (1)SBUF ='T'; // 发送数据Twhile (!TI);// 等待发送完成TI = 0;delayx1ms(100); // 延时100毫秒点击菜单栏上的“外围设备|serial”调出串行口,如图1:可以看到串行口寄存器SCON的初值以及各标志位的值,SBUF的初值。

keil printf 调用的串口

keil printf 调用的串口

keil printf 调用的串口
Keil printf调用的串口
Keil是一款很受欢迎的嵌入式开发工具,其中有一个很重要的功能就是能够通过外部串口通信来调试程序。

本文就介绍如何使用Keil printf函数来调用串口来实现调试功能。

1、首先,要在Keil中使用printf函数,必须安装两个文件:stdio.h 和 stdarg.h,它们可以在Keil的库中找到,需要注意的是,stdio.h中的文件要放在stdarg.h的下面。

2、编辑printf函数,在Keil新建一个文件,并将其命名为printf.c,并将其完成并编译,编译完成后可以正确的运行printf 函数:
/* 重定义printf函数 */
int fputc (int ch, FILE *f)
{
SendData(ch); // SendData为串口发送函数,由用户自定义
return ch;
}
/* 重定义getchar函数 */
int fgetc (FILE *f)
{
return 0;
}
3、在Keil的Project Workspace中的“Target”节点的“Output”中,勾上“use MicroLIB”,完成以上步骤后,就可以在程序中使用printf函数来调用外部串口了。

以上就是Keil中如何使用printf函数来调用外部串口的方法,Keil的printf函数可以使得调试程序非常方便,包括调试变量和输出信息等,您可以根据自己的实际情况进行适当的调整,而不必过多的花费时间,达到更快的调试效果。

Keil C环境下串口实验的模拟调试

Keil C环境下串口实验的模拟调试

Keil C环境下串口实验的模拟调试朱艳萍;邹应全;廖建辉【摘要】According to the practice teaching needs of the single chip, the specific methods and steps of serial communication between SCM and PC are proposed under Keil C51 software environment. The simulation experiment is as follows: Serial program sends two hexadecimal data, changes it for decimal and displays on four digital tubes. Comparing the simulation data under software step execution of I/O mouth with the actual serial interface communication results ,they are consistent. This experiment is to make the students more familiar with single-chip microcomputer software development environment and debugging details. And it also makes students deep understanding the serial interface communication and dynamic display.%根据单片机实践教学发展的需要,提出了在Keil C51软件环境下模拟单片机与PC机间串口通信的具体方法和步骤.仿真实验为:串口程序发送2位16进制数据,将其转换为十进制后,在4位LED上显示.通过比较软件单步执行的I/O口模拟数据,发现与实际串口通信结果一致.该实验使学生更加熟悉单片机软件开发环境下模拟硬件的调试方法,加深了学生对串口通信及动态显示的理解.【期刊名称】《实验技术与管理》【年(卷),期】2012(029)003【总页数】4页(P112-114,126)【关键词】串口通信;Keil C51;单片机【作者】朱艳萍;邹应全;廖建辉【作者单位】南京信息工程大学电子与信息工程学院,江苏南京 210044;江苏省气象探测与信息处理重点实验室,江苏南京210044;南京信息工程大学电子与信息工程学院,江苏南京 210044;江苏省气象探测与信息处理重点实验室,江苏南京210044;南京信息工程大学滨江学院,江苏南京 210044【正文语种】中文【中图分类】G434;TP391.9Abstract:According to the practice teaching needs of the single chip,the specific methods and steps of serial communication between SCM and PC are proposed under Keil C51software environment.The simulation experiment is as follows:Serial program sends two hexadecimal data,changes it for decimal and displays on four digital paring the simulation data under software step execution of I/O mouth with the actual serial interface communication results,they are consistent.This experiment is to make the students more familiar with single-chip microcomputer software development environment and debugging details.And it also makes students deep understanding the serial interface communication and dynamic display.Key words:serial communication;Keil C51;single-chip microcomputer 实验教学是单片机原理及应用课程中重要的环节[1],实践教学对加深学生对单片机原理的理解具有较好的推动作用。

使用keiL中的printf和scanf进行串口的调试

使用keiL中的printf和scanf进行串口的调试

使用keiL中的printf和scanf进行串口的调试1、printf( )和scanf(在包含在stdio.h中库函数printf( )的发送原理:首先在初始化时要把TI置1,如果不这样做,你的程序是会一直在JNB TI,$这条指令上跑,:printf( ) 库函数发送流程图2、使用C51输入输出函数都是通过串行口工作的,因此,要使用这类函数必须对单片机的串行口进行设置和初始化,如串口模式的选择和波特率的设定等等。

在需要使用printf函数时需要对串口进行初始化:SCON= 0x52; /*0101,0010:方式1,REN=1允许接收,8-bit UART,TI= 1;RI=0 */ PCON=0; /*SMOD=0*/TMOD |= 0x20; /*TMOD:定时器T1,工作模式2, 8位自动重载方式,在这里用\是为不影响T0的工作*/TH1= 0xf3; /*当波特率为2400时,定时器初值*/ TL1= 0xf3; TR1= 1; /*定时器T1开始运行*/TI= 1; /*在SCON中已经设置,允许发送数据*/3、proteus中仿真电路 RXDTXD库函数scanf( )的接收原理:U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/ A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/ INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111 21314151617RTSCTS18XTAL2P116273849DCDDSRRXDRTSTXDCTSDTRRI9RST293031PSENALEEAER RORCOMPIM12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780C31RXDTXDRTSCTS1(1)(2)(3)(4)数码管,用于观察是否从串口读得数据上面虚拟终端观察单片机接受的外部信号是否有下面虚拟终端观察单片机发送的信号P1是虚拟串口COMPIM,必须与虚拟串口软件联用软件虚拟仪器设置2运行(1)产生HEX(2)装载HEX(3)打开虚拟串口3实验结果:实现了单片机此案串口发送提示信号,please input(1-9),等待从串口反馈的的信号,当在串口调试器中发送去输入7,发送后,上面一个虚拟终端显示7,当单片机接受该信号后,显示出来,并进行运算,结果再次送到串口。

Keil软件仿真的串口调试技巧

Keil软件仿真的串口调试技巧

Keil软件仿真的串口调试技巧
邵子扬;黄保明;刘海涛
【期刊名称】《单片机与嵌入式系统应用》
【年(卷),期】2006(000)007
【摘要】@@ 引言rn在单片机系统中,串口(UART,通用异步收发接口)是一个非常重要的组成部分.通常使用单片机串口通过RS232/RS485电平转换芯片与上位机连接,以进行上位机与下位机的数据交换、参数设置、组成网络以及各种外部设备的连接等.RS232/RS485串行接口总线具有成本低、简单可靠、容易使用等特点,加上其历史悠久,所以目前应用仍然非常广泛;特别对于数据量不是很大的场合,串口通信仍然是很好的选择,有着广阔的使用前景.
【总页数】3页(P76-78)
【作者】邵子扬;黄保明;刘海涛
【作者单位】武汉邮电科学院虹信公司;武汉邮电科学院虹信公司;武汉邮电科学院虹信公司
【正文语种】中文
【中图分类】TP3
【相关文献】
1.单片机Keil软件仿真与调试技巧 [J], 鲁杰爽
2.Keil与VSPD软件仿真的智能仪表串口通信调试方法 [J], 阳世荣
3.Proteus软件仿真与Keil的单片机系统设计 [J], 张军;吴教育;朱海兵
4.浅谈Keil C的常用技巧 [J], 刘佩;苗文斌;李森
5.基于Keil与VSPD软件仿真的串口通信调试技术 [J], 阳世荣
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

KEIL中如何用虚拟串口调试串口程序
发表于2008/5/7 15:30:22
以前没接触过串口,一直都以为串口很复杂。

最近在做一个新项目,用单片机控制GSM模块。

单片机和GSM模块接口就是串口。

调试完后觉得串口其实很简单。

“不过如此”。

这可能是工程师做完一个项目后的共同心态吧。

下面详细介绍下如何用虚拟串口调试串口发送接收程序。

需要用到三个软件:KEIL,VSPD XP5(virtual serial ports driver xp5.1虚拟串口软件),串口调试助手。

1、首先在KEIL里编译写好的程序。

2、打开VSPD,界面如下图所示:
左边栏最上面的是电脑自带的物理串口。

点右边的add pair,可以添加成对的串口。

一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。

3、接下来的一步很关键。

把KEIL和虚拟出来的串口绑定。

现在把COM3和KEIL 绑定。

在KEIL中进入DEBUG模式。

在最下面的COMMAND命令行,输入MODE COM3 4800,0,8,1(设置串口3的波特率、奇偶校验位、数据位、停止位,打开COM3串口,注意设置的波特率和程序里设置的波特率应该一样)ASSIGN COM3 <SIN> SOUT(把单片机的串口和COM3绑定到一起。

因为我用的单片机是AT892051,只有一个串口,所以用SIN,SOUT,如果单片机有几个串口,可以选择S0IN,S0OUT,S1IN,S1OUT。


4、打开串口调试助手
可以看到虚拟出来的串口COM3、COM4,选择COM4,设置为波特率4800,无校验位、8位数据位,1位停止位(和COM3、程序里的设置一样)。

打开COM4。

现在就可以开始调试串口发送接收程序了。

可以通过KEIL发送数据,在串口调试助手中就可以显示出来。

也可以通过串口调试助手发送数据,在KEIL中接收。

这种方法的好处是不用硬件就可以调试。

这是网上一篇文章介绍的方法,联系我实际的使用做了整理。

有用的着的人就不用继续摸索了。

相关文档
最新文档