keil怎么用软件烧写的时候显示串口未打开是什么原因

单片机原理与接口技术实验指导(c語言版)和,帮助,单片机原理,实验指导,C语言版,C 语言,接口技术,c语言吧,反馈意见

  在单片机系统中串口(UART,通鼡异步收发接口)是一个非常重要的组成部分通常使用单片机串口通过RS232/RS485电平转换芯片与上位机连接,以进行上位机与下位机的数据交换、參数设置、组成网络以及各种外部设备的连接等RS232/RS485串行接口总线具有成本低、简单可靠、容易使用等特点,加上其历史悠久所以目前应鼡仍然非常广泛;特别对于数据量不是很大的场合,串口通信仍然是很好的选择有着广阔的使用前景。

  在单片机编程中串口占了很偅要的地位。传统方式串口程序的调试往往是利用专用的单片机硬件仿真器。在编写好程序后利用仿真器来设置断点,观察变量和程序的流程逐步对程序进行调试,修正错误使用硬件仿真器的确是很有效的方法,但是也有一些缺点:

  很多仿真器不能做到完全硬件仿真因而会造成仿真时正常,而实际运行时出现错误的情况;也有仿真不能通过但是实际运行正常的情况。

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

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

  有的仿真器属于简单的在线仿真型,仿真时有很多限制例如速度不高,实时性或稳定性不好对断点囿限制等,造成仿真起来不太方便

  1 调试前的准备工作

  下面介绍一种利用的软件仿真功能来实现单片机串口调试用户程序的方法。使用这种方法无需任何硬件仿真器,甚至都不需要用户电路板所需的只是:

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

串口软件可以是自己编写的专用调试或上下位机通信软件也可以是通用的串口软件(如串口助手、串口调试等),主要用来收发数据如果没有合适的串口调试软件,则可使用笔者编写的一个免费的串口小工具TurboCom除了与其他软件一样的數据收发功能外,它还有定时轮流发送自定义数据帧和自动应答(接收到指定数据帧后自动返回相应的数据帧)这两个很有用的功能,特别適合于老化测试这个小工具可以从网上下载。

  2 基本调试命令介绍

  这个串口调试方法主要是利用了强大的软件仿真功能在新版夲(高于6.0)的软件中,增强了软件的仿真能力可以利用软件仿真更多的单片机功能。在这些功能中其中有一个很重要的功能就是利用计算機的串口来模拟单片机的串口(这不同于很多软件在仿真时使用的激励文件方式,可以直接与其他串口进行通信更加方便、灵活)。首先要介绍仿真时需要使用的两个命令:ASSIGN和MODE

  将单片机的串口绑定到计算机的串口。基本使用方式为:

  其中: channel代表计算机的串口可以昰COM1、COM2、COM3或COM4;而inreg和outreg代表单片机的串口。对于只有一个串口的普通单片机,即SIN和SOUT;对于有两个或者多个串口的单片机即SnIN和SnOUT(n=0,1…即单片机的串口号)。

  图1 串口连线示意图

  将计算机的串口1绑定到单片机的串口(针对只有一个串口的单片机)

  将计算机的串口2绑定到单片机的串口0(針对有多个串口的单片机,注意串口号的位置)

  需要注意的是,参数的括号是不能省略的而outreg则是没有括号的。

  设置被绑定计算機串口的参数基本使用方式为:

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

  设置串口2波特率为19 200,奇校验8位数据,1位停止位

  使用以上两个命令,就能够将计算机的串口模拟成单片机的串口了在进行软件仿真时,所有发送到被绑定的计算机串ロ上的数据都会转发到keil怎么用模拟的单片机串口上用户程序可以通过中断处理程序或查询方式接收到这些数据;同样,单片机程序中发送箌单片机串口上的数据也会通过被绑定的计算机串口发送出来可以被其他软件所接收。利用这个特点就可以方便地仿真、调试单片机嘚串口部分程序。要注意的是这两个命令需要一起使用。

  首先用串口线将计算机的两个串口连接起来(或者是两台计算机上的两个串口)。这两个串口一个用来模拟单片机串口另一个给调试程序使用。这个由用户自己分配没有特殊要求。

  其次编写好用户程序,并编译通过

  然后,设置工程文件(Project)的相关参数如图2和图3所示。主要是选择软件仿真模式(Use Simulator)以及晶振参数

  图2 仿真参数设置

  為了不必每次进入仿真状态后,都需要输入串口参数设置命令可以建立一个初始化文件。初始化文件是一个普通的文本文件内容就是汸真时需要的命令,按照顺序一行输入一条如图2所示,建立了一个debug.ini的初始化文件这样,当每次进入仿真调试状态时keil怎么用就会自动載入 debug.ini的内容进行初始化。

  为了正确仿真串口在软件仿真调试时,在用户的keil怎么用工程文件的属性中还需要设置实际使用的晶振频率。这个参数非常重要直接影响通信的波特率,可以按照实际使用的参数进行设置要注意,这个参数的单位是MHz

  设置好参数后,僦可以进行仿真了单击工具栏的图标按此在新窗口浏览图片进入Debug(仿真调试)状态,在Output window窗口中的command文本框(一般是在左下角)中输入上面介绍的命囹例如,将PC机的串口1设置为单片机的串口:

  然后设置断点一般是在关键地方或与串口相关联的地方设置。再单击图标运行(Run)用户程序使用户程序运转起来(不然是接收不到串口数据的)。这时再使用串口调试软件或用户调试软件发送通信命令或者数据包,看用户程序昰否进入断点以及相关的变量是否正确。还可以有意发送带有错误数据的数据包以观察用户程序的异常处理部分是否正常。一旦发现程序中的错误可以马上停止仿真调试,立即修改代码然后再次重复上面的步骤进行仿真。因为不需要与用户目标板联机也不用下载玳码到用户板上,所以速度非常高以上这些步骤和使用硬件仿真器的基本一样,只不过现在使用的是软件仿真

  需要注意的是:仿嫃时单片机串口实际的波特率由MODE命令来指定,单片机程序中的TMOD、SCON等参数是不影响串口仿真状态的(也就是说这些参数不影响仿真的波特率即使它们是错误的)。但是中断的使能位(如ES、EA等)还是起作用的如果ES或EA被禁止,那么就不会进入串口中断

  因为这种方法是利用计算机嘚串口来仿真单片机的串口,而仿真是通过keil怎么用软件来转换串口上的数据不是直接转发数据的,所以在实际仿真时,处理速度会比实际單片机运行时稍微低一点比方说仿真状态时1 s只能发送/接收10个数据帧,但在单片机硬件上运行时可能1 s就可以接收/发送50个数据帧这与使用嘚计算机的速度有关,但对仿真来说是没有任何影响的。

  对于多串口的单片机从理论上来说,可以一次绑定多个串口只要计算機有足够多的串口。基本上使用这种方法需要占用计算机的串口数量是单片机绑定串口的2倍。一个串口被keil怎么用占用用来模拟单片机嘚串口;另外一个串口被计算机占用,用来给单片机的串口收发数据

  这里介绍的方法对C和汇编语言都是适合的。它最大的好处就是简單、方便容易使用,不需要使用任何电路也没有特殊的要求;甚至可以在硬件电路制作好之前就将串口部分的程序编写、调试完毕。笔鍺使用这种方法已经很长时间了事实证明这种方法确实非常有效。其实对于单片机keil怎么用的仿真功能实在是太强大了,只要充分掌握其特点能够熟练利用它,就可以解决工作中的大部分问题很多工作都可以使用软件仿真来完成,根本无需任何硬件仿真器;只有一些新嘚外部器件的时序、接口的调试才有可能需要用到硬件仿真器目前介绍keil怎么用软件仿真这方面的参考书籍很少,有些讲的还是老版本的鼡法不过没有关系,keil怎么用的帮助文件写得很详细、很清楚只要认真看明白就会使用了。使用熟练后就会发现keil怎么用的功能相当强。

  对于串口编程51单片机有keil怎么用这个功能强大的开发软件,给我们带来了极大的便利;而在其他单片机软件的开发中目前还没有这麼强大的开发工具和方便的调试手段。这里有个变通的办法就是可以先在keil怎么用中编写并调试好串口程序,然后将程序移植到其他单片機平台中(笔者在PIC18单片机开发中就使用了这种方法收到了很好的效果。当然这是指在使用C语言开发单片机程序时汇编语言是没有可移植性的)。至于如何能够减小程序移植的工作量使得程序具有更好的通用性,以最小的代价就可以平滑地移植到其他单片机平台上也是一個非常值得探讨的问题。

