我刚学习PIC单片机,帮我看看这个程序哪里有错

2019-03-25 19:00发布

大侠们!帮帮忙,看看程序有何问题,我在软件仿真程序的时候,为何运行到下图处时,
PORTA的值还没有改变呢?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
werjufour
1楼-- · 2019-03-26 22:43
眼大5子 发表于 2015-3-20 09:50
要设置为数字IO,默认模拟IO,读为0

为什么你的仿真例子里的C程序只有下面这样,这样子的话等会闪烁吗?




//-----------------------------------------------------------------

//  名称: 闪烁的LED

//-----------------------------------------------------------------

//  说明: LED按设定的时间间隔闪烁

//-----------------------------------------------------------------

#include <pic.h>

#define _XTAL_FREQ 4000000UL

#define LED  RC5             //定义LED

//-----------------------------------------------------------------

// 主程序

//-----------------------------------------------------------------

void main()

{

   TRISC = 0x00;             //设置整个PORTC端口为输出(或设置TRISC5 = 0;)

   PORTC = 0xFF;             //初始时输出全1



   while(1)

   {







   }

}


dingzy_2002
2楼-- · 2019-03-27 04:02
werjufour 发表于 2015-3-23 21:58
为什么你的仿真例子里的C程序只有下面这样,这样子的话等会闪烁吗?




//-----------------------------------------------------------------

//  名称: 闪烁的LED

//-----------------------------------------------------------------

//  说明: LED按设定的时间间隔闪烁

//-----------------------------------------------------------------

#include

#define _XTAL_FREQ 4000000UL

#define LED  RC5             //定义LED

//-----------------------------------------------------------------

// 主程序

//-----------------------------------------------------------------

void main()

{

   TRISC = 0x00;             //设置整个PORTC端口为输出(或设置TRISC5 = 0;)

   PORTC = 0xFF;             //初始时输出全1



   while(1)

   {







   }

}

PIC16F676要使能PORTA脚时,不仅仅需要设置TRISA,还要初始化复用功能引脚
一般有两个:AD寄存器,比较器寄存器
尤其是比较器寄存器,PIC16F676初始化时此寄存器为00,默认是PORTA作为比较器模拟输入脚,此时当然不能作为输出了
应该将比较器寄存器设置为0X07,关闭比较器功能.
werjufour
3楼-- · 2019-03-27 04:11
 精彩回答 2  元偷偷看……
dingzy_2002
4楼-- · 2019-03-27 05:46
比较寄存器名称:CMCON,初始化写为CMCON=0x07;
AD寄存器有3个:ADCON0,ADCON1,ANSEL,
其中ADCON0是作为转换通道/转换结果对齐/基准源选择 以及AD模块开启/关闭 的功能设置
      ADCON1是作为转换速率设置
      ANSEL是作为要使用的AD通道对应的管脚 是否作为模拟输入或数字输入选择的。
dingzy_2002
5楼-- · 2019-03-27 06:30
werjufour 发表于 2015-3-24 20:37
谢谢你的提示



我也刚刚想到了是这个原因



复用的引脚该作为什么功能引脚该设置哪个寄存器呢

我官方下载的中文数据手册中没有提到引脚做为什么功能引脚的设置。

你数据手册哪里下的,可以告诉我吗?

官方下载的中文数据手册里面就有的,仔细看下,有书签查看,很是方便的。
我下的也是官方的数据手册。
werjufour
6楼-- · 2019-03-27 11:45
dingzy_2002 发表于 2015-3-25 09:57
官方下载的中文数据手册里面就有的,仔细看下,有书签查看,很是方便的。
我下的也是官方的数据手册。

我下载的这份都没有,你可以发分给我吗?谢谢了

一周热门 更多>