求教最基础的PIC 的I/O控制问题 C语言

小弟刚开始接触PIC的C程序,用的调试环境是MPLAB-IDE,然后编译器是网上下载的破解版的PICC9.50版本。本想就控制一个引脚的高低电平转换,选择的芯片是PIC1... 小弟刚开始接触PIC的C程序,用的调试环境是 MPLAB-IDE,然后编译器是网上下载的破解版的PICC9.50版本。 本想就控制一个引脚的高低电平转换,选择的芯片是 PIC16F684,程序如下:
#include<pic.h>

main()
{ TRISA4=0;
RA4=1;
}

可以通过编译,生成.HEX文件
这个程序应该是把RA4脚变成高电平
问题是,我用ISIS仿真,选择的也是PIC16F684器件,载入这个生成的HEX文件后,仿真时,每个脚都是低电平。就是程序没有用,没有把引脚变高电平
请教各位前辈是什么原因呢?
编译器有问题? ISIS 的问题? 还是程序的问题?还是设置的问题?
求教大家了 谢谢
展开
 我来答
micropower
2009-03-11 · TA获得超过1万个赞
知道大有可为答主
回答量:2619
采纳率:50%
帮助的人:1553万
展开全部
首先,你要去Microchip的网站上找16F684的数据手册。因为PIC单片机就算是16F系列的各个型号不同也有差异的。16f684数据说明书上写明了,要把某I/O引脚做数字量输入输出,除了TRIS寄存器外还要配置CMCON0和ANSEL这两个寄存器。CMCON0=0X07;ANSEL=0;
如果还不行,那就在RA4置一的语句之后再加while(1);因为程序执行太快,一下子就都执行玩了,这个时候可能出现的情况就是:单片机的程序执行到程序区域的最后,再重新从头执行,从头再执行的时候TRISA又复位置一了。这样在不到几十毫秒的时间里RA4输出1后,又变成输入,当然看不出这个引脚是否为1了。
另外要注意一下配置位。因为这款芯片有内部振荡器,有的时候配置位没配置好单片机根本不工作,因为它不知道你是要用内部RC振荡器还是标注晶振还是用外部RC振荡。学PIC的单片机最开始最关键就是要设置好这东东。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式