找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机汇编语言声光报警系统 为啥我的灯闪烁不停,而且蜂鸣器一直叫

[复制链接]
跳转到指定楼层
楼主
为啥我的灯闪烁不停,而且蜂鸣器一直叫,我的开关对他们没有控制作用,我该怎么改,求大佬指教!谢谢了

下面是单片机程序:
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, 下载次数: 80)

声光报警.png

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

声光报警电路图.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:195446 发表于 2020-6-8 23:11 | 只看该作者
程序缺少启动指令。在前面加上ORG 0000H   LJMP START 就可以了。
回复

使用道具 举报

板凳
ID:24758 发表于 2020-6-9 07:14 | 只看该作者
好像你的程序里面没有判断P1.5口状态的程序段啊??键盘起不到控制作用吧
回复

使用道具 举报

地板
ID:261025 发表于 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
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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