- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
*******************************************************配置与接口蜂鸣器初始化函数externcharphyBuzzerInit(void);蜂鸣器鸣叫函数externcharphyBuzzerTweet(unsignedintuiFreq);蜂鸣器停止鸣叫函数externcharphyBuzzerStop(void);T1中断服务函数externvoidisrTimer1(void)__interrupt3;#define__ZY_BUZZER_PINP3_5#defineOSCl蜂鸣器驱动配置蜂鸣器驱动接口//蜂鸣器驱动引脚//晶振频率3个API函数+1个ISRcharphyBuzzerInit(void){TMOD=(TMOD0x0f)|0x10;TR1=0;TF1=0;ET1=1;PT1=1;return0;}无源蜂鸣器初始化函数函数功能://初始化T1为模式1//关闭T1//清除中断标志//使能T1溢出中断//T1中断设置为高优先级//返回0值,执行成功主要是初始化定时器1,包括TCON、TMOD和PT1位无0——成功,-1——失败输入参数:返回值:staticvolatileunsignedchar__GucTimer1HightLoad;staticvolatileunsignedchar__GucTimer1LowLoad;voidisrTimer1(void)__interrupt3{TR1=0;TH1=__GucTimer1HightLoad;TL1=__GucTimer1LowLoad;TR1=1;__ZY_BUZZER_PIN=!__ZY_BUZZER_PIN;}无源蜂鸣器中断服务程序此段代码大约需要5个机器周期,计算重载值时可将其考虑在内,获得更精确的定时周期关闭T1,避免硬件和程序同时修改TH1和TL1函数功能:重载定时器初始值,并翻转蜂鸣器引脚电平无无输入参数:返回值://关闭T1//重载TH1初始值//重载TL1初始值//启动T1//翻转蜂鸣器引脚电平//重载值高8位//重载值低8位voidphyBuzzerTweer(unsignedintuiFreq){unsignedintuiTimer1Load;if(uiFreq20){uiFreq=20;}if(uiFreq20000){uiFreq=20000;}uiTimer1Load=0x10000-(OSC/
文档评论(0)