请教一个简单的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 DoesAD is off? jlian168 发表于 2013-4-22 09:57 static/image/common/back.gif
DoesAD is off?
如何设置AD的on 和 off 阿? 另外,有朋友说是因为模拟功能复用,应该怎么办?如何修改? 谢谢。 ADCON1=0x07; //It is all Digital I/O bsf STATUS,RP0 ; Bank 1,以便访问TRISx寄存器。
movlw 0x07 ; 设置RA/RE口全部为普通数字I/O口
movwf ADCON1
movlw 0x01 ; 设置RA0为输入,其余为输出。
movwf TRISA
movlw 0xFF ; 设置RB口为输入
movwf TRISB
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 static/image/common/back.gif
悬空的输入端,本来就可以做电容触摸了,何况你用铜丝去戳她。
对,可这是为什么呢 悬空的话状态不固定,当然会导致输出混乱
页:
[1]