原创 Keil串口软件仿真调试

2009-2-10 11:09 34370 14 14 分类: MCU/ 嵌入式

  Keil串口软件仿真调试<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


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,那么就是S<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1IN,S1OUT)

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


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


 


点击看大图


 

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


 


串口调试助手 下载 https://static.assets-stash.eet-china.com/album/old-resources/2009/2/10/81a43cc2-f6ff-4a4f-8427-f328302e10bc.rar


 



点击看大图


 


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



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


 


参考资料:


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


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

文章评论0条评论)

登录后参与讨论
我要评论
0
14
关闭 站长推荐上一条 /2 下一条