时间: 2024-12-20 14:02:48 | 作者: kaiyun体育官方网页
PORTC.3/T0作为I/O口通过三极管Q2来驱动蜂鸣器LS1,而PORTC.2/PWM0则作为PWM输出口通过三极管Q1来驱动蜂鸣器LS2。另外在PORTA.3和PORTA.2分别接了两个按键,一个是PWM按键,是用来控制PWM输出口驱动蜂鸣器使用的;另一个是PORT按键,是用来控制I/O口驱动蜂鸣器使用的。连接按键的I/O口开内部上拉电阻。
先分析一下蜂鸣器。所使用的蜂鸣器的工作频率是2000Hz,也就是说蜂鸣器的驱动信号波形周期是500s,由于是1/2duty的信号,所以一个周期内的高电平和低电平的时间宽度都为250s。软件设计上,将根据两种驱动方式来进行说明。
由于PWM只控制固定频率的蜂鸣器,所以能在程序的系统初始化时就对PWM的输出波形进行设置。
输出周期宽度只是10位数据,所以最终选择PWM的时钟为tosc是不能够实现蜂鸣器所要的驱动波形的。
这里将PWM的时钟设置为4tosc,这样一个PWM的时钟周期就是1s了,由此能够算出500s对应的计数值为500s/1s=(500)10=(1F4)16,即分别在周期寄存器的高2位、中4位和低4位三个寄存器中填入1、F和4,就完成了对输出周期的设置。再来设置占空比寄存器,在PWM输出中占空比的实现是
通过设定一个周期内电平的宽度来实现的。当输出模式选择为普通模式时,占空比寄存器是用来设置高电平的宽度。250s的宽度计数值为250s/1s=(250)10=(0FA)16。只需要在占空比寄存器的高2位、中4位和低4位中分别填入0、F和A就能够实现对占空比的设置了,设置占空比为1/2duty。
以后只需要打开PWM输出,PWM输出口自然就能输出频率为2000Hz、占空比为1/2duty的方波。
使用I/O口定时翻转电平驱动蜂鸣器方式的设置最简单,只需要对波形分析一下。由于驱动的信号刚好为周期500s,占空比为1/2duty的方波,只需要每250s进行一次电平翻转,就能够获得驱动蜂鸣器的方波信号。在程序上,能够正常的使用TIMER0来定时,将TIMER0的预分频设置为/1,选择TIMER0的始终为系统时钟(主振荡器时钟/4),在TIMER0的载入/计数寄存器的高4位和低4位分别写入00H和06H,就能将TIMER0的中断设置为250s。当需要I/O口驱动的蜂鸣器鸣叫时,只需要在进入TIMER0中断的时候对该I/O口的电平进行翻转一次,直到蜂鸣器不需要鸣叫的时候,将I/O口的电平设置为低电平即可。不鸣叫时将I/O口的输出电平设置为低电平是为避免漏电。
这是一个简单的电路采取555定时器的蜂鸣器。该电路可激发水银开关被触发时,在任何所需的时间间隔的灯光,喇叭,或其他信号装置。由于水银开关电流解决能力没那么高,SCR是用来处理由555定时器电路的电流。选择在最低的SCR额定电流为500mA,安全驾驶的555IC和继电器。继电器是不需要通过报警吸取的电流小于200mA时,在这种情况下,报警器可直接安装更换继电器线圈。
蜂鸣器的工作原理电路原理图使用SH69P43为控制芯片,使用4MHz晶振作为主振荡器。PORTC 3 T0作为I O口...
「重塑 iPhone 体验」,是苹果对今年 iOS 14 新系统的理解和定义。或许一些功能会让人感到熟悉和相...
电脑现在在我们生活中很有广泛的用途,不论是我们的工作还是学习不能离开电脑的辅助。我们工作时可...
关于到现在华为pushservice是啥意思这一个话题,相信很多小伙伴都是非常有兴趣了解的吧,小编也是到网上...
对于大户型家庭而言,Wi-Fi网络信号不好,全家人都会苦恼。针对这个难题,在近两年几乎所有主流路由器厂...
自从在香港国际通讯展上面正式曝光后,三星F系列的机型只有F308上市销售了,而老大F508还迟迟未见踪影。...
关于到现在快闪是个啥意思这一个话题,相信很多小伙伴都是非常有兴趣了解的吧,小编也是到网上收集了一...
1、完全退出魔兽世界2、根据你所需的游戏版本,点击3、将下载得到的 zip 文件解压缩 查看解压缩之...
很多人都听说过4K对齐,但为何需要对齐知道的就不多了。其实4K对齐是固态硬盘里的一个概念,指的是通过...