我怎么连这么简单的PIC程序都搞不定?

[复制链接]
 楼主| tc9148 发表于 2008-12-20 02:59 | 显示全部楼层 |阅读模式

#include <16F877A.h>
#use delay(clock=4000000)        // delay_ms() or delay_us() 使用信息;
#fuses XT, NOWDT, NOLVP, NOPROTECT    // 我搞了好久才搞清楚

void main(void)
{

    while(1)
   {
      if( !input(PIN_C0) )
      {output_low(PIN_C7);}
      else if(input(PIN_C0))
      output_low(PIN_C5);
   }
}//end main()

目的是:判断RC0的高低(通过按钮开关,平时不接高也不接低),来控制RC5和RC7的置低(点亮两个LED)。
现象是:一加电RC5和RC7全为低(LED亮)。
软件环境:PIC-CCS  PCW
硬件:PIC16F877A
洪七公 发表于 2008-12-20 20:17 | 显示全部楼层

没见IO初始化呀~~~

yofa2008 发表于 2008-12-20 22:56 | 显示全部楼层

这就是PIC啊……

PIC就是看不懂它的程序是啷个做是起的……——
创意之都 发表于 2008-12-21 11:33 | 显示全部楼层

请控制程序的复杂度,现在要求的是越规范越好,不是越聪明

请控制程序的复杂度,现在要求的是越规范越好,不是越聪明越好
ayb_ice 发表于 2008-12-21 11:50 | 显示全部楼层

PICC不也支持位寻址吗

直接用=即可
PIN_C0 = !PIN_C0;
tcc8073 发表于 2009-1-6 11:57 | 显示全部楼层

PIC的I/O口先定义后使用

PIC的I/O口先定义后使用,在RAM中选体1,写入数据到TRISC,选定I/O口的输入或输出状态(RC5为1表示输入,为0表示输出),再往RC口输出数据或读取数据,定义好后才可以使用,用C写程序的时候最好先了解一些汇编的知识,做单片机最好是对硬件多点了解,这样对些程序是很有好处的,PIC是好东西,大家一起努力!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

137

主题

589

帖子

1

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