请教PIC16F1823 RA口不能输出高低的问题

[复制链接]
3487|7
 楼主| jiangcr81 发表于 2013-3-5 17:15 | 显示全部楼层 |阅读模式
各位大虾,16F1823的RC口输出1/0挺正常的,RA口输出就是不正常。
程序在下面,请帮忙看一下哪里问题吧,谢谢

#include <pic.h>
__CONFIG(0x001C);

void Init_Config()
{
OSCCON = 0xFB;
C1ON = 0;
C2ON = 0;
PORTA = 0x00;
LATA  = 0x00;
ANSELA = 0x00;
TRISA = 0x00;

PORTC = 0x00;
LATC  = 0x00;
ANSELC = 0x00;
TRISC = 0x00;

}

void main()
{
Init_Config();
while(1)
{
  asm("clrwdt");   //清看门狗

  RA0 = 1;
  RA1 = 1;
  RA2 = 1;
  RA3 = 1;
  RA4 = 1;
  RA5 = 1;

  RA0 = 0;
  RA1 = 0;
  RA2 = 0;
  RA3 = 0;
  RA4 = 0;
  RA5 = 0;
}
}

闲来玩玩 发表于 2013-3-5 17:56 | 显示全部楼层
A口上电默认AD的,要设置成数字端口,详见器件手册,好像是ANSELx寄存器。
 楼主| jiangcr81 发表于 2013-3-5 18:11 | 显示全部楼层
已经写过了
ANSELA = 0x00;
测试下来就是不能输出高低。好奇怪
闲来玩玩 发表于 2013-3-5 19:13 | 显示全部楼层
加个延时试一下,
yklstudent 发表于 2013-3-6 00:06 | 显示全部楼层
PIC16F1823资料中配置部分写的很明白  楼主肯定没有仔细看手册
MCLR做数字IO时,只能作为输入
如果有其他问题 请查阅手册
 楼主| jiangcr81 发表于 2013-3-6 08:35 | 显示全部楼层
谢谢各位帮助。找到原因了,程序没问题。是硬件线没接好。
yewuyi 发表于 2013-3-6 12:27 | 显示全部楼层

ANSELA;
ANSELB
ANSELC
ADCON1
。。。
把所有相关的寄存器都设置好。
兰天白云 发表于 2013-3-6 12:56 | 显示全部楼层
jiangcr81 发表于 2013-3-6 08:35
谢谢各位帮助。找到原因了,程序没问题。是硬件线没接好。

这种低级错误,神才能解啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部