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

发布者:平凡的梦想最新更新时间:2017-12-03 来源: eefocus关键字:PIC单片机  程序设计  基本格式 手机看文章 扫描二维码
随时随地手机看文章

为了快速掌握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单片机  程序设计  基本格式 引用地址:PIC单片机程序设计方法和的基本格式

上一篇:PIC系列单片机程序设计基础应用与分析
下一篇:PIC系列单片机程序设计基础分析与应用 上

推荐阅读最新更新时间:2024-03-16 15:48

基于PIC单片机与TC787芯片的三相半控整流电路设计
  整流 电路 广泛应用在直流电机调速,直流稳压 电压 等场合。而三相半控整流桥电路结构是一种常见的整流电路,其容易控制,成本较低。本文中介绍了一种基于 PIC690单片机与专用集成触发芯片TC787的三相半控整流电路,它结合专用集成触发芯片和数字触发器的优点 ,获得了高性能和高度对称的触发脉冲。它充分利用单片机内部资源 ,集相序自适应、系统参数在线调节和各种保护功能于一体,可用于对负载的恒电压控制。主电路采用了三相半控桥结构,直流侧采用LC滤波结构来提高输出的电压质量。    系统总体设计   本系统通过PIC690单片机作为主控制芯片,用晶闸管作为主要开关器件。设计的目标是保持输出的直流电压稳定,输出电压纹波小,交流输出
[单片机]
基于<font color='red'>PIC单片机</font>与TC787芯片的三相半控整流电路设计
PIC单片机实例9:PC机与单片机串行全双工通信
1. 实例目的: 本实例完全建立在计算机软件的基础上,利用PROTEUS软件构建一个单片机系统,利用VB编写一个计算机控制软件和单片机系统串行通信,计算机上的控制软件可以发送一个值在0 999之间的数,在单片机系统上显示出来,单片机系统上也可输入一个相同值域的数并在计算机控制软件上显示出来。本实例主要是为了展示虚拟串行通信的仿真。 2. 系统配置 本实例虽然简单,但是要想看到想要的仿真结果,建立虚拟的串口连接是必不可少的。要想仿真串行通信,必须要把单片机系统上的串行口与计算机上的串行口连接,这样他们之间才能传输数据,但由于是仿真,实际没有相连接,所以需要创建一对虚拟串行口并使他们相连,这里我使用的是这个软件Virtual Ser
[单片机]
<font color='red'>PIC单片机</font>实例9:PC机与单片机串行全双工通信
基于PIC单片机产生SPWM信号控制逆变桥的方法设计
1 前 言 随着信息技术的不断发展和计算机应用的日益普及,高新技术设备对供电质量的要求越来越高,很多设备都要求电源能够持续提供恒频恒压、无崎变的纯正弦波交流电,不间断电源UPS就是用来给这些设备供电的。UPS一般采用正弦脉宽调制(SPWM)的控制方法将直流电逆变成正弦波交流电。目前,SPWM控制波形的产生一般有三种方式:1、用分立元件电路产生,主要由三角波发生器、正弦波发生器和比较器组成。分立元件电路复杂,调试困难,成本高,可靠性差,因此一般很少采用。2、用专用集成芯片产生,专用集成芯片功能强大,输出波形质量高,应用比较广泛。3、用单片机实现,现在许多单片机都具有产生SPWM波的功能,采用单片机可使电路简单可靠,而且还方便对系统其
[单片机]
基于<font color='red'>PIC单片机</font>产生SPWM信号控制逆变桥的方法设计
PIC单片机的优势特点是什么
一、前 言 据统计,我国的单片机年容量已达1-3亿片,且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1%。这说明单片机应用在我国才刚刚起步,有着广阔的前景。培养单片机应用人才,特别是在工程技术人员中普及单片机知识有着重要的现实意义。 当今单片机厂商琳琅满目,产品性能各异。针对具体情况,我们应选何种型号呢?首先,我们来弄清两个概念:集中指令集(CISC)和精简指令集(RISC)。采用CISC结构的单片机数据线和指令线分时复用,即所谓冯。诺伊曼结构。它的指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,价格亦高。采用RISC结构的单片机数据线和指令线分离,即所谓哈佛结构。这使得取指令和取数据可同时进行,
[单片机]
<font color='red'>PIC单片机</font>的优势特点是什么
如何采用PIC单片机更新LCD数据
要更新LCD,可以修改LCDDATA寄存器的内容,以点亮或不点亮LCD显示器上的每个像素。应用固件通常将修改创建为与显示器上的元素(例如字符位置、条形图、电池显示等)相对应的缓冲区变量。 当应用调用显示更新时,存储在缓冲区变量中的值必须转换为正确的像素位设置,像素位位于LCD DATA寄存器中。 对于静态类波形,可以随时写LCD数据寄存器,而不会产生负面影响。但对于动态类波形,必须每隔一个LCD帧才能写LCD数据寄存器,以确保动态类波形的两个帧彼此互补。否则,会将直流偏压施加给LCD。 应当仅在允许写操作时才写LCD数据寄存器,允许写操作由LCD CON寄存器中的WA位置l指示。 在PIC16C926器件中,没
[单片机]
如何采用<font color='red'>PIC单片机</font>更新LCD数据
PIC单片机CCS之C语言(#IF,#ENDIF的用法)
#IF expr #ELSE #ELIF #ENDIF 语法: #if expr code #elif expr code #else code #endif expr是一个常数表达式,标准算子或预处理器标识符; Code是任意的标准C源程序. 目的: 预处理器求出常数表达式的值,如果这个值是非0值,就处理可选项#ELSE或#ENDIF的上面的所有行. 注意:你不可在#IF里使用C变量,只有预处理器通过#define创造的才可使用. 若id被定义了,则预处理器表达式DEFINED(id)可用来返回1,若没有定义id,则DEFINED(id)返回的值为0. 例子:#if MAX_VALUE 255 l
[单片机]
LabVIEW程序设计模式(一)
我是从LabVIEW的中文版帮助文档中接触 程序设计模式 一词的,这个相对学术化的词语是对一系列用于LabVIEW程序设计结构的归纳和总结。在建造房子时,需要针对房子的用途设计整个房屋的架构,确保房子在这个架构上的坚固性和可建造性。写程序时同样如此,不同的应用需要使用不同的程序设计结构。例如我们在LabVIEW中构建一个用户界面型程序时,往往首先在背面板中加入一个大的while循环以使程序持续运行。如果需要响应用户界面事件则还需要加入一个Event事件结构。那么我们是否曾经考虑过以下的这些问题: 应用中是否存在并行响应的情况?如在持续的数据采集过程中,是否需要同时响应单击菜单的事件? 底层获取的数据如何与上层的数据显示部分进行
[测试测量]
PIC单片机内部寄存器信息汇总
配置字(__CONFIG): 1) 芯片的振荡模式选择。 2) 片内看门狗的启动。 3) 上电复位延时定时器PWRT的启用。 4) 低电压检测复位BOR模块的启用。 5) 代码保护。 __CONFIG_CP_OFF &_WDT_OFF &_BODEN_OFF &_PWRTE_ON &_XT_OSC &_WRT_OFF &_LVP_OFF &_CPD_OFF ; _CP_OFF 代码保护关闭 _WDT_OFF 看门狗关闭 _BODEN_OFF _PWRTE_ON 上电延时定时器打开 _XT_OSC XT振荡模式 _WRT_OFF
[单片机]
<font color='red'>PIC单片机</font>内部寄存器信息汇总
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved