>
首页 » 业界动态 » PIC单片机程序设计的基本格式

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

作者:  时间:2007-10-24 10:33  来源:

为了快速掌握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

相关推荐

飞思卡尔CEO:新战略初现成效 未来更关注中国市场

飞思卡尔  单片机  2013-04-28

飞思卡尔携手周立功单片机 共同拓展中国MCU市场

飞思卡尔  MCU  单片机  2012-12-19

英飞凌为提高XMC4000单片机生产率免费提供DAVE 3

英飞凌  单片机  2012-04-20

英飞凌XMC4500工业单片机现已量产供货

英飞凌  单片机  XMC4500  2012-03-19

ZLG成为Energy Micro中国区合作伙伴

周立功  Energy  Micro  单片机  2011-12-19

Microchip第100亿颗PIC单片机交付三星电子

微芯科技  单片机  PIC32  2011-09-21
在线研讨会
焦点