—— —— —— 技术资料下载中心

>> PIC单片机原理 \

Windows下PIC 8位单片机源程序汇编和固化（二）
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口为输出
TRIS PORTB
CLRF COUNT ；置计数器COUNT为零
LOOP
BTFSS PORTA，1；判断开关K按下否?
GOTO INCOUNT；按下开关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释放重新开始
ORG 0x1FF　　 ；复位向量
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单片机源程序时，使用一些伪指令是很有必要的，用它可以为建立源程序完成一些特定功能，使编制的源程序大大简化。源程序后面的各条指令功能均已在注释中给了说明，这里不再复述。

成都　丁锦源

知识竞赛试题：
27若将上文中的源程序PIC16C55ASM移植成PIC16F84 COUNTASM，文中编辑的源程序应作何修改?

[ 返回 ]