51单片机是很简单的一款单片机適合于新手的入门学习,但是也只能作为初学者继续往上学习的一个垫脚石这篇博客我主要的目的是写给我们学校社团的萌新阅览的,方便他们入门51继续坚持学习下去。假如你有一个51单片机学习板和电脑只要仔细照着这篇教程做,基本上不到半个小时就能在51上烧一个關于led灯的代码了

上面的链接资料很全,第一个word文件里面一步一步教了你如何使用keil怎么用4软件新建一个工程文件以及使用stc-isp烧录代码进51单爿机。第二个文件是keil怎么用5c51的安装包keil怎么用5软件的使用基本于keil怎么用4相同,给我的感觉就是keil怎么用5的软件界面更为好看一点(直男审美吧)在新建工程的过程基本与keil怎么用4相同。第四个文件是keil怎么用的注册机用来破解keil怎么用软件,如果不破解的话就编译不了超过2k大小嘚代码

     然后假如直接点安装的话,可能会提示安装失败或者预安装成功如图a一样,但这并没有真正的安装成功正确的操作是将51单片機的双头usb线将51单片机与电脑相连,然后再点安装,然后就会如图b一般提示安装成功

      这个过程相对来说更为简单了,双击c51v956.exe文件然后一路next就昰了。其中有一步骤是要你填自己的身份及邮箱的那个乱填便可以了,不过有一点值得一提的就是关于安装时的路径选择尽量不要装茬C盘吧,并且养成一个记住自己安装路径的好习惯

       首先右击keil怎么用5的软件图标,然后在那一栏种找到”以管理员身份运行“点进去。這点很重要不以管理员身份运行是破解不了这个软件的。因为不方便截图就不放图了

       接下来就只用按照文件“51入门新建工程及下载程序流程.docx”里面的流程进行便是了。这个文档是我的一位朋友写的经他的同意,我在此处拿来给大家分享吧

       因为比较晚了,中间的一些關于51烧写的注意事项我就留到日后写吧不出意外的话,不到半个小时大家就能够给51烧写第一个代码了,赶快行动吧

我要回帖

更多关于 keil怎么用 的文章

 

随机推荐