单片机/MCU论坛
直播中

从未拥有

10年用户 1020经验值
擅长:可编程逻辑 电源/新能源 光电显示
私信 关注

无法让GP2成为PIC10F200上的输出怎么办?

我无法让 GP2 成为PIC10F200上的输出。
GP0 和 GP1 作为输出工作正常,但 GP2 似乎仍然是输出。这是我的代码:-
nop
nop
nop
nop
clrf 5 ;osccal
movlw 0b11110001
movwf 7 ;cmcon
movlw 0x00
tris 6
loop
bsf 6, 2
nop
bsf 6, 1
nop
bsf 6, 0
decfsz 0x10, f
goto $-1
bcf 6, 2
nop
bcf 6, 1
nop
bcf 6, 0
decfsz 0x10, f
goto $-1
goto loop
我还没有找到包含文件,因此我可以对寄存器使用友好名称,但寄存器 6 是 IO。
我意识到PIC10F200上没有比较器,因此不需要写入 CMCON(寄存器 7),而且我没有发现它有任何区别,因为无论我是否写入 GP2 都不是输出。 此代码在 GP0 和 GP1 上发出方波,但 GP2 仍在浮动。

回帖(1)

胖子的逆袭

2024-1-31 18:09:02
如果你无法让GP2成为PIC10F200上的输出,可能是因为你没有正确地设置GP2的管脚功能和方向。你可以尝试以下几个步骤来解决问题:

1. 确保你正确地将GP2设置为输出模式。在你的代码中,TRIS 6的设置可能不正确。你可以尝试将其设置为0b00000100来将GP2设置为输出。可以使用"movlw 0b00000100"和"movwf 6"来实现。

2. 如果你确认GP2的方向设置正确,但仍无法正常输出,可能是由于其他部分的代码造成的干扰。你可以尝试将其他涉及GP2的操作暂时注释掉,只保留GP2的输出操作,然后重新测试。

3. 另外,请确保你在正确的管脚上接线。可能是由于接线错误导致无法观察到GP2的输出。你可以检查一下电路连接和引脚对应关系是否正确。

如果以上步骤都无法解决问题,你可以尝试使用调试工具来帮助定位问题所在。例如,你可以使用示波器来观察GP2管脚上的信号变化,或使用仿真器来进行硬件调试。

希望以上信息对你有所帮助,祝你成功!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分