单片机用汇编语言怎么写一个蜂鸣器程序?

单片机用汇编语言怎么写一个蜂鸣器程序?,第1张

如果是蜂鸣器的话,那么加一个电平信号就可以发声了。\x0d\x0aFMQ EQU P1.0\x0d\x0aORG 0000H\x0d\x0aLJMP MAIN\x0d\x0aORG 0030H\x0d\x0aMAIN:\x0d\x0aCPL FMQ\x0d\x0aLCALL DELAY\x0d\x0aSJMP MAIN\x0d\x0aDELAY:\x0d\x0aMOV R2,#200\x0d\x0aDLY:\x0d\x0aMOV R3,#250\x0d\x0aDJNZ R3,$\x0d\x0aDJNZ R2,DLY\x0d\x0aRET\x0d\x0aEND

FM EQU P*.*;定义输出方波的哪个管脚

ORG 0000H

SJMP MAIN

ORG 000BH

SJMP T0_INT

MAIN:

MOV R0,#200;200次是1秒。

MOV TMOD, #01H T0定时方式1

MOV TH0, #(65536-50000) / 256 定时50ms@12MHz

MOV TL0, #(65536-50000) MOD 256

SETB TR0 启动T0

MOV IE, #82H 开中断

MOV A,#00H

NEXT:

CJNE A,R0,NEXT;1秒结束后,关闭中断,程序原地踏步。

CLR TR0

CLR EA;关定时器,关全局中断

HERE:

SJMP HERE

T0_INT:;

MOV TL0, #(65536-50000) MOD 256

MOV TH0, #(65536-50000) / 256 定时50ms@12MHz

CPL FM;50ms的方波,蜂鸣器能响了,虽然声音不好听。

RETI

END

你这是实物开发板上的蜂鸣器吧,是有源的蜂鸣器程序很好写。蜂鸣器所接的单片机引脚输出有效控制电平,让蜂鸣器发声。那声音长短就调用延时子程序来控制,延时到,声音停,过一会再响,延时长,声音长,延时短,声音短。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/12059426.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存