Keil串口软件仿真调试

 Keil串口软件仿真调试

Keil C51 整合了目前功能最强的C51编译器和最好的IDE调试环境。在新版本的Keil中,增加了很多功能,其中之一就是串口仿真。就是说无须实际的硬件,利用计算机的串口就可以完全进行串口仿真。

使用到的调试命令:

ASSIGN   
将计算机的串口设置为单片机的串口
语法:ASSIGN channel < inreg > outreg
例如:ASSIGN COM1 < SIN > SOUT
上面的括号不能少。

MODE     设置串口的参数(波特率、数据位、停止位等)
语法:MODE COMx, baudrate, parity, databits, stopbits

baudrate 参数必须是一个有效的波特率值,如1200, 2400, 9600, 19200

parity 表示校验位,为0时表示无检验位,1为奇校验,2为偶校验。

Databits 8 时,表示有8 个数据位,为7表示为7个数据位。

Stopbits 1 时,表示1 个停止位;为15,表示为1个停止位;而为2时表示为2个停止位。

 

MODE命令也可以与ASSIGN命令联合使用,以设置仿真CPU 的串口输入输出渠道。 

示例

>MODE COM2, 19200, 0, 8, 1    /* 设置 COM2 的波特率为19,200 bps, */

                                                        /*  无校验,*/

                                                       /*  1个停止位 */

 

实际软件调试时,先在Keil中完成程序的编写,然后进入软件仿真状态,并用一根自制的串口线将计算机的两个串口环接起来(注意23要交叉,5可以接也可以不接)。这里需要计算机上至少要有两个串口,一个是仿真单片机用,另外一个是通信调试用,不然就需要两台计算机了。在仿真状态下,使用上面的两个命令设置好串口的参数(每次都输入参数会比较麻烦,这时可以在仿真参数中设置好配置文件)。在计算机中使用任何串口调试软件与Keil进行通信,可以在Keil中设置断点,实际结果与硬件仿真器的效果一样,还更加简单方便。

更多的用法可以参考Keil的帮助文件Keil C51 UV2调试命令(中文版)软件仿真的命令详解 pdf

=====================================================
步骤如下:

1
、使用KEIL,把需要调试的程序编译连接并进入源程序DEBUG

2
、在command里输入:
MODE COM1 19200,0,8,1      
回车
(
即:把pcCOM1口设置成波特率19200,无校验,8位字符位,1位停止位)

3
、在command里输入:
ASSIGN COM1 <SIN> SOUT
(
即:把pcCOM1口与keil仿真的串口0关联起来,如果你仿真的是串口1,那么就是S1IN,S1OUT)

4
、用串口线(2--3  3--2)把计算机的COM1COM2口连接起来;使用串口调试助手模拟外部通讯设备,设置为COM2,波特率19200,无校验,8位字符位,1位停止位。

 

 

点击看大图

 

Keil 串口窗口1Serial #1)显示模拟的51单片机接收到的字符,再接着发送接收到的字符。(程序见前一篇博文: MCU-51串口通信程序

 

串口调试助手 下载 rar

 

 

点击看大图

 

串口调试助手COM2发送字符”OA”,接收字符


注意:如果直接通过软件通讯时候,发送与接收最好有一点的时间间隔,因为软件模拟的和实际运行速度相差甚远,呵呵!

 

参考资料:

Keil串口软件仿真调试技巧 - 王云涛 – CSDNBlog

http://blog.csdn.net/wnhoo/archive/2007/04/11/1560922.aspx

 

http://blog.ednchina.com/tengjingshu/198205/message.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值