标题:新人求助,这个程序怎么改
取消只看楼主
A17722234216
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-6-17
 问题点数:0 回复次数:0 
新人求助,这个程序怎么改
分别产生50,30,20,10Hz四种频率信号通过蜂鸣器的响声和继电器的通断速度来判断。四个按键分别对应一种频率,可互相切换。  p3.0-p3.3接按键,p2.0接蜂鸣器,p2.5接继电器
   我写的程序不能切换,只有一个频率10Hz,不知道哪有错误,大家帮忙指出错误改正一下吧。
     ORG  0000H
       LJMP  START
     ORG 0030H
  START:MOV A,#0FFH
        MOV P3,A
        MOV A,P3
        JNB ACC.0,KEY1
        JNB ACC.1,KEY2
        JNB ACC.2,KEY3
        JNB ACC.3,KEY4
        LJMP  START
     ORG 0060H
  KEY1:LJMP KET1
  KEY2:LJMP KET2
  KEY3:LJMP KET3
  KEY4:LJMP KET4
     ORG  0100H
  KET1:MOV TMOD,#01H
       MOV TH0,#0D8H
       MOV TL0,#0F0H
       SETB EA
       SETB ET0
       SETB TR0
  SELF1:AJMP SELF1
        LJMP START
     ORG  000BH
    LJMP KT1
     ORG  0150H
    KT1:MOV TH0,#0D8H
        MOV TL0,#0F0H
        CPL P2.0
        //CPL P2.5
     REti
     ORG  0200H
   KET2:MOV TMOD,#01H
         MOV TH0,#0BEH
         MOV TL0,#0C4H
         SETB EA
         SETB ET0
         SETB TR0
  SELF2:AJMP SELF2
         LJMP START
     ORG  000BH
       LJMP KT2
      ORG  0250H
   KT2:MOV TH0,#0BEH
       MOV TL0,#0C4H
       CPL P2.0
       //CPL P2.5
     RETI
     ORG  0300H
  KET3:MOV TMOD,#01H
       MOV TH0,#9EH
       MOV TL0,#58H
       SETB EA
       SETB ET0
       SETB TR0
  SELF3:AJMP SELF3
       LJMP START
     ORG  000BH
       LJMP KT3
     ORG  0350H
  KT3:MOV TH0,#9EH
      MOV TL0,#58H
      CPL P2.0
      //CPL P2.5
     RETI
     ORG  0400H
  KET4:MOV TMOD,#01H
       MOV TH0,#3CH
       MOV TL0,#0B0H
       SETB EA
       SETB ET0
       SETB TR0
  SELF4:AJMP SELF4
        LJMP START
     ORG  000BH
       LJMP KT4
     ORG  0450H
  KT4:MOV TH0,#3CH
      MOV TL0,#0B0H
      CPL P2.0
      //CPL P2.5
     RETI
     END
搜索更多相关主题的帖子: 频率 MOV 切换 START 按键 
2020-06-17 16:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-502166-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013803 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved