由于缺少讲述pic的C语言书,所以有点问题不懂

2020-02-09 11:45发布

#include"pic1687x.h"
#define uchar unsigned char
uchar count=0,flag=0;
void interrupt t0ovf()
{
        T0IF=0;
        count++;
        if(count>=15)
         {
             flag++;
           count=0;
        }
}
void main()
{
        TRISB=0x00;
        PORTB=0x00;
        OPTION=0x07;
        INTCON=0x0a0;
        T0IF=0;
        while(1)
        {
                if(flag)
                 {
                     RB0=!RB0;
                  flag=0;
                 }
        }
}
       
中断问题,中断入口一样,那么是否都是void interrupt (函数自定义)()这种写法?既然没有优先级,那么它的中断标志是否很重要?因为我学的51,AVR基本不管中断标志的。
选项寄存器OPTION_REG用OPTION表示吗?
有没有绝对精确的延时1秒程序,发现汇编也精确不了?
AVR是1个指令周期=1个时钟周期。选晶振时是否很方便?
PIC是1个指令周期=4个时钟周期,选晶振时是否最好选4的倍数的晶振?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
liumapple
2020-02-09 15:42
只有一个中断口。判断什么中断就是靠那些中断标志位了。晶振选4m就可以了。四个周期的话。一条指令1us。精确一秒用定时器中断。他有两个定时器中断阿。

一周热门 更多>