网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
搜索关键字: 所有资讯 行业动态 市场趋势 政策法规 新品发布 技术资讯 价格快报 展会资讯
  • 达普IC芯片交易网 > 新闻中心 > 技术信息 > 正文
  • RSS
  • PIC单片机程序设计的基本格式
    http://www.ic72.com 发布时间:2007/11/13 15:22:25
       为了快速掌握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




    www.ic72.com 达普IC芯片交易网
  • 行业动态
  • 市场趋势
  • 政策法规
  • 新品发布
  • Baidu

    IC快速检索:abcdefghijklmnopqrstuvwxyz0123456789
    COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
    客户服务:service@IC72.com 库存上载:IC72@IC72.com
    (北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
    京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质