搜索
bottom↓
回复: 3

定时器TMR0调试遇到问题,请高手帮忙解决【恢复】

[复制链接]

出0入0汤圆

发表于 2008-12-26 23:40:38 | 显示全部楼层 |阅读模式
RD口接LED灯,程序如下,在proteus上仿真时可以正常运行,LED会闪,下载到单片机上时LED灯就一直亮着了,好像是定时器没有产生溢出,请帮忙分析下,谢谢了。



;*******************************************

;在程序中调用定时器TMR0实现的延时程序完成点灯功能

;*******************************************

STATUS                EQU                03H                ;定义状态寄存器

PORTD                EQU                08H                ;定义端口D的数据寄存器地址

TRISD                EQU                88H                ;定义端口D的方向寄存器



RP1                        EQU                06H                ;定义状态寄存器中的页选位RP1

RP0                        EQU                05H                ;定义状态寄存器中的页选位RP0



TMR0                EQU                01H                ;定义定时器/计数器0寄存器地址

PCL                        EQU                02H                ;定义程序计数器低字节寄存器地址

POTION_REG        EQU                81H                ;定义选项寄存器地址



INTCON                EQU                0BH

DATA1                EQU                6                ;定义TMR0寄存器初始值(250=256-6)

COUNT                EQU                20H                ;存放延时次数

;*****************主程序开始****************

        ORG                00H

        GOTO        MAIN

;*******************************************

MAIN

        NOP                                        ;设置一条ICD必须的空操作

;*****************初始化********************

        BSF                STATUS, RP0        ;转到体1

        BCF                STATUS,        RP1



        MOVLW        07H                        ;设置选项分频寄存器内容

        MOVWF        POTION_REG        ;分频值设为1:256



        MOVLW        00H

        MOVWF        TRISD                ;设置端口D为输出

        BCF                STATUS,        RP0        ;转到体0

        BCF                STATUS,        RP1        

;***************初始化结束******************

START

        MOVLW        0FFH                ;将0FFH送到W

        MOVWF        PORTD                ;点亮端口D上所有的灯

        CALL        DELAY                ;延时1280ms



        MOVLW        0FH                        ;将0FH送到W

        MOVWF        PORTD                ;只点亮端口D低4位上所有的灯        

        CALL        DELAY

        MOVLW        0F0H                ;将0F0H送到W

        MOVWF        PORTD                ;只点亮端口D上的高4位所有的灯

        CALL        DELAY



        MOVLW        00H

        MOVWF        PORTD                ;灭端口D上的所有灯

        CALL        DELAY

        GOTO        START                ;循环

;*****************延时程序开始***************

DELAY

        MOVLW        14H                        ;设置循环延时64MS的次数为20次

        MOVWF        COUNT

LOOP1

        BCF                INTCON, 2        ;清除TMR0溢出标志位

        MOVLW        DATA1                ;TMR0赋初值

        MOVWF        TMR0                ;启动定时器

LOOP

        BTFSS        INTCON, 2        ;检测TMR0溢出标志位

        GOTO        LOOP                ;没有溢出,继续检测

        DECFSZ        COUNT                ;判断计数次数是否满20次

        GOTO        LOOP1                ;计数没结束,继续



        RETURN                                ;返回主程序

;*************************延时程序结束*******************

;************************程序结束***********************

        END

出0入0汤圆

发表于 2009-1-10 10:14:21 | 显示全部楼层
我不知道你所使用的芯片及芯片配置,芯片配置的WDT关闭了没?不关闭将会不停的复位,造成程序执行不到关闭状态。

出0入0汤圆

 楼主| 发表于 2008-12-28 16:36:48 | 显示全部楼层
我是用查询的方法判断定时器有没有溢出的,没有使用中断功能,因此不用下面两语句吧

MOVLW   0xa0 ;

MOVWF   INTCON  ;全局中断允许,定时器中断使能



另外,为什么我的程序仿真就可以正常运行呢?搞不明白

出0入0汤圆

发表于 2008-12-27 09:10:04 | 显示全部楼层
              INTCON没有初始化

              MOVLW        07H                        ;设置选项分频寄存器内容 

              MOVWF        POTION_REG        ;分频值设为1:256 



              MOVLW   0xa0

              MOVWF   INTCON  ;全局中断允许,定时器中断使能,如果没有使能的话怎能么会有TOIF溢出置位呢!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 23:54

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表