
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
你这是实物开发板上的蜂鸣器吧,是有源的蜂鸣器程序很好写。蜂鸣器所接的单片机引脚输出有效控制电平,让蜂鸣器发声。那声音长短就调用延时子程序来控制,延时到,声音停,过一会再响,延时长,声音长,延时短,声音短。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)