kingkrosson 发表于 2013-4-22 09:37:55

请教一个简单的pic电机控制问题

请大家帮我看看,为何A0引脚设置为输入后,开关无论是高低电平,引脚portb 输出都不变化呢? 但是把A0换城b5就可以了。

为啥a0不行啊?哪里设置的问题吗

LIST   P=PIC16F877A      
   INCLUDE   P16F877A.INC      
      
__CONFIG   _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF

       ORG   0

;************Initial processing***************

      BSF    STATUS,RP0    ;BANK1 SELECTED
      MOVLW0F1H
      MOVWFTRISB
   MOVLW001H
   MOVWFTRISA

      BCF    STATUS,RP0    ;BANK0 SELECTED
      CLRF   PORTB         ;CLERA PORT B
   CLRF   PORTA

;************Main processing***************

main

      BTFSSPORTA,0       ;Check if SW was pushed
       GOTOmain_off

main_on

      MOVLW0CH
      MOVWFPORTB
       GOTOmain

main_off

   MOVLW   06H
   MOVWF   PORTB
      GOTO   main

END

jlian168 发表于 2013-4-22 09:57:11

DoesAD is off?

kingkrosson 发表于 2013-4-22 12:02:36

jlian168 发表于 2013-4-22 09:57 static/image/common/back.gif
DoesAD is off?

如何设置AD的on 和 off 阿? 另外,有朋友说是因为模拟功能复用,应该怎么办?如何修改? 谢谢。

jlian168 发表于 2013-4-22 14:06:10

ADCON1=0x07;    //It is all Digital I/O

JQ_Lin 发表于 2013-4-22 14:25:45

        bsf        STATUS,RP0                ; Bank 1,以便访问TRISx寄存器。
        movlw        0x07                        ; 设置RA/RE口全部为普通数字I/O口
        movwf        ADCON1
        movlw        0x01                        ; 设置RA0为输入,其余为输出。
        movwf        TRISA
        movlw        0xFF                        ; 设置RB口为输入
        movwf        TRISB

kingkrosson 发表于 2013-4-22 21:04:24

JQ_Lin 发表于 2013-4-22 14:25 static/image/common/back.gif
bsf        STATUS,RP0                ; Bank 1,以便访问TRISx寄存器。
        movlw        0x07                        ; 设置RA/RE口全部为普通数字I/O口
        mov ...

你好,按照你说的修改了代码,A0是可以用了,谢谢楼上所有的解答。


计划是A0接地,RB1 RB2口输出,A0接5v,RB2,RB3输出。已经没有问题。


但是,我把A0口悬空的话,就出现了很奇怪的现象。 比如用一根铜丝触碰A0口的话,就会切换RB的输出状态。甚至用手指触摸,或者靠近,都会让RB输出状态改变。比如RB1,2,3驱动的3个led同时亮,或者其中两个很亮,一个弱亮,请问这是什么原因啊。

Friendz 发表于 2013-4-25 22:28:02

悬空的输入端,本来就可以做电容触摸了,何况你用铜丝去戳她。

kingkrosson 发表于 2013-4-26 16:38:25

Friendz 发表于 2013-4-25 22:28 static/image/common/back.gif
悬空的输入端,本来就可以做电容触摸了,何况你用铜丝去戳她。

对,可这是为什么呢

huarana 发表于 2013-4-27 19:17:38

悬空的话状态不固定,当然会导致输出混乱
页: [1]
查看完整版本: 请教一个简单的pic电机控制问题