基于51单片机的室内五人制足球比赛计分计时系统.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连海事大学
毕业论文
二○一四年六月
基于51单片机的室内五人制足球比赛计分
计时系统
专业班级:通信工程4班
姓名:潘树明
指导教师:刘剑桥
信息科学技术学院
摘要
本设计基于89C51单片机芯片,利用74HC595芯片及数码管,完成了室内5人制足球比赛计分计时系统。
STC89C51RC是采用8051核的可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes的可反复擦写1000次的Flash只读程序存储器,芯片内集成了通用8位中央处理器和ISP Flash存储单元。
本设计中搭建了很多89C51单片机相关电路,包括了利用单片机复位电路,时钟电路等。
74HC595芯片能将串行输入的8位数字,转变为并行输出的8位数。
利用STC89C51单片机芯片以及74HC595芯片,搭建数码管显示电路以及开关电路,利用三极管搭建了蜂鸣器驱动电路。
在测试系统的软件部分,利用了Proteus搭建了系统的仿真电路。
论文分别对倒计时程序、按键检测程序、显示程序和系统初始化程序进行了讨论和设计。
系统软件采用C51单片机专用语言编写,利用Keil51编译器编译,产生的目的代码的运行速度高,所需存储空间小。
利用本系统可以作为一些室内五人制足球比赛的计分计时工作,可以实现比赛时间的倒计时、双方的比分显示以及比分加减、双方犯规数的记录、犯规声音提示以及比赛结束提示等功能,在室内足球运动蓬勃发展的今天,此设计可以作用于一些简单的比赛,更重要的是提供了一个利用单片机去实现足球比赛计分计时的思路。
关键词:室内足球比赛;单片机89C51;74HC595;数码管
ABSTRACT
The design is based on 89C51 chip, use 74HC595 chip and segment displays, completed the futsul game scoring timing system.
STC89C51RC is the use of the 8051 nuclear programmable chips, its’maximum operating frequency is 80MHz clock.It can be repeated with 8K Bytes of Flash erasable read-1000 program memory and it integrates a universal eight central processor and ISP Flash memory cell. This design has a lot 89C51 microcontroller associated circuitry, including the use of single-chip reset circuit, clock circuit and so on.With 74HC595, 8 digits of the serial input can become 8-bit parallel digital ing STC89C51 microcontroller chip and chip 74HC595 builds a LED display circuit and switching circuit. Using the Transistor builds a circuit to drive the buzzer.
In the part of the system software, Using the Proteus builds the system Simulation circuit. The article discuss and design the countdown program, detection of key program, display program and initialize the system program. The design writes system software with C51 MCU specific language and uses Keil51compiler to compile. The purpose of the code is running high speed, but small storage space.
The system can be used for the futsal game.It can countdown the game time, display both sides of the score and change, display both sides of the foul and change, foul voice prompts and game end voice prompts. Now, the futsal game develops fast and become more and more important, the design can use in some simple game, but more importantly, it provides the idea that using SCM achieve the system for the futsal game.
Keywords:Futsal Game;SCM 89C51;74HC595;Segment Displays
目录
第1章绪论 (1)
1.1 基于微处理芯片的智能仪器的发展现状 (1)
1.2 室内五人制足球比赛及发展现状 (2)
1.3 室内五人制足球比赛计分计时系统概述 (2)
第2章设计原理 (3)
2.1 STC89C51单片机 (3)
2.1.1 主要功能、性能参数 (3)
2.1.2 单片机系统的相关电路 (6)
2.2 显示模块 (8)
2.2.1 四位数码管概述 (9)
2.2.2 原理图及引脚图 (9)
2.2.3 数码管的译码方式 (11)
2.2.4 数码管与单片机接口设计 (11)
2.3 74HC595 (12)
2.4 蜂鸣器原理 (13)
2.4.1 分类 (13)
2.4.2 驱动方式 (14)
2.4.3 驱动电路 (14)
第3章系统软件部分设计 (16)
3.1 Proteus 软件仿真 (16)
3.2 室内五人制足球比赛计分计时系统的主程序 (17)
3.2.1 初始化程序 (18)
3.2.2 倒计时程序 (19)
3.2.3 按键检测程序 (20)
3.2.4 显示子程序 (25)
第4章系统运行及测试结果分析 (28)
4.1 keil程序调试及Proteus仿真 (28)
4.2 实物完成及实物调试 (29)
4.2.1 电路板实物测试结果 (29)
4.2.2数码管闪烁的解决方案 (29)
4.2.2数码管不亮的解决方案 (30)
4.2.3蜂鸣器不响的解决方案 (30)
4.3 实物展示及按键测试 (31)
第5章全文总结及展望 (34)
5.1 工作总结 (34)
5.2 展望 (34)
参考文献 (35)
致谢 (36)
基于51单片机的室内五人制足球比赛计分计时系统
第1章绪论
1.1 基于微处理芯片的智能仪器的发展现状
随着微电子技术的不断发展,微处理器芯片的集成度越来越高,已经可以在一块芯片上同时集成CPU、存储器、定时器、计数器、并行和串行接口和A/D转换器等。
它是微电子技术与计算机技术的结晶,现已成为集成电路大家族中的重要成员[1]。
尽管单片机是从1982年才开始在我国应用的,但它一经上市便显示出强大的生命力,以其独特的优点迅速占领市场并获得广泛应用。
这种超大规模集成电路芯片称为“单片微处理器”,也叫单片机。
单片机的出现,对于科学技术的各个领域都产生了巨大影响,同样引起仪器仪表结构的根本性变革。
以单片机为主体取代传统仪器仪表的常规电子线路,可以很容易地将计算机技术与测量控制技术有机的结合在一起,组成新一代的“智能仪器”[2]。
单片机最大特点是单片化[3],体积大大减小、功耗和成本低、可靠性高、易扩展、控制功能强、易于开发。
这决定了它在智能仪器的设计中很长时期还会获得形式多样、特点不同的广泛应用。
它不仅用于智能仪器、电气设备、数据采集、自动控制及国防工业等技术领域,而且进入亿万家庭。
各种普通家用电器中单片机的数量与日俱增。
单片机的典型代表是Intel公司在20世纪80年代初研制出来的MCS-51系列单片机[3]。
发型之后在全国迅速得到广泛应用,但Intel公司已集中精力在CPU的生产上,并逐渐放弃了单片机的生产。
ATMEL公司是美国20世纪80年代中期成立并发展起来的半导体公司。
技术优势在于Flash存储器,公司将Flash与Intel公司的80C51核相结合,形成了Flash单片机AT89系列。
由于其具有80C51的原有功能,内部还含有大容量的Flash存储器,又增加了新功能,因此在电子产品开发及智能化仪器仪表中有着广泛的应用,成为目前取代MCS-51系列单片机的主流芯片之一。
本论文所研究的系统中便使用的AT89系列的芯片[3]。
1.2 室内五人制足球比赛及发展现状
五人制足球是足球的一个变种。
在五人制足球比赛中,每支球队只有5名队员上场比赛而不是11名。
五人制足球比赛的方法具有很高的锻炼价值,同时其趣味性、灵活性的特点也能丰富业余文化生活、陶冶情操,五人制足球主要反映运动员所掌握,运用技术复杂,多姿多彩,战术多样,变幻莫测,攻守变换快,比赛起伏跌宕,精彩纷呈,胜负难以预料,经常出现戏剧性变化,这正是五人足球运动的魅力所在。
五人制足球与普通足球的其他不同包括五人制通常在室内比赛,比赛场地较小,使用较小的球门以及较小尺寸的足球,以及缩短了的比赛时间。
总结起来,室内五人制足球比赛主要有三个不同之处:1.五人制足球比赛的时间为20分钟。
2.五人制足球比赛中,足球出界需要停止时间表。
3.五人制足球比赛需要累计两队各自的犯规总数,当半场满5次犯规时,有点球惩罚。
五人制足球出现在上世纪五六十年代的南美洲,自诞生之日起,五人制足球一直广受欢迎。
1989年国际足联开始正式把五人制足球纳入管理范围之内,成为其主管团体。
为了使五人制足球)更利于发挥运动员的能力,并且提高其比赛的观赏性,国际足联制定了一整套针对五人制足球运动的新规则。
在国际足联与其成员的共同的努力下,五人制足球的相关知识和资源在越来越多的国家得到了传播。
五人制足球与11人制足球一样有自己的世界杯和洲际杯,而且五人制足球将于2016年进入巴西奥运会,成为奥运会正式比赛项目。
室内五人制足球比赛的发展越来越趋于普遍化、大众化,很需要一个准确的有计分计时功能的设备,去帮助裁判更方便、更准确、更公平的判决比赛,从而有了本次的设计。
1.3 室内五人制足球比赛计分计时系统概述
基于室内五人制足球比赛的比赛规则,本设计使用了51单片机芯片STC89C51、显示数码管、74HC595芯片、蜂鸣器、开关以及若干电阻电容等完成了室内五人制足球比赛计分计时系统。
该计分计时系统有如下的功能:1.该系统有20分钟倒计时功能,随时可以暂停倒计时。
2.该系统有记录双方比分以及各队总犯规次数的功能,在计数跟暂停的时候都可以记录比分跟犯规。
3.该系统在倒计时结束有声音提示,可以随时发出提示声音。
4.该系统有复位功能,可以循环使用。
第2章设计原理
2.1 STC89C51单片机
STC系列单片机[4]是美国STC公司最新推出的一种新型51内核的单片机。
片内含有Flash程序存储器、SRAM、UART、SPI、A\D、PWM等模块。
该器件的基本功能与普通的51单片机完全兼容。
2.1.1 主要功能、性能参数
1.内置标准51内核,机器周期:增强型为6时钟,普通型为12时钟;
2.工作频率范围:0~40MHZ,相当于普通8051的0~80MHZ;
3.STC89C5xRC对应Flash空间:4KB\8KB\15KB;
4.内部存储器(RAM):512B;
5.定时器\计数器:3个16位;
6.通用异步通信口(UART)1个;
7.中断源:8个;
8.有ISP(在系统可编程)\IAP(在应用可编程),无需专用编程器\仿真器;
9.通用I\O口:32\36个;
10.工作电压:3.8~5.5V;
11.外形封装:40脚PDIP、44脚PLCC和PQFP等
89C51单片机的引脚[5]功能说明
(1)VCC:电源电压
(2)GND:地
(3)P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复位,在访问期间激活内部上拉电阻。
(4)P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTE逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILL)。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P 1.0/T2)和输入(P 1.1/T2EX ),参见表4-1。
Flash编程和程序校验期间,P1接收低8位地址。
表3-1 P1.0和P1.1的第二功能
(5)P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX @DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX @RI指令)时,P2口输出P2锁存器的内容。
(6)P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(ILL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表4-2所示。
(7)RST:复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
表3-2 P3口的第二功能
(8)EA/VPP:外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH )。
EA端必须保持低电平(接地)。
需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VCC 。
(9)XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。
(10)XTAL2:振荡器反相放大器的输出端。
(11)数据存储器:
89C51有256个字节的内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128。
字节的RAM和特殊功能寄存器的地址是相同的,但在物理上它们是分开的。
当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节。
RAM还是访问特殊功能寄存器。
如果指令是直接寻址方式则为访问特殊功能寄存器。
(12)中断:
89C51共有6个中断向量:两个外中断(INT0和INT1),3个定时器中断(定时器0,1,2)和串行口中断。
(13)时钟振荡器:
89C51[6]中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图3-1(a)图所示。
外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。
用户也可以采用外部时钟。
采用外部时钟的电路如图3-1(b)图所示。
这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
(a)内部振荡电路(b)外部振荡电路由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。
2.1.2 单片机系统的相关电路
2.1.2.1 复位电路
单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。
MCS-51单片机有一个复位引脚RST[7],采用施密特触发输入。
当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。
复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。
单片机的复位方式有上电自动复位和手动复位两种,图
6是51系列单片机统常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好的工作。
复位电路如图2-9所示。
图2-9 单片机复位电路
2.1.2.2 时钟发生电路
单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。
CPU 执行一条指令的各个微操作所对应时间顺序称为单片机的时序。
MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。
本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和2个电容即可,如图2-10所示。
图2-10 单片机时钟发生电路
电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路[8]的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是30±10pF,在这个系统中选择了33pF;石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而时钟信号的震荡频率为12MHz。
2.2 显示模块
显示模块采用了四位一体的数码管[9]、二位一体的数码管以及一位数码管,分别如图2-11、2-12以及2-13所示。
图2-11四位一体数码管显示模块
图2-12二位一体数码管显示模块
图2-13一位数码管显示模块
LED[10]是发光二极管显示器的缩写。
LED由于结构简单、价格便宜、与单片机接口方便等优点而得到广泛应用。
LED显示器[13]即数码管是由若干个发光二极管组成显示字段的显示器件。
在单片机中使用最多的是七段数码显示器。
七段数码管由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可用来显示各种数字。
2.2.1 四位数码管概述
四位数码管是一种半导体发光器件,其基本单元是发光二极管。
能显示4个数码管叫四位数码管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
其在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴极数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
本次所采用的的是共阳极(COM)的数码管。
2.2.2 原理图及引脚图
对于一位数码管对应的端名称及排列如下图所示
图2-14一位数码管引脚端名称
内部的工作原理即如下图所示。
每个段其实就是一个发光二极管,导通即亮。
下面的示例图都以共阳极数码管为例,共阴极数码管原理相同,只是二极管方向相反。
图2-15 共阳极数码管内部电路
二位数码管为两个一位的数码管段选并联而阴极(共阴数码管)或者阳极(共阳数码管),分别作为位选端。
本次设计选择的二位一体共阳极数码管是
18个管脚的,其内部电路构造如图2-16所示
图2-16二位一体数码管内部电路图
其显示的引脚位置图为图2-17
图2-17二位一体数码管(18脚)引脚图
而四位数码管即相当于四个一位的数码管段选并联而阴极(共阴数码管)或阳极(共阳数码管),则分别作为位选端。
四位一体共阳极数码管的内部电路构造如图2-18所示(共阴极数码管二极管反向)。
图2-18四位一体共阳极数码管内部电路图
从数码管正面俯视看,对应的引脚如图2-19所示,
图2-19四位一体数码管引脚图
1,2,3,4分别表示从左到右四个数码管的位选端,a,b,c,d,e,f,g,dp即分别对应数码管的段选,共阴极数码管高电平有效,共阳极的数码管低电平有效。
2.2.3 数码管的译码方式
表2-3共阴(阳)极字段码表
译码方式是指由显示字符转换得到对应的字段码的方式,对于LED数码管显示器,通常的译码方式有硬件译码和软件译码方式两种[8]。
硬件译码是指利用专门的硬件电路来实现显示字符码的转换。
软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序。
本设计系统中为了简化硬件线路设计,数码管译码采用软件编程来实现,采用的是共阳极数码管。
2.2.4 数码管与单片机接口设计
由于单片机的并行口不能直接驱动数码管,所以,在一般情况下,必须采用专用的驱动电路芯片[13],使之产生足够大的电流,数码管才能正常工作。
如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,数码管的驱动电路设计是一个非常重要的问题。
数码管的驱动通常分为两种:静态驱动和动态显示。
1、静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,一个89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
2、数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
所以为了简化电路,本系统在数码管驱动电路的设计上,利用单片机P0口上外接的上拉电阻来实现,即将数码管的A-G段显示引脚和DP小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口的驱动能力,使得数码管能按照正常的亮度显示出数字。
2.3 74HC595
74HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC 标准。
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SHcp(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在STcp(存储器时钟输入)的上升沿输入到存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
图2-20为引脚图。
图2-20 74HC595引脚图
74HC595的引脚说明如表2-4:
表2-4 74HC595引脚说明表
2.4 蜂鸣器原理
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
2.4.1 分类
蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种。
有源蜂鸣器与无源蜂鸣器的区别:注意:这里的“源”不是指电源,而是指震荡源。
也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫;而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。
必须用2K-5K的方波去驱动它。
有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。
无源蜂鸣器的优点是:1. 便宜 2. 声音频率可控,可以做出“多来米发索拉西”的效果。
3. 在一些特例中,可以和
LED复用一个控制口。
有源蜂鸣器的优点是:程序控制方便。
本次设计选用的蜂鸣器是有源蜂鸣器。
2.4.2 驱动方式
单片机驱动他激蜂鸣器的方式有两种:一种是PWM 输出口直接驱动,另一种是利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动。
PWM 输出口直接驱动是利用PWM 输出口本身可以输出一定的方波来直接驱动蜂鸣器。
在单片机的软件设置中有几个系统寄存器是用来设置PWM 口的输出的,可以设置占空比、周期等等,通过设置这些寄存器产生符合蜂鸣器要求的频率的波形之后,只要打开PWM 输出,PWM 输出口就能输出该频率的方波,这个时候利用这个波形就可以驱动蜂鸣器了。
比如频率为2000Hz 的蜂鸣器的驱动,可以知道周期为500μs,这样只需要把PWM 的周期设置为500μs,占空比电平设置为250μs,就能产生一个频率为2000Hz 的方波,通过这个方波再利用三极管就可以去驱动这个蜂鸣器了。
而利用I/O 定时翻转电平来产生驱动波形的方式会比较麻烦一点,必须利用定时器来做定时,通过定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波形就可以用来驱动蜂鸣器了。
比如为2500Hz 的蜂鸣器的驱动,可以知道周期为400μs,这样只需要驱动蜂鸣器的I/O 口每200μs 翻转一次电平就可以产生一个频率为2500Hz,占空比为1/2duty 的方波,再通过三极管放大就可以驱动这个蜂鸣器了。
2.4.3 驱动电路
蜂鸣器驱动电路一般都包含以下几个部分:一个三极管、一个蜂鸣器、一个续流二极管和一个电源滤波电容。
1.蜂鸣器
发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流/方波)等。
这些都可以根据需要来选择。
2.续流二极管
蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。
否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管,并干扰整个电路系统的其它部分。
3.滤波电容。