打印

请教 为什么检测不到RA1端口高电平

[复制链接]
2468|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yqc6768011|  楼主 | 2010-10-12 14:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <pic.h>
__CONFIG(XT&WDTDIS);
#define uchar unsigned char
#define uint unsigned int
#define ulong  unsigned long
uchar c;
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
  for(b=110;b>0;b--);
}
void init(void)
   {
  
    PORTA=0X00;
    TRISA=0XFF;
    PORTB=0X00;
    TRISB=0X00;
   
    PORTC=0XFF;
    TRISC=0XFF;
   
    PORTD=0X00;
    TRISD=0X00;
   }
  void move(void)
     {
     uint dat;
     uchar y;
     dat=0x20;
     for(y=0;y<7;y++)
          {
           PORTB=dat;
           if(RA1==0)
               {
                delay(100);
                dat=dat>>1;
                 }
           else
             {
              RD7=1;
              delay(250);
              RD7=0;
              }
            
         
      
             }
            }
void key(void)
   {
   
    if(RC2==0)
      {
      
      c=1;
      }
      
   }
void test(void)
    {
     key();
   if(c==1)
     {
      c=0;
      move();
     }
   }

void main()
   {
    init();
    while(1)
     {
    test();
     }
   }
沙发
yqc6768011|  楼主 | 2010-10-12 14:37 | 只看该作者
有人在吗 。。。。。。

使用特权

评论回复
板凳
asspeed| | 2010-10-12 21:46 | 只看该作者
仔细把数据手册中关于I/O部分内容完完整整看完就可知。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
yqc6768011 + 1
地板
XIEYUANBIN| | 2010-10-13 09:05 | 只看该作者
1# yqc6768011

不知道你什么芯片,一般RA1口默认为AD口,如果该芯片有AD功能的话

使用特权

评论回复
5
yqc6768011|  楼主 | 2010-10-13 13:01 | 只看该作者
嗯   是AD 功能没关闭

使用特权

评论回复
6
flyinbed| | 2010-10-13 21:36 | 只看该作者
adcon1的口设置,需要数字功能的话要开启的。例如PIC16f877

使用特权

评论回复
7
zdhlixiang2006| | 2010-10-24 10:09 | 只看该作者
LZ,商上电默认是AD功能,能测到高电平都见鬼了

使用特权

评论回复
8
yqc6768011|  楼主 | 2010-10-24 16:36 | 只看该作者
:loveliness:

使用特权

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

本版积分规则

15

主题

67

帖子

0

粉丝