无源蜂鸣器高低响的程序问题

2019-07-15 20:01发布

这个程序是使无源蜂鸣器高低响的程序,没有用到定时计数器
   ORG 0000H
   MOV R0,#10
TURN_ON:
        MOV SFRPAGE,#0FH      
        JB P5.5,$
MOV SFRPAGE,#00H      ;对P5.5口页面设置使用
TOP:   CLR P1.0
        LCALL DELAY           
        SETB P1.0
        LCALL DELAY           ;使蜂鸣器高音震动
DJNZ R0,TOP
LOWS:   
        CLR P1.0            
        LCALL DELAY_L
        SETB P1.0
        LCALL DELAY_L       ;使蜂鸣器低音震动
        DJNZ R0,LOWS
        LJMP TURN_ON
DELAY:  MOV R6,#20
D1:     MOV R7,#100
DJNZ R7,$
DJNZ R6,D1
RET            ;高音震动程序
DELAY_L: MOV R2,#20
D4:      MOV R1,#50
  DJNZ R1,$
  DJNZ R2,D4
  RET            ;低音震动程序
END

那个DJNZ R0,TOP和DJNZ R0,LOWS 这两条语句根本就没有起到延时的作用
R0中的数也不递减,,。是逻辑错误么。。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
z00
1楼-- · 2019-07-16 00:45
程序没有运行到DJNZ R0,TOP 在LCALL DELAY  已经跳转了
youzizhile
2楼-- · 2019-07-16 05:42
你的R0值调大些试试,是不是延时太短?
还有那个
DELAY_L: MOV R2,#20
D4:      MOV R1,#50
   DJNZ R1,$
   DJNZ R2,D4
   RET            ;低音震动程序
END
这个延时程序参数可以调整下
jsjj
3楼-- · 2019-07-16 08:45
有一点看不懂啊
依然落叶飘零
4楼-- · 2019-07-16 10:02
 精彩回答 2  元偷偷看……
913688247
5楼-- · 2019-07-16 11:06
程序没有运行到DJNZ R0,TOP 在LCALL DELAY  已经跳转了   
paoding_
6楼-- · 2019-07-16 15:05
怎米用。。。。。

一周热门 更多>