标题: 单片机汇编语言声光报警系统 为啥我的灯闪烁不停,而且蜂鸣器一直叫 [打印本页]

作者: 机油味    时间: 2020-6-8 22:46
标题: 单片机汇编语言声光报警系统 为啥我的灯闪烁不停,而且蜂鸣器一直叫
为啥我的灯闪烁不停,而且蜂鸣器一直叫,我的开关对他们没有控制作用,我该怎么改,求大佬指教!谢谢了

下面是单片机程序:
ORG 0030H
START:SETB P1.7;通过复P1.7输出方波制
LOOP:LCALL DELAY
CPL P1.7
LJMP LOOP
DELAY:MOV R5,#20;延时zhidao20ms
D1:MOV R6,#20
D2:MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END

声光报警.png (72.97 KB, 下载次数: 90)

声光报警.png

声光报警电路图.png (45.15 KB, 下载次数: 94)

声光报警电路图.png

作者: mffhxa    时间: 2020-6-8 23:11
程序缺少启动指令。在前面加上ORG 0000H   LJMP START 就可以了。
作者: epson009    时间: 2020-6-9 07:14
好像你的程序里面没有判断P1.5口状态的程序段啊??键盘起不到控制作用吧
作者: 418854190    时间: 2020-6-9 15:33

MAIN:
          SETB P1.5;
          SETB P1.6;
          SETB P1.7;
START:   JNB P1.5,KS;
         LJMP START;
KS:   LCALL DELAY20MS;
KK:   JB P1.5,MAIN;;
      CPL P1.6;
          CPL P1.7;
          LCALL DELAY500MS;
          LJMP KK;

DELAY500MS:                        ;@11.0592MHz
        PUSH 30H
        PUSH 31H
        PUSH 32H
        MOV 30H,#4
        MOV 31H,#129
        MOV 32H,#112
NEXT:
        DJNZ 32H,NEXT
        DJNZ 31H,NEXT
        DJNZ 30H,NEXT
        POP 32H
        POP 31H
        POP 30H
        RET

DELAY20MS:                        ;@11.0592MHz
        PUSH 30H
        PUSH 31H
        MOV 30H,#36
        MOV 31H,#212
NEXA:
        DJNZ 31H,NEXA
        DJNZ 30H,NEXA
        POP 31H
        POP 30H
        RET




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