位置:51电子网 » 技术资料 » 单 片 机

Windows下PIC 8位单片机源程序汇编和固化(二)

发布时间:2008/5/27 0:00:00 访问次数:507

http://www.hificat.com

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单片机源程序时,使用一些伪指令是很有必要的,用它可以为建立源程序完成一些特定功能,使编制的源程序大大简化。源程序后面的各条指令功能均已在注释中给了说明,这里不再复述。



http://www.hificat.com

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单片机源程序时,使用一些伪指令是很有必要的,用它可以为建立源程序完成一些特定功能,使编制的源程序大大简化。源程序后面的各条指令功能均已在注释中给了说明,这里不再复述。



相关IC型号

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!