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

OKI单片机——ML610Q4XX Melody Driver

xjtudll8年前 (2017-08-30)技术心得4290

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” 的相关文章

Windows7自带计算器计算反三角函数

Windows7自带计算器计算反三角函数

开始->所有程序->附件->计算器 查看->选择科学型 点击【Inv】,即可进入反三角函数的计算。...

xcopy用法中的排除复制

利用xcopy进行排除复制 xcopy /e /s /h /exclude:uncopy.txt  mail  mail_x mail为源文件夹,mail_x为目标文件夹 uncopy.txt(所要排除的文件以及文件夹关键字)如:内容如下,表示排除文件夹或文件名中含有以下字眼的内...

Protel99SE原理图全局设置

Protel99SE原理图全局设置

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

如何释放由RingtoneManage实例化的MediaPlayer

参考资料:http://stackoverflow.com/questions/15450255/how-to-release-the-mediaplayer-instantiated-by-ringtonemanager 为了获取android铃声的名称,使用了以下代码 //根据铃声地址获取铃声的...

OKI DSR警告解决

OKI DSR警告解决

使用OKI编译ML610Q473程序的时候,偶然发现编译器出了一堆warning,表面上看起来似乎不影响使用,但是看起来也是不爽。警告内容如下: 经查,所有的warning都与中断相关,所有的警告都在中断函数里产生的。 为什么中断函数会产生DSR警告呢? 这是因为在每次进入中断时,都会做push...

Keil得到C编译之后的汇编代码

Keil得到C编译之后的汇编代码

在Options for Target --> Listing标签页下 在C Compiler Listing: \*.lst部分中勾选Assembly Code,这样生成的LST文件中就会包含汇编源码了。 找到相应的lst文件,如图所示: 用记事本打开,里面就有汇编代码了...

发表评论

访客

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