51单片机汇编语言实验蜂鸣器八个音调
时间: 2023-07-02 15:22:28 浏览: 174
5-51单片机蜂鸣器实验.zip
好的,以下是51单片机汇编语言实验蜂鸣器八个音调的代码:
```
ORG 0H
MOV P1, #0FFH ;设置P1口为输出状态
MAIN: ;主程序开始
CALL BUZZER1 ;发出第一个音调
CALL DELAY ;延时
CALL BUZZER2 ;发出第二个音调
CALL DELAY ;延时
CALL BUZZER3 ;发出第三个音调
CALL DELAY ;延时
CALL BUZZER4 ;发出第四个音调
CALL DELAY ;延时
CALL BUZZER5 ;发出第五个音调
CALL DELAY ;延时
CALL BUZZER6 ;发出第六个音调
CALL DELAY ;延时
CALL BUZZER7 ;发出第七个音调
CALL DELAY ;延时
CALL BUZZER8 ;发出第八个音调
CALL DELAY ;延时
SJMP MAIN ;跳转回主程序开始处
BUZZER1: ;第一个音调
MOV P1, #0FEH
ACALL BUZZER_DELAY
MOV P1, #0FFH
RET
BUZZER2: ;第二个音调
MOV P1, #0FDH
ACALL BUZZER_DELAY
MOV P1, #0FFH
RET
BUZZER3: ;第三个音调
MOV P1, #0FBH
ACALL BUZZER_DELAY
MOV P1, #0FFH
RET
BUZZER4: ;第四个音调
MOV P1, #0F7H
ACALL BUZZER_DELAY
MOV P1, #0FFH
RET
BUZZER5: ;第五个音调
MOV P1, #0EFH
ACALL BUZZER_DELAY
MOV P1, #0FFH
RET
BUZZER6: ;第六个音调
MOV P1, #0DFH
ACALL BUZZER_DELAY
MOV P1, #0FFH
RET
BUZZER7: ;第七个音调
MOV P1, #0BFH
ACALL BUZZER_DELAY
MOV P1, #0FFH
RET
BUZZER8: ;第八个音调
MOV P1, #07FH
ACALL BUZZER_DELAY
MOV P1, #0FFH
RET
DELAY: ;延时程序
MOV R7, #20D
DELAY1: DJNZ R7, DELAY1
RET
BUZZER_DELAY: ;音调延时程序
MOV R6, #20
BUZZER_DELAY1: DJNZ R6, BUZZER_DELAY1
RET
END
```
以上代码实现了8个不同的音调,并且在主程序中循环播放这8个音调,每个音调播放一段时间后停止,然后延时一段时间再播放下一个音调。您可以按照自己的需要进行调整。
阅读全文