标题: 基础性问题 [打印本页]

作者: 123123    时间: 2014-4-10 18:41
标题: 基础性问题
1.任务:编写一段程序,通过钮子开关K1,K2,K3控制发光二极管的亮或灭。
基本要求:1.使用P1口作为信号输入口,P0口作为信号输出口。
                 2.用三个钮子开关控制三支发光二极管,若三开关同时接高电平或同时接低电平,发光二极管均熄灭;若仅有一开关接低电平,相应的一只发光二极管亮,剩下的两支则灭;若有两开关同时接低电平,则相应的两支发光二极管灭,剩下一支则亮。
                 3.编写程序的首地址设为4000H。

作者: liumei    时间: 2014-4-10 19:07
假设P3.0接K1信号,P3.1接K2信号,P3.2接K3信号
ORG  4000H
LJMP  START
START:MOV   A,P3
            ANL    A,#07H       //屏蔽P3口高5位,只有P3.0-P3.2
            JZ      L1              // A=0,说明P3.0-P3.2全为0
            CJNE  A,#07H,L2 //A=7,说明P3.0-P3.2全为1
L1:       MOV  P1,#00H
            SJMP  L3
L2:      CJNE  A,#03H,L4      //P3.0、P3.1=1
           MOV   P1,#04H
           SJMP  L3
L4:  CJNE  A,#06H,L5    //P3.1、P3.2=1
           MOV   P1,#01H
           SJMP  L3
L5:  CJNE  A,#05H,L6  //P3.0、P3.2=1
           MOV   P1,#02H
           SJMP  L3
L6:  MOV  P1,A
L3:      RET




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1