各位大侠,求救贴。第一次用PIC单片机,出现了一个大问题:
使用的单片机为PIC 16F627A 配置如下:
OPTION = 0x8F;
CMCON = 0x07; //配置比较器寄存器
VRCON = 0x00; //关闭参考电压模块
CCP1CON = 0x00; //关闭捕捉、比较和PWM功能
TRISA = 0xFF; //初始化PORTA输入出口,未使用的I/O口设置为输入(全部为外部电阻上拉)
TRISB = 0x80; //初始化PORTB输出出口,RB0-RB5为输出,RB6为LED灯控制I/O,RB7设置为输入。
PORTB = 0x00; //初始化B输出口为低电平
PORTA = 0x00; //初始化A输入口为高电平
不用外设,只用来做IO控制。
RA0-RA6作为输入,RB0-RB6作为输出
程序很简单,就是根据RA3-RA6读入的电平组合来确定RB0-RB5的输出
结果,RA3不能正确的读I/O电平,RB2和RB3不能作为I/O输出。其他的IO正常。与RA3相关的外设是模拟比较器,与RB2相关的是USART发送、同步时钟IO
与RB3相关的是捕捉、比较和PWM功能。测试发现,RA5 RA4 RA3电平状态读作 101与读作100时,RB0-RB5的输出组合是一致的;读作001时,RB0-RB5都没有输出;读作011与读作010时,RB0-RB5的输出组合一致,分析得到RA3没有读到电平状态而一致为初始化的值。编译器用的是HI-TECH 9.60。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>