几种驱动蜂鸣器的编程示例.doc
《几种驱动蜂鸣器的编程示例.doc》由会员分享,可在线阅读,更多相关《几种驱动蜂鸣器的编程示例.doc(2页珍藏版)》请在三一文库上搜索。
1、几种驱动蜂鸣器的编程示例以下介绍几种在S3F9454/9444下驱动蜂鸣器的编程示例,供参考A.第一种,普通IO高低电平驱动法;运行环境:S3F9454,Fosc=3.2MHz无分频 ;P2.0为蜂鸣输出端口;本例输出频率为4KHZ,即每250US一个周期,高低电平时间分别为125USBEEP:LDBTCON,#10100011B;看门狗禁用DIPUSHR5PUSHR6;首先配置P2.0为普通推挽输出端口ANDP2CONL,#0FEHORP2CONL,#02HLDR6,#0FAH;R6设置输出方波个数,本例为250个(计时62.5MS)ONE_BEEP:LDR5,#27H;R5为频率发生计时器
2、,本例为近似125US(4KHZ)XORP2,#01H_LOOP:DECR5JRNZ,_LOOPDECR6JRNZ,ONE_BEEPLDBTCON,#02H;恢复看门狗运行EIPOPR6POPR5RET;-B.利用P2.0配置为T0定时器匹配输出方式产生;注:该方式可用于带多位数码显示扫描的软件中,可有效避免因蜂鸣器;输出而造成的数码显示抖动闪烁;因定时器T0被分配作为T0匹配输出定时器,所以本例中利用看门狗定时器;的实时计时器BTCNT作为数码显示实时扫描计时器;R0为蜂鸣时间长短计时器,由主调用程序进行予设置;运行环境:S3F9454,Fosc=3.2MHZ无分频;P2.0为蜂鸣输出端口;
3、本例输出频率为4KHZ,即每250US一个周期,高低电平时间分别为125US;-BEEP:DIPUSHR1PUSHT0CONPUSHT0DATA;在蜂鸣输出前首先扫描一次数码显示CALLLED_SCANORP2CONL,#03H;setP2.0asT0matchoutput/every125usLDT0CON,#10001000B;setT0inputcLOCk=Fosc/8LDT0DATA,#32HLDBTCON,#10100011B;DISAbleWatch-dogrun,;butbtcntclkinputfxx/4096=1.280msNEXT_BEEP:LDR1,#0AHWAIT_CNT:ORBTCON,#02H_WAIT_CNT:CPBTCNT,#02HJRULT,_WAIT_CNTORBTCON,#02H;清看门狗定时器CALLLED_SCAN;每计时2.56MS,则转去实时扫描一次数码显示DECR1JRNZ,WAIT_CNTDECR0JRNZ,NEXT_BEEPLDBTCON,#02HANDP2CONL,#0FEH;setT0aspush-pulloutputANDP2,#0FEHPOPT0DATAPOPT0CONPOPR1EIRET
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 驱动 蜂鸣器 编程 示例
链接地址:https://www.31doc.com/p-3392604.html