老古开发网首页
导航:老古开发网首页文章索引文章分类PIC MSP430 →[PIC单片机程序设计的基本格式]
| -文章搜索 - 最新文章 - |

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

发布时间:2005年9月4日 点击次数:3717
来源:   作者:
 
为了快速掌握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

欢迎进入老古论坛进行讨论
[PIC MSP430 ] 相关文章:
初学者到底是应该先学C还是汇编?
简介:
对于单片机的初学者来说,应该从汇编学起。因为汇编语言是最接近机器码的一种语言,可以加深初学者对单片机各个功能模块的了解,从而打好扎实的基础......

单片机的广泛选择
sst89c58空白器件的编程,自制仿真器的一个常见问题
单片机名词解释
使用带A/D的PIC芯片时,怎样才能提高A/D转换的精度?
RS-485接口电路的硬件设计
MAX232/MAX202接口输出的电平为何比计算机输出的RS-232电平低?
RS-485系统的常见故障及处理方法
RS-485/RS-422接口为何在停止通信时接收器仍有数据输出?
MAX488/MAX490在点对点通信中工作很正常,为何在点对多点通信时无法正常通信?
 
下一个:[新闻热点]飞思卡尔下一代PowerPC处理器打造灵活家庭娱乐方案
简介:
Web 应用和自助信息亭解决方案的开发人员需要经济灵活的方式,用于开发高性能系统。 处理器能够为这些计算密集型应用提供卓越的每瓦特性能。 e600 PowerPC 内核,该内核采用 技术,非常适合与视频回放和录像、静态成像、游戏、 浏览和电子商务相关的 和 图形应用,并包括压缩 解压缩算法的实施等。通过这些领先性能, 将能提供从 到 的速度,而系统总线的运行频率高达 。 MPC74xx 系列中第一款采用飞思卡尔 硅绝缘体 工艺的产品,能以低于 的功耗,提供 级的性能,这一点对于需要无风扇运行的系统极为有利。 MPC7448 的 产品采用了......
 

上一个:[技术文章]PCB抄板密技

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