找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2987|回复: 15
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
硬件见下图,要求当开关S1与S2均接通时D1才亮,S1与S2随便一个断开或两个均断开时D1灭,请大侠帮写个汇编程序,C的看不懂,谢谢!

两个开关控制一个LED.JPG (67.96 KB, 下载次数: 145)

两个开关控制一个LED.JPG
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 | 只看该作者
在亮的状态下,关一个开关不会灭。
回复

使用道具 举报

5#
ID:7485 发表于 2013-8-18 16:56 | 只看该作者
在亮的状态下,关一个开关不会灭。
回复

使用道具 举报

6#
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
回复

使用道具 举报

7#
ID:27916 发表于 2013-8-18 20:12 | 只看该作者
乱说,,,
回复

使用道具 举报

8#
ID:44124 发表于 2013-8-18 22:32 | 只看该作者
青苹果 发表于 2013-8-18 16:07
LOOP:
MOV    A,P3
ANL     a,#3

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

使用道具 举报

9#
ID:44124 发表于 2013-8-18 22:34 | 只看该作者
ahshmj 发表于 2013-8-18 17:07
LOOP:
MOV  P3, #0ffh
MOV  A,P3

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

使用道具 举报

10#
ID:7485 发表于 2013-8-19 00:23 | 只看该作者
sjztjk 发表于 2013-8-18 22:34
这个程序试验过,相当于是两个并联的开关,不过还是谢谢你的回答!

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

使用道具 举报

11#
ID:7485 发表于 2013-8-19 03:46 | 只看该作者

刮目相看。
回复

使用道具 举报

12#
ID:27916 发表于 2013-8-19 13:21 | 只看该作者
回复

使用道具 举报

13#
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
回复

使用道具 举报

14#
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 更合理。
  
回复

使用道具 举报

15#
ID:76287 发表于 2015-4-10 09:16 | 只看该作者
虽然不懂,但还是要顶,毕竟每一位老手都是从新手蜕变而来的,赞一个。。。。。。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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