找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3028|回复: 15
收起左侧

帮我看看这个程序应如何写

[复制链接]
ID:44124 发表于 2013-8-18 00:08 | 显示全部楼层 |阅读模式
硬件见下图,要求当开关S1与S2均接通时D1才亮,S1与S2随便一个断开或两个均断开时D1灭,请大侠帮写个汇编程序,C的看不懂,谢谢!

两个开关控制一个LED.JPG
回复

使用道具 举报

ID:27916 发表于 2013-8-18 16:07 | 显示全部楼层
LOOP:
MOV    A,P3
ANL     a,#3
JZ       L_SETON

SETB  P1.0
JMP   LOOP
L_SETON:
CLR    P1.0
JMP   LOOP
仅供参考!
回复

使用道具 举报

ID:27916 发表于 2013-8-18 16:07 | 显示全部楼层
LOOP:
MOV    A,P3
ANL     a,#3
JZ       L_SETON

SETB  P1.0
JMP   LOOP
L_SETON:
CLR    P1.0
JMP   LOOP
仅供参考!
回复

使用道具 举报

ID:7485 发表于 2013-8-18 16:56 | 显示全部楼层
在亮的状态下,关一个开关不会灭。
回复

使用道具 举报

ID:7485 发表于 2013-8-18 16:56 | 显示全部楼层
在亮的状态下,关一个开关不会灭。
回复

使用道具 举报

ID:7485 发表于 2013-8-18 17:07 | 显示全部楼层
LOOP:
MOV  P3, #0ffh
MOV  A,P3
ANL a,#3
cjne  A, #3,L_SETON
;JZ  L_SETON

SETB P1.0
JMP LOOP
L_SETON:
CLR  P1.0
JMP LOOP     
    END
回复

使用道具 举报

ID:27916 发表于 2013-8-18 20:12 | 显示全部楼层
乱说,,,
回复

使用道具 举报

ID:44124 发表于 2013-8-18 22:32 | 显示全部楼层
青苹果 发表于 2013-8-18 16:07
LOOP:
MOV    A,P3
ANL     a,#3

经试验,这个程序完全满足要求,让我学习了,谢谢!
回复

使用道具 举报

ID:44124 发表于 2013-8-18 22:34 | 显示全部楼层
ahshmj 发表于 2013-8-18 17:07
LOOP:
MOV  P3, #0ffh
MOV  A,P3

这个程序试验过,相当于是两个并联的开关,不过还是谢谢你的回答!
回复

使用道具 举报

ID:7485 发表于 2013-8-19 00:23 | 显示全部楼层
sjztjk 发表于 2013-8-18 22:34
这个程序试验过,相当于是两个并联的开关,不过还是谢谢你的回答!

真搞不懂你。
究竟那一个程序“相当于是两个并联的开关”?
回复

使用道具 举报

ID:7485 发表于 2013-8-19 03:46 | 显示全部楼层

刮目相看。
回复

使用道具 举报

ID:27916 发表于 2013-8-19 13:21 | 显示全部楼层
回复

使用道具 举报

ID:44124 发表于 2013-8-19 23:25 | 显示全部楼层
6楼ahshmj所写的程序,经试验S1与S2相当于两个并联的开关,随便按一个D1均亮!

LOOP:
MOV  P3, #0ffh
MOV  A,P3
ANL a,#3
cjne  A, #3,L_SETON
;JZ  L_SETON

SETB P1.0
JMP LOOP
L_SETON:
CLR  P1.0
JMP LOOP     
    END
回复

使用道具 举报

ID:7485 发表于 2013-8-20 06:20 | 显示全部楼层
本帖最后由 ahshmj 于 2013-8-20 06:45 编辑
sjztjk 发表于 2013-8-19 23:25
6楼ahshmj所写的程序,经试验S1与S2相当于两个并联的开关,随便按一个D1均亮!

LOOP:

LOOP:
MOV  P3, #0ffh
MOV  A,P3
ANL a,#3
cjne  A, #3,L_SETON
;JZ  L_SETON

SETB P1.0
JMP LOOP
L_SETON:
CLR  P1.0
JMP LOOP     
    END
这个程序中的“cjne  A, #3,L_SETON”这一句,只有P3.0、P3.1都为“1”时,P1.1=1,。其中一个为0,或者都为0,则P1.1=0 。
(若换成  “JZ  L_SETON  ” 则相反,“ACC=0” 则跳转,P1.1=0 。否则ACC=3,ACC=2,ACC=1,则P1.1=1。)

将 MOV  P3, #0ffh  ,改为SETB  P3.0     SETB  P3.1 更合理。
  
回复

使用道具 举报

ID:76287 发表于 2015-4-10 09:16 | 显示全部楼层
虽然不懂,但还是要顶,毕竟每一位老手都是从新手蜕变而来的,赞一个。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表