51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机技术文章 > PIC单片机 > 详细内容
PIC单片机循环程序应用实例
发布时间:2009/7/17  阅读次数:562  字体大小: 【】 【】【
笔者在这里介绍一种定时程序,说明循环程序在PIC单片机上的应用。笔者仍以PIC16F84单片机为例建立其定时源程序清单。该定时器源程序只需改变一条指令的常数设置,即可使定时时间从分钟级到38小时的连续变化(4MHz晶振条件)。PIC16F84单片机的硬件电路,请见本报第32期实验编程器101实验板电路。在该实验板电路上,若读者改变晶振的频率(2MHz、1MHz、500kHz)等,很易直观看出定时时间成比例相应地增加,这对了解PIC单片机的性能十分直观有趣。若在该源程序上再多设置一次循环,可使定时时间长达1月以上。
  该PIC16F84定时源程序可直接在MPLAB集成开发环境软件下进行汇编,其汇编后生成的HEX文件可在实验编程器101上对源程序进行固化并可在相应的实验板上直接观察实验的结果。PIC16F84定时的源程序清单如下(文件各可自定义):
   LIST    P=PIC16F84
   #INCLUDE P16F84INC
   COUNT1      EQU   0x1F
   COUNT2      EQU   0x1E
   COUNT3      EQU   0x1D
   COUNT4      EQU   0x1C
   ORG         0
START CLRW      ;与MOVLW 0等效
   BSF       STATUS,5;选体1
   MOVWF        TRISB  ;设B口为输出
   BCF       STATUS,5;STATUS复位当前体0
   CLRF        PORTB          ;定时启动功能
M1      BTFSS      PORTA,1 ;判断A口第D1位,D1=1间跳,D1=0顺
             ;序执行
   GOTO      M2
   GOTO      M1
M2      MOVLW      0xAA         ;选B口定时位,LED亮开始定时
   MOVWF      PORTB     ;B口按0x10101010输出
DELY    CLRW        ;与MOVLW 0等效
        MOVLW        0xFF
        MVOWF        COUNT1
        MVOWF        COUNT2
        MVOWF        COUNT3
        MOVLW        0         ;与CLRW指令等效
        MOVLW        0x02      ;0x02送W(最大定时为0xFF)
        MOVWF        COUNT4        ;定时值控制(细调)
LOOP    DECFSZ        COUNT1,1 ;CPUNT减1,为0间跳
        GOTO              LOOP
        DECFSZ          COUNT2,1 ;同上特点,这里d=1可不用
        GOTO        LOOP
        DECFSZ        COUNT3,1 ;同上
        GOTO              LOOP
        DECFSZ        COUNT4,1 ;同上,但COUNT4中值可自由选定
        GOTO              LOOP
        CLRW          ;与MOVLW 0相同
        MOVLW        0x02      ;定时结束显示
        MOVWF        PORTB
M3          GOTO              M3
      END         ;程序结束
  说明:该源程序中常数设置可由读者任意改变,改变之后即可达到任意时间的设定。  成都 新立
我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号