打印

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

[复制链接]
2809|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 | 只看该作者
加个延时试一下,

使用特权

评论回复
5
yklstudent| | 2013-3-6 00:06 | 只看该作者
PIC16F1823资料中配置部分写的很明白  楼主肯定没有仔细看手册
MCLR做数字IO时,只能作为输入
如果有其他问题 请查阅手册

使用特权

评论回复
6
jiangcr81|  楼主 | 2013-3-6 08:35 | 只看该作者
谢谢各位帮助。找到原因了,程序没问题。是硬件线没接好。

使用特权

评论回复
7
yewuyi| | 2013-3-6 12:27 | 只看该作者

ANSELA;
ANSELB
ANSELC
ADCON1
。。。
把所有相关的寄存器都设置好。

使用特权

评论回复
8
兰天白云| | 2013-3-6 12:56 | 只看该作者
jiangcr81 发表于 2013-3-6 08:35
谢谢各位帮助。找到原因了,程序没问题。是硬件线没接好。

这种低级错误,神才能解啊

使用特权

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

本版积分规则

4

主题

14

帖子

0

粉丝