当前位置:首页 > 技术心得 > 正文内容

OKI单片机——ML610Q4XX Melody Driver

xjtudll9年前 (2017-08-30)技术心得6740

clip_image002

配置流程:

(1) Select a buzzer mode by setting the BZMD bit of the melody 0 control register (MD0CON) to “1”.

(MD0CON寄存器的BZMD位置一)。

(2) Select a buzzer output mode using the melody 0 tempo code register (MD0TMP).

(设置旋律节奏编码寄存器MD0TMP)。

(3) Select a duty of the High level width of the buzzer output waveform using the melody 0 tone length code register(MD0LEN).

(设置Buzzer高电平宽度和波形长度寄存器MD0LEN)。

(4) Set the buzzer output frequency in the melody 0 scale code register (MD0TON).

(设置波形输出频率寄存器MD0TON)。

(5)Set bit 2 (ENMLT) of the frequency control register 1(FCON1) to “1” to enable the low-speed double clock.

(频率控制寄存器1FCON1的ENMLT位置1,使能低速时钟(32K×2))。

(6) When the M0RUN bit of the melody 0 control register (MD0CON) is set to “1”, the waveform equivalent to the buzzer sound that is set from the MD0 pin is output.

(旋律控制寄存器MD0CON的M0RUN位置1,波形通过MD0脚输出)。

/***********************************************/

* @brief 输出4K频率的方波

* @details

/***********************************************/

void Buzzer_Mode(void)

{

//--配置P50--//

P50DIR = 0;//P50 pin: Output (initial value)

P50C0 = 1;//P50 pin: In CMOS output mode

P50MD1 = 0;//Melody 0 output

P50MD0 = 1;

BZMD = 1;//Buzzer mode

MD0TMP = 0X03;//Continuous sound output;连续输出

MD0LEN = 8; // 8/16 Duty

MD0TON = 0X00; // 4.096 kHz (initial value)

ENMLT = 1; // 32.767K X 2

M0RUN = 1;//Starts MD0 output.

}

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/468/

标签: OKI单片机
分享给朋友:

“OKI单片机——ML610Q4XX Melody Driver” 的相关文章

Altium检查遗漏的封装

Altium检查遗漏的封装

画完原理图后,当然就要检查封装是否填写以及填写是否正确。虽然用Compile能够找到封装的问题,但是Compile之后的message不仅仅包含封装的错误,还包括其他,看起来不甚直观,操作也不是很方便。以前在用Protel99SE的时候,可以通过导出电子表格的方式来检查封装是否正确。高版本的Alti...

OKI单片机——ML610Q4XX系统时钟切换

OKI单片机——ML610Q4XX系统时钟切换

系统时钟可以选择: 32K 低速时钟 32K×2 低速时钟 2M 高速时钟1/1,1/2,1/4,1/8分频 500K 高速时钟1/1,1/2,1/4,1/8分频 可以选择时钟输出 P20输出LSCLK (32.768K); P21输出2M高速时钟1/1,1/2,1/4,1/8分频或5...

android动态改变ActionBar中MenuItem的图标

先调用方法:invalidateOptionsMenu(); 然后系统会自动回调方法:onPrepareOptionsMenu 在onPrepareOptionsMenu中改变MenuItem的图标即可。 例如: MenuItem item = menu.findItem(R.id.share);...

XCode 模拟器完整分辨率截屏

XCode 模拟器完整分辨率截屏

选中模拟器 window-->去掉Show Device Bezels的勾选 -->Zoom 然后cmd + s 保存...

Protel99SE原理图全局设置

Protel99SE原理图全局设置

一说到Protel99SE的全局设置,大家肯定会想到Global功能,这个功能在PCB里使用是很简单的,但是在原理图里的使用,相信很多人就不会操作了。 举个例子来说明吧,如果我想将全部电阻的封装由RC0603(实际上就是0603,自己换个名字而已)全部改成RC0805,那么该怎么操作呢? 先任意...

MultiSelectListPreference 由于xml存在问题而崩溃

参考资料: http://stackoverflow.com/questions/28687681/multiselectlistpreference-crashes-with-dependency 问题描述: 添加了一个MultiSelectListPreference,然后一运行程序,就崩溃了。...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。