×
单片机 > 单片机程序设计 > 详情

PIC单片机源程序的基本结构

发布时间:2020-05-16 发布时间:
|

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



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
可升级和可配置的PSoC62系列MCU平台架构