diyzxh 发表于 2018-11-24 20:41:57

10F322定时器 求解

我的编译器HI-TECH 9.83   
MPLAB IDE V8.92

#include "pic.h"


__CONFIG(FOSC_INTOSC&MCLRE_OFF&WDTE_OFF);   //配置位,参考芯片头文件


#define p_led0        LATAbits.LATA2               
#define p_led1        LATAbits.LATA1




bit f_led;

//-------------------------------------------------------------------------------
//系统初始化
//-------------------------------------------------------------------------------
void System_Init(void)
{
        OSCCON=0b01100000;   //内部8M
        LATA= 0b00000000;         
        TRISA= 0b00000000;            
       
        OPTION_REGbits.T0CS = 0;      
    OPTION_REGbits.PSA = 0;      
    OPTION_REGbits.PS = 0b000;
   
        INTCONbits.TMR0IE = 1;
    INTCONbits.GIE =1;   
        INTCONbits.PEIE = 1;

}
//-------------------------------------------------------------------------------
//-------------------------------------------------------------------------------
//中断程序
//-------------------------------------------------------------------------------
void interrupt SystemISR(void)      //系统中断
{

        if((INTCONbits.TMR0IE) & (INTCONbits.TMR0IF))                   //TMR2中断       
        {
                TMR0IF=0;               
                TMR0=20;
       
                p_led0=!p_led0;                
        }
}
//-------------------------------------------------------------------------------
//主程序部分
//-------------------------------------------------------------------------------
void main(void)
{
        System_Init();         
       
               
        while(1)
        {
                p_led1 = !p_led1;
                       

        }
}

本意是定时多少时间 管脚电平翻转
示波器测试出来的 波形不是方波。

caoxuedong 发表于 2018-11-28 16:16:12

PIC有些引脚是有模拟比较器功能的,特殊的引脚要看文档才能用好。

leolong03 发表于 2018-12-13 20:46:49

估计是有模拟复用功能没有关闭吧
页: [1]
查看完整版本: 10F322定时器 求解