用户登陆 用户注册
您的位置:首页> 技术文章>内容正文
PIC单片机程序设计的基本格式
[正文]:为了快速掌握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


网站首页 培训课程 维修指南
技术文章 家电专栏 供应信息
求购信息 培训资讯 展会信息
电脑专栏 教程下载 资料下载
常用软件 PLC教程 PLC资料
变频伺服 低压电器 维修资料
人机界面 自控仪表 工控机类
文章标题: 搜文章
中国工控资源网手机版 2012
电话:010-67577139 13811659603
培训咨询QQ:657167934 471895637 销售咨询QQ:623769457
联系邮箱:zggkzyw@163.com
 京ICP备11002135号
报时(2026-04-06 13:10:09) 流量统计