打印
[PIC®/AVR®/dsPIC®产品]

PIC12F1571 RA0-RA2做输入口功能不正常。

[复制链接]
781|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
acetuo|  楼主 | 2019-11-9 09:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PIC12F1571 RA0-RA2做输入口功能不正常;做输出口功能。软件用MPLAB X IDE V5.15,有配置外设触发。void main(void)
{   
    OPTION_REG=0X47;
    ANSELA=0x00;
    INTCON=0x00;        //中断控制寄存器
    PORTA=0x00;         //1100 1111
    WPUA =0xFF;
    TRISA=0xCF;                    //1100 1111=RA0-3输入=1;RA4-5输出=0
    OpenWinFB=0;
    CloseWinFB=0;
    ADIE=1;                     //1 = 允许ADC 中断
    TMR1GIE=1;      //1 = 允许Timer1 门控采集中断
    TMR1IE=1;       //1 = 允许Timer1 上溢中断
    INTCONbits.IOCIE = 1;       //1 = 允许电平变化中断
    INTCONbits.IOCIF = 1;       //1 = 至少有一个电平变化中断引脚改变了状态
    INTCONbits.PEIE = 1;        //外设中断允许
    INTCONbits.INTE = 1;        //允许INT 外部中断
        INTCONbits.GIE  = 1;        //系统中断允许
        TMR0IE = 1;                                //TMR0使能
    while (1)
    {   
    //    ADC_PowerForward  = get_adc_contiue(0);//电源正方向取样AN0
    //    ADC_PowerReverse  = get_adc_contiue(1);//电源反方向取样AN1
        NOP();
        NOP();
        if(RA0)//判断电压的方向=正方向
        {        
                PowerForwardFlag=1;
                OpenWinFB=1;   
        }
        
        if( RA1 )//判断电压的方向=正方向
        {         
                PowerReverseFlag=1;
                CloseWinFB=1;   
        }
      
      
        
       /*     
        if( (ADC_PowerForward > 150 ) && ( ADC_PowerReverse < 8 ) )//判断电压的方向=正方向
        {        
            __delay_ms(5);
            if(ADC_PowerForward > 150 )
            {
                PowerForwardFlag=1;
                OpenWinFB=1;
            }
        }
        else{ PowerForwardFlag=0;OpenWinFB=0;}
        if( (ADC_PowerReverse > 150 ) && ( ADC_PowerForward < 8 ) )//判断电压的方向=正方向
        {        
            __delay_ms(5);
            if(ADC_PowerReverse > 150 )
            {
                PowerReverseFlag=1;
                CloseWinFB=1;
            }
        }
        else{PowerReverseFlag=0; CloseWinFB=0;}
        * /
        /*
                if(PowerForwardFlag)//正方向
                {        
                        OpenWinFB=1;
        }
        if(PowerReverseFlag)//反方向
                {        
                        CloseWinFB=1;
        }
       */
    }
}

使用特权

评论回复
沙发
acetuo|  楼主 | 2019-11-9 09:51 | 只看该作者
请各位大佬赐教下,谢谢!!

使用特权

评论回复
板凳
lcczg| | 2019-11-11 15:32 | 只看该作者
RA0-RA2做输入口功能不正常是指做模拟ADC输入口不正常还是数字输入不正常?

使用特权

评论回复
地板
奔波儿熊| | 2019-11-12 14:53 | 只看该作者
具体怎么不正常

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

55

帖子

1

粉丝