英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 2667|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2009-5-5 17:03:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为了快速掌握PIC单片机源程序的基本结构,这里给出一个典型的程序结构框架。建立源程序时首先用伪指令TITLE提供程序的标题,接着给出整个程序的总说明,并用列表伪指令LIST指定所用单片机型号和文件输出格式,再利用INCLUDE伪指令读入MPASM中提供的定义文件如《P16F84INC》,然后对片内常用资源进行定义,再给出一般程序的基本结构框架。现举例如下。

  TITLE“This is……”;程序标题
  ;程序说明
  LIST P=16F84,F=1NHX8M
  ;
  include  <p16F84.inc>
  -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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-11-24 04:32 , Processed in 0.051986 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表