HT47R20A-1蜂鸣器的功能及程序介绍

描述

介绍

HT47R20A-1 单片机提供了一对与PA0 及PA1 共用引脚的蜂鸣器输出,分别是BZ 及BZ.蜂鸣器的输出使能/除能及输出频率,均可由掩膜选项设定。

当蜂鸣器的功能被选定之后,用软件指令同时置位 PA0 和PA1 为"0"则启动蜂鸣器输出;如果置位PA0=1 则关闭此蜂鸣器;如果置位PA0=0 且PA1=1,则只有蜂鸣器BZ 输出,而蜂鸣器BZ被关闭。如下表所示:

蜂鸣器

蜂鸣器输出频率表:

蜂鸣器

注:System clock 为480kHz

对于 HT47C20L Clock Source 只能为32.768kHz

对于 HT47R20A-1 Clock Source 可以选择12KHz、T1 或32.768kHz

蜂鸣器(Buzzer)的使用

硬件部分: 将蜂鸣器接到 PA.0 和PA.1 引脚,如图:

蜂鸣器

掩膜设定:

蜂鸣器输出允许:BZ Output 设定为PA0/1: BZ/BZB Output Enable

蜂鸣器输出频率:BZ Freq 可以根据需要设定为Clock Source/22~Clock Source/29

软件部分:

下面的程序介绍了蜂鸣器(buzzer)的具体操作。

1.此程序先使BZ 和BZ非都有输出,声音较响;

2.然后关闭BZ非,使得只有BZ 输出,声音明显变低;

3.最后关闭BZ 和BZ非,蜂鸣器没有输出。

程序清单:

include ht47r20a-1.inc

data .section 'data'

count1 db ?

count2 db ?

code .section at 0 'code'

org 00h

jmp start

;--------------------------------------

org 20h

start:

clr intc0

clr intc1

loop: clr pa.1 ;PA1=BZ非

clr pa.0 ;PA0=BZ

call delay ;延时

set pa.1 ;关闭BZ非 ,PA1=0,PA0=BZ

call delay ;延时

set pa.0 ;关闭BZ,PA1=0,PA0=0

call delay

jmp loop

;--------------------------------------

delay proc ;延时子程序

mov a,0a0h

mov count1,a

mov count2,a

d: sdz count1

jmp d

sdz count2

jmp d

ret

delay endp

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分