原创 PIC单片机程序设计的基本格式

2009-9-21 20:03 1438 2 2 分类: 通信
PIC单片机程序设计的基本格式
作者:    时间:2007-10-24    来源: 
 
      

为了快速掌握PIC单片机源程序的基本结构,这里给出一个典型的程序结构框架。建立源程序时首先用伪指令TITLE提供程序的标题,接着给出整个程序的总说明,并用列表伪指令LIST指定所用单片机型号和文件输出格式,再利用INCLUDE伪指令读入MPASM中提供的定义文件如《P16F84?INC》,然后对片内常用资源进行定义,再给出一般程序的基本结构框架。现举例如下。


TITLE“This is……”;程序标题


;程序说明


LIST P="16F84",F=1NHX8M

; include


-config_RC_Qsc &_WDT_0FF…


;资源定义和变量定义


STATUS EQU 03


FSR EQU 04


PORTA EQU 05


PORTB EQU 06


J EQU 01F


K EQU 01E


;…………………


ORG 0000 ;


goto MAIN ;跳过中断矢量


ORG 0004


goto INTSRV;子程序入口地址


;……………………………………


MAIN


;从0005H开始放主程序


call Initports ;端口初始化


call InitTimers;定时器初始化



INTSRV …     ;中断服务程序区


SVBRTH…      ;子程序区


END      ;程序结束符


当然,在编写程序时可根据实际情况加以调整。下面是一份实际程序清单,要求将数据88H写入PIC16F84内部EEPROM的20H单元,而后再从20H单元将其读出。


LIST P="16F84",F=INHX8M


;……………………………


STATUS EQU  03  ;定义寄存器


EEDATA EQU  08


EEADR EQU  09


INTCON EQU  0BH


EECON1 EQU  88H


EECON2 EQU  89H


;…………………………


RD    EQU  0    ;定义位


WR  EQU  1


RP0   EQU  5


GIE  EQU  7


;…………………………


ORG  0


GOTO WRSTART


;……………………………


ORG  10H


WRSTART         ;写入操作开始


CLRW      ;清W,使W=0


BCF STATUS,RP0 ;选BANK0


MOVLW 20H


MOVWF EEADR   ;地址→EEADR


MOVLW 88H


MOVWF EEDATA  ;写入数据→


;EEDATA


BSF STATUS,RP0 ;选BANK1


BSF EECON1,2 ;写操作使能允许


BCF INTCON,GIE ;关闭所有的中断


MOVLW 0X55


MOVWF EECON2  ;55H→EECON2


MOVLW 0XAA


MOVWF EECON2  ;AAH→EECON2


BSF EECON1,WR ;启动写操作


BSF INTCON,GIE ;恢复开中断


RDSTART          ;读出操作开始


BCF STATUS,RP0


MOVLW 20H


MOVWF EEADR   ;地址→EEADR

BSF STATUS,RP0

BSF EECON1,RD ;启动读操作


BCF STATUS,RP0


MOVF EEDATA,W ;将EEPROM ;数据读入W


END


show_label.gif标签:  PIC  程序设计  单片机


PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条