新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Windows下PIC8位单片机源程序汇编和固化(一)

Windows下PIC8位单片机源程序汇编和固化(一)

作者:时间:2011-02-22来源:网络收藏
本身没有开发编程能力,所以要把变成一种应用产品,必须借助于硬件开发和软件开发两种工具。在进行软件开发时,首先利用相关的编辑软件,按照相应的格式建立PIC的源程序(助记符程序),然后对源程序进行汇编。在完成汇编之后,用户可以利用模拟调试软件(价位低)或者硬件在线仿真器(价位高)对其目标程序(机器代码)进行运行调试,以发现其错误并修改之。在经过调试、修改、再汇编之后,即可将修改后的目标程序用硬件(工具)编程器将目标代码烧写到用户的PIC芯片中。最后将烧写后(即固化)的芯片插入到用户板(实验板)脱机运行,如还有问题(通常是多条程序的条件下),就检查硬件电路和软件的设计,找出错误并修改、再汇编、调试直到脱机运行正常为止。
  Microchip公司在推出PIC系列单片机产品的同时,也推出了相对应的软件开发和硬件开发工具,例如PIC在线仿真器、MPLAB集成开发软件、MPSIM软件仿真器、MPASM宏汇编程序以及PIC通用编程器等。不仅如此,国内开发PIC系列单片机的工作也很迅速,许多公司或研究所也推出了相应的开发装置,其中既有适用于初学者、低价位的软件仿真和编程器,也有适用于产品开发的高中档开发应用装置。有些高档的开发器还能支持C编译器(如MP-C)与模糊逻辑开发系统等。这些开发装置既可独立运行,也可以和PC机联机运行。总之,开发的工具不仅十分成熟也是多种多样的。
  在PC机上对的源程序汇编时,既可以在DOS条件下,也可以在Windows条件下进行。以下将介绍Windows下源程序汇编的方法和步骤。
  1Windows下PIC集成开发软件MPLAB
  MPLAB是Microchip公司为PIC产品提供的适用于PC机Windows的集成开发软件。MPLAB的版本从早期到现在已发展到多种:如MPLAB V301版、V302版、V40版、V499和V50版等。各版本之间向下兼容,所以尽管品种如此之多,用户只需选择相应版本的MPLAB集成开发软件,均可达到开发目的。
  (1)MPLAB的特性和安装
  MPLAB是一种易学易用的PIC单片机产品的集成开发工具软件。该软件由MPLAB编辑程序、MPLAB项目管理程序(Project manager)、MPASM汇编程序(Windows版)和MPLAB-SIM模拟调试程序等工具软件组成。MPLAB能帮你调试源代码,观察程序流程、调试以及优化固件生产设计的PIC单片机应用程序。上述的各种软件将在本报下几期通过实例介绍其功能和用法。
  MPLAB集成开发软件对计算机系统的硬件与软件配置要求如下:Microsoft Windows 3.X版、95版和98版均可;标准键盘和鼠标;4MB(最好是16MB以上)的内存和VGA以上显示器等。MPLAB的安装简单,只要熟悉PC机的用户均可利用磁盘或光盘CD-ROM中MPLAB的SETUPEXE文件和相关的提示语句进行安装。若是初学者,可请电脑行家进行安装。安装MPLAB软件时,最好在显示屏上粘贴Microchip/MPLAB的快捷图标,以使操作方便。
  (2)MPLAB的桌面系统
  Windows操作系统与DOS操作系统的最大区别就是广泛使用了图形化操作界面,因此对话框是用户在操作Windows过程中最经常接触的东西。MPLAB的所有功能都可通过MPLAB桌面(对话框)中的菜单命令来操作。
  当你的PC机上安装了MPLAB集成开发软件之后,打开PC机,用鼠标点击显示器上的快捷图标Microchip即可在显示器上看到MPLAB的桌面,如附图所示(V499版)。该桌面是一个大小可变的窗口。MPLAB桌面顶部的左边字符为标题栏(MPLAB);标题栏的下面为菜单栏(MENU),菜单栏的下面为工具栏,底部为状态栏。桌面窗口中的菜单栏是下拉式的。
  MPLAB共有多个菜单选项(V322、V499有9个,V301是8个)。所有的MPLAB功能均可通过下拉式菜单来访问,菜单中加有下划线的字符表示加速键(Key Accelerators),在菜单下拉时,用鼠标点击该字符键可立即执行该项功能。
  MPLAB的各种菜单的功能,笔者将会通过具体的程序汇编应用实例加以详细说明。  

成都 丁锦源

  知识竞赛试题:
  26给单片机PIC16C54单片机的工作寄存器W送数0x08,请写出相应的源程序清单。

2 在MPLAB中建立PIC单片机源程序
  笔者将以附图的PIC16C55单片机脉冲计数试验电路(计数时,RA1口为十进制码输入,RB口为二进制码输出)的源程序PIC count.ASM为例,介绍在MPLAB集成开发环境下编辑(建立)PIC单片机源程序的方法。其操作步骤如下。
  (1)打开MPLAB桌面(窗口)和空白编辑窗口 开启PC机,启动运行Windows,在Windows的管理程序下,用鼠标点击显示屏上的图标Microchip(快捷),即可启动运行MPLAB集成开发软件,此时屏幕上将显示MPLAB的桌面(见今年第25期本版的《源程序的汇编和固化(一)》文中的附图)。从已打开的MPLAB的桌面(窗口)上,用鼠标点击MPLAB菜单栏中最左边的File(文件),即可打开File的下拉菜单,再用鼠标点击下拉菜单中的命令New Source(新建源程序),即可打开一个空白的编辑窗口,在此窗口中用键盘键入PIC 16C55 COUNTASM源程序再对其进行编辑(以MPLAB V301版为例):
    LIST P=16C55
    #INCLUDE P16C5XINC
    COUNT EQU 1EH
    ORG     0
