永发信息网

用单片机实现按键取反功能,按下p1.0然后p2.0取反 怎么实现不了????求帮忙啊!!!!

答案:3  悬赏:80  手机版
解决时间 2021-03-25 22:50
  • 提问者网友:像風在裏
  • 2021-03-25 12:24
用单片机实现按键取反功能,按下p1.0然后p2.0取反 怎么实现不了????求帮忙啊!!!!
最佳答案
  • 五星知识达人网友:笑迎怀羞
  • 2021-03-25 13:06
如下即可:

ORG 0000H
START:
JB P1.0, START
CALL DL
JB P1.0, START
JNB P1.0, $
CPL P2.0
SJMP START

DL: MOV R6, #20
DL1:DJNZ R7, DL1
DJNZ R6, DL1
RET

END追问我主要是想练习那个按键电路的功能 看看我上边电路有啥问题?追答电路完全正确。

把 R2 省略,也可以。

P2.0 加上 LED,也好。追问程序应该有问题 运行不出来 帮忙给看看行不?追答程序并无问题,已经实验成功:按一次 P1.0 按键,P2.0 取一次反。追问你说的是我发的程序吗?我运行了几次都没成功!!!!追答你发的程序?
当然不能成功,你发的程序,逻辑上,有明显的错误。追问帮个忙追答你写的程序如下,有两处错误:
……
MOV B,P1
CJNE A,B,GORET
JNB ACC.0,KEY
GORET:RET----返回到何处?
KEY: LCALL FUNC
RET--------返回到何处?
FUNC:CPL P2.0
……

你这程序,返回一次,就跑飞的没有影了。

显然不能成功。
------
我写的程序,已经实验成功:按一次 P1.0 按键,P2.0 取一次反。追问怎么通过按键来选择多位数码管的其中一位闪烁啊我给您私信发过去了 求帮忙 谢谢啊追答怎么通过按键来选择多位数码管的其中一位闪烁啊

--这个可以另外提问。追问我已经把我的想法给你发过去了!!!私信 希望您能帮忙
全部回答
  • 1楼网友:英雄的欲望
  • 2021-03-25 14:49
按键要防抖,或者电路加电容。追问能具体点吗?追答按键防抖你去了解一下
  • 2楼网友:毛毛
  • 2021-03-25 13:14
ORG 0000H
START: MOV P1,#0FFH
MOV A,P1
LCALL WAIT
MOV B,P1
CJNE A,B,GORET
JNB ACC.0,KEY
GORET:SJMP START
KEY: LCALL FUNC
SJMP START
FUNC:CPL P2.0
RET
WAIT:
MOV R0,#10
DL2: MOV R1,#7DH
DL1: NOP
NOP
DJNZ R1,DL1
DJNZ R0,DL2
RET
END
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