搜索
bottom↓
回复: 14

PIC18F452定时器0问题

[复制链接]

出0入0汤圆

发表于 2013-5-1 19:15:51 | 显示全部楼层 |阅读模式
是用18452,开了定时器0,想使用定时器0,但现在开启定时器0定时1S后,使得某一个管脚上的LED灯闪烁,以提示时间,现在的情形是发现定时器0已启动,但不知道是什么影响到定时器,现象就是定时有时候1S闪烁一次,但有时候会突然在1S内闪烁几次,程序部分如下:
void InterruptHandlerHigh (void)
{
        if((INTCONbits.T0IF)&&(INTCONbits.TMR0IE))                                        //定时器溢出中断
        {
                 timegrow = timegrow + 1;
                TMR0L = 0x27;                                        //CF 27 定时2.5ms
                TMR0H = 0xCF;
                INTCONbits.T0IF = 0;                                //清除T0IF       
        }       
}


void main(void)
{
        TRISC = 0X00;            //如果屏蔽该句,发现端口不断有00输出,但此时并无串口初始化
        TRISD = 0X00;
        PORTD = 0X01;

        Time0Iint();
    while(1)                //等待通讯中断命令。
    {
           time_basic_set();
                if(F_1S_BACK)
                {
                        PORTDbits.RD0 = ~PORTDbits.RD0;     //通过RD0接的LED来判断出定时器存在异常情况
                }

                  time_basic_reset();
    }
}
已经将相应的其它中断都关闭,且硬件接有232输出,但发现如果屏蔽TRISC = 0X00;  发现端口不断有00输出,但此时并无串口初始化
很无解中,请各位给些建议,谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2013-5-1 19:16:14 | 显示全部楼层
自己先顶一个,等待高手解答!

出0入0汤圆

发表于 2013-5-1 21:02:36 | 显示全部楼层
time_basic_set();
time_basic_reset();
这个是什么意思????

出0入0汤圆

 楼主| 发表于 2013-5-2 08:58:09 | 显示全部楼层
yklstudent 发表于 2013-5-1 21:02
time_basic_set();
time_basic_reset();
这个是什么意思????

time_basic_set();是定时器0中断超过一定次数后,将F_1S_BACK置位;
time_basic_reset();是将F_1S_BACK清0;

出0入0汤圆

发表于 2013-5-2 10:43:10 | 显示全部楼层
sinc_mark 发表于 2013-5-2 08:58
time_basic_set();是定时器0中断超过一定次数后,将F_1S_BACK置位;
time_basic_reset();是将F_1S_BACK清 ...

一直在清?????????????

出0入0汤圆

 楼主| 发表于 2013-5-2 10:46:27 | 显示全部楼层
yklstudent 发表于 2013-5-2 10:43
一直在清?????????????

恩,是一直在清,但置位的时候只有在1S到达的时候才会置位!

出0入0汤圆

 楼主| 发表于 2013-5-3 10:01:31 | 显示全部楼层
昨天测试的时候,发现只要使能了这一句:RCSTAbits.SPEN = 1;                    //(设置错误,有问题)//允许同步串行口工作。
就会影响到RD0,RD0的LED灯一直在闪烁,有时候串口会发出一些00 的数据来,是连续不断的发送,但我虽然是使能了串口,并没有给TXREG装载数据,无解中。。

出0入0汤圆

发表于 2013-5-3 10:29:00 | 显示全部楼层
不建议使用这个片子,建议 18F4520 代替,452这个片子厂家已经不推荐使用了。

出0入0汤圆

 楼主| 发表于 2013-5-3 10:37:22 | 显示全部楼层
Wxy8030 发表于 2013-5-3 10:29
不建议使用这个片子,建议 18F4520 代替,452这个片子厂家已经不推荐使用了。 ...

谢谢楼上的,我最近自己的折腾这个芯片,感觉总是乖乖的,都不知道是不是自己的程序有问题还是什么回事,暂时手上没有4520,下次出去买一个看看就知道了!

出0入0汤圆

发表于 2013-5-3 10:44:39 | 显示全部楼层
PIC的编译器有软件模拟功能,模拟运行一下便知道问题出在哪里了!

出0入0汤圆

 楼主| 发表于 2013-5-3 10:45:56 | 显示全部楼层
Wxy8030 发表于 2013-5-3 10:44
PIC的编译器有软件模拟功能,模拟运行一下便知道问题出在哪里了!

求一份软件模拟说明,谢谢!

出0入0汤圆

发表于 2013-5-3 10:53:26 | 显示全部楼层
sinc_mark 发表于 2013-5-3 10:45
求一份软件模拟说明,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-5-7 09:12:43 | 显示全部楼层
自己顶一下,顺道报道一下:我使用外接10M晶振,然后使用倍频,出现异常(LED灯闪烁),不开倍频的时候,倒是没有什么问题,现在还没找出导致该问题原因!

出0入0汤圆

 楼主| 发表于 2013-5-8 09:07:16 | 显示全部楼层
归结了一下,很可能是因为我原先使用的晶振有问题,原先使用10M的晶振,开启倍频之后会出现一些很奇怪的现象,现在使用20M的晶振,没开倍频,暂时不会出现异常!

出0入0汤圆

发表于 2015-8-10 01:51:18 | 显示全部楼层
不错,学习了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-23 10:25

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

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