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

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

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
本文地址:https://www.eechina.com/thread-28211-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表