pic18f4685 单片机

2019-03-25 19:12发布

lz刚接触pic,用的芯片是pic18f4685,在编一个闪烁灯的时候遇到个问题就是不知道怎么配置定时器0的寄存器,下面是我编的程序
#include<htc.h>
#include<pic18.h>
#define uchar unsigned char
#define uint unsigned int
void init();
void main()
{
        int intnum;
        init();
        while(1)
        {
                if(TMR0IF==1)
                {
                        TMR0IF=0;
                        intnum++;
                        if(intnum==3906)
                        {
                                intnum=0;
                                RD0=!RD;
                        }
                }
        }       
}
void init()
{
        TRISD=0x00;
        PORTD=0x00;
        T0CON=0xc8;
}
不知道哪里错了,显示是第一个流水灯一直亮着,求大神帮助 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
lcofjp
1楼-- · 2019-03-26 02:43
你的程序思路不对,不仅仅是定时器的问题。里面语句好像只能执行一次。
cdf777
2楼-- · 2019-03-26 04:20
 精彩回答 2  元偷偷看……
了无痕迹01
3楼-- · 2019-03-26 05:01
这个不是主要原因,我后来改了。。还是不对
了无痕迹01
4楼-- · 2019-03-26 05:24
好像是的    流水灯就一直亮着。。。。我这里用的是查询法,怎样修改下啊,,,跪求帮助。。谢谢了
lcofjp
5楼-- · 2019-03-26 09:07
首先我对PIC不熟悉,没怎么用过。
我可以提示你一下,定时器超时之后是要重新进行赋值的,否则就不会再启动了。
还有你要好好看手册,不要浮躁急于写程序。
如果你有仿真器的话,最好仿真观察,学会调适。
了无痕迹01
6楼-- · 2019-03-26 09:23
恩   谢谢了

一周热门 更多>