START
    MOVLW 0
    MOVWF PORTB;设置B口为输出
    TRISPORTB
    CLRFCOUNT;置计数器COUNT为零
LOOP
    BTFSSPORTA,1;判断开关K按下否?
    GOTOINCOUNT;按下开关K,跳转执行IN-
            ;COUNT
ENDLOOP
    GOTO LOOP  ;开关未按下,继续循环
             ;判断
INCOUNT
    INCF COUNT,1  ;计数器COUNT+1
    MOVF COUNT,W
    MOVWF PORTB;从B口输出计数值
DEBOUNCE
    BTFSS PORTA,1;判断开关K释放否?
    GOTO DEBOUNCE ;没有释放继续判断
      GOTO LOOP ;开关K释放重新开始
      ORG0x1FF   ;复位向量
      GOTO START
      END
  说明:在MPLAB集成开发环境下建立源程序时,其源程序文件的开始应使用伪指令List(列表选择指令)指示符,指定处理的类型(对象)。所以,上述的源程序的开始处为List P=16C55。其中的“P=”是处理类型,代表设置微控制器为16C55(芯片)。接着又用了伪指令#include P16C5XINC,代表MPLAB应把要处理(类型)的微控器F16C55的所有已设置的文件,在需要时就读入这里的源程序中。这条伪指令就为源程序中的代码设置大为简化,例如PORTB、TRIS以及其它特殊功能寄存器,就不再用EQU伪指令给它们赋值了。
  源程序中紧接着上面的伪指令为ORG,代表存放程序的起始地址。所以在一个源程序中,可以根据需要多次使用ORG伪指令定位。在上述的源程序中,使用了两次ORG 。值得注意,在PIC系列单片机中,对初级产品PIC16C54/55的复位向量为1FFH;PIC16C56为3FFH;PIC16C57/58为7FF;对中级和高级产品的复位向量为000H和0000H。由此可见在建立PIC单片机源程序时,使用一些伪指令是很有必要的,用它可以为建立源程序完成一些特定功能,使编制的源程序大大简化。源程序后面的各条指令功能均已在注释中给了说明,这里不再复述。3 MPLAB中源程序文件被存入到指定的目录和装载
  在PC机屏幕上,当用键盘键入并编辑了源程序(COUNTASM)之后,再用鼠标键打开File下拉菜单,选择Save(保存)命令,用鼠标键点击Save,即可打开图1(目录路径为C:PROGRA~1MPLAB)的窗口。在该窗口的File Name(文件名)栏中(标题——Save File As),选择好路径,用键盘输入文件名PIC COUNTASM(用户自定义名),再用鼠标键点击OK,即可将源程序文件以指定的文件名PIC COUNTASM存入到指定的目录中。这一过程通常称为对PIC单片机(微控制器)源程序(COUNTASM)的存盘。
  在MPLAB集成开发环境下,在MPLAB的桌面上,用鼠标键点击File下拉菜单,在该菜单中,选择Open Source(打开源文件)命令,再用鼠标键点击OPEN SOURCE,又可打开图2的对话框(窗口),在此对话框中选择好目录路径(与前面相同)。在窗口的“列出文件类型栏”中,选择Source File(源文件),再用鼠标键多次点击文件名窗口右侧滚动槽上的箭头按钮(也可拖动槽上的滚动块),把已建立的源程序PIC COUNTASM转移到文件名的窗口中。然后用鼠标键点击源程序名PIC COUNTASM,则可把该文件名点击到文件名栏中。到此源程序装载完成,用鼠标键点击确定(OK),则可在PC机显示屏的MPLAB桌面上看到已选定路径和文件名(C:PROGRA~1MPLABPIC COUNT.ASM)的标题栏中再次出现源程序文件如图3所示。编程者即可确认源程序确已完成存盘和装载。
  由上述介绍的PIC单片机在MPLAB集成开发软件中的源程序COUNTASM建立、编辑、存盘和装载等软件操作过程中可见,要在MPLAB中将源程序COUNTASM汇编,还需在PC机上进行多种操作,才有可能达到对源程序汇编目的(该装载步骤可以略去)。
  为了使PIC单片机初学者快速掌握源程序汇编方法,笔者建议初学者应在PIC单片机上多动手操作,反复练习PIC单片机源程序的建立编辑—存盘—装载等汇编前期操作过程,以便在学习即将介绍的汇编方法时尽可能少出错误,增强学会PIC单片机源程序汇编的信心。为此笔者再推荐一种下面最简的PIC单片机试验源程序,以便初学者多次反复练习。
  LIST    P=PIC16C84
  #INCLUDE P16C84INC
  ORG    0
START
  MOVLW   0x04
  GOTO    START
  END

  成都 丁锦源

  知识竞赛试题:
  28上文的文尾指令MOVLW中,给W送数的取值范围(0x?)是多少?



评论


相关推荐

技术专区

关闭