(一)系统功能设计
STM32单片机银行医院柜台叫号系统语音播报26
本系统由STM32F103C8T6单片机、LCD12864液晶、语音播报、按键及电源组成。
1、本系统默认最多3个排队客户,排队客户按下取号按键后,LCD1602液晶显示取号总数(为1、2或3),
2、柜员(非VIP)按下呼叫按键后
音播报:1号到1号窗口,液晶显示1号到1号窗口。
再次按下,语音播报:2号到2号窗口,液晶显示2号到2号窗口。
再次按下语音播报,3号到3号窗口,液晶显示3号到30窗口。
如果没有取号,则不进行播报及显示,取几个号才会播报几个。
3、柜员(VIP)按下VIP呼叫按键后,语音播报:VIP到VIP窗口。
4、液晶每次只显示一个呼号信息,语音播报1次呼号信息。
(二)系统硬件系统分析设计
1、STM32单片机核心电路设计
STM32系列处理器是意法半导体ST公司生产的一种基于ARM 7架构的32位、支持实时仿真和跟踪的微控制器。选择此款控制芯片是因为本系统设计并非追求成本的最低或更小的功耗,而是在实现本设计功能的前提下能够提供更丰富的接口和功能以便于设计实验系统各实验项目所需的外围扩展电路。此款控制芯片在完成单片机课程的学习后上手较为容易,在医疗器械中应用广泛,具有很好的学习、实验研究价值。
一、STM32的主要优点:
(1)使用ARM最新的、先进架构的Cortex-M3内核
(2) 优异的实时性能
(3) 杰出的功耗控制
(4) 出众及创新的外设
(5) 最大程度的集成整合
(6) 易于开发,可使产品快速将进入市场
二、STM32——最佳的平台选项
对于使用同一平台进行多个项目开发而言,STM32是最
佳的选择:
(1) 从仅需少量的存储空间和管脚应用到需要更多的存储空间和管脚的应用
(2) 从苛求性能的应用到电池供电的应用
(3) 从简单而成本敏感的应用到高端应用
(4) 全系列脚对脚、外设及软件的高度兼容性,给您带来全方位的灵活性。您可以在不必修改您原始框架及软件的条件下,将您的应用升级到需要更多存储空间或精简到使用更少存储空间/ 或改用不同的封装的规格。
STM32F103C8T6单片机核心板接口电路图如下图所示。
。
STM32单片机核心板接口原理图
2、NY3P065BP8语音芯片电路设计
此系列语音芯片是技针对市场推出的一款具有 PWM 输出的 OTP 语音标准芯片。共有 3 个 IO 口,外围最低仅需要一个 104 电容就可以稳定的工作,产品方案成本极低。此语音芯片内置电阻,没有外围元件,外围电路只需要一个 104 电容。整个方案的费用为您节省 30%-50%左右。
一、优势说明:
(1)工作电压 2.2-5.5V,适用范围很宽。
(2)输出方式:PWM
(3)您可以根据你的音乐时间和采样来选择芯片的时间有:10S 16S 32S 65S 87S 115S (脚位兼容)
(4)有 8PIN,DIP8 或者 SOP8 封装片,或者裸片可以选择。
(5)可以烧录裸片出货的 OTP 语音芯片,不需要光罩费。
(6)喇叭是8欧-16欧范围内的任何喇叭(建议0.25-1W内)
(7)此芯片是特定的固定标准模块,可以通过单片机最少 2 个 IO 口控制多达 128 段声音任意调用和组合的语音标准芯片。
(8)通常最常用的控制方式是 3 个 IO,现针对此模式做一个详细的原理说明。以方便调试。
控制原理说明:此控制方式是采用了模拟串行的控制方式。如需要播放第几个地址的内容就发送几个脉冲(大于 50us 即可,建议采用 100us 左右,下同)的原理,可以快速的控制多达 128 段地址的任意组合。
模拟串行工作时各 IO 的作用:
(1)BUSY:芯片工作时(播放声音),输出低电平,停止工作或者待机时,保持高电平;
(2)DATA:接受控制脉冲的脚位。收到几个脉冲,就播放第几个地址的内容;
(3)REST:任何时候,收到一个脉冲的时候,可以使芯片的播放指针归零(就是是 DATA 的脚位恢复到初始状态),同时即刻是芯片停止,进入待机状态;
工作示例:例如现在需要播放第十段声音。
单片机控制原理是:先发送一个复位脉冲到 RST(Rest)脚,接着发送 10 个脉冲到 DATA 脚。芯片即刻工作,播放第十段的声音;如果需要播放第五段的声音,则是:先发送一个复位脉冲到 REST 脚,接着发送 5 个脉冲到 DATA 脚。芯片即刻工作,播放第 5 段的声音;例如需要连续播放第十段和第五段声音:先发送一个复位脉冲到 REST 脚,接着发送 10 个脉冲到DATA 脚。芯片即刻工作,播放第十段的声音,同时单片机判断语音芯片的 BUSY 是否是高电平,如果不是则一直等待,如果是高电平,则发送一个复位脉冲到 RST 脚,接着发送 5 个脉冲到 DATA 脚。芯片即刻工作,播放第 5 段的声音.依此类推。
二、芯片参数
(1)工作电压:1.8V-6.2V
(2)精准的内阻震荡(+/- 1%)
(3)高清PWM音频输出
(4)DIP8/SOP8/DIP14封装
(5)MCU串口控制和按键控制
(6)灵活的输出模式
(7)I/O可提供较大输入出电流
(8)支持单键播放/停止
(9)支持长按住停止功能
(10)支持一键顺序/随机播放
(11)最大支持128段语音播放
(12) 可调的语音播放速度
(13)插入静音不占内存
(14)支持低电压复位(LVR=1.5V)
(15)提供快速烧录模式
三、应用范围
(1)家电行业:电磁炉、电饭煲、冰箱、洗衣机、空调、风扇等等
(2)安防报警:倒车雷达、叉车报警器、家庭防盗等
(3)医疗器械:弱视治疗仪、血压计、臭氧治疗仪等等
(4)广告媒体:语音广告牌、镜子广告机、迎宾器等等
(5)玩具系列:语音识别、小汽车,布娃娃等等
(6)智能交通:一卡通设备、红绿灯提醒等等
(7)交通工具:语音电动车,语音公交站等
(8)单片机控制:可达128段语音
四、芯片引脚说明
(1)1 脚 是去耦(可以接一个 104 对地)
(2)3 脚直接接喇叭
(3)4 脚电源正极 5 脚电源负极
(4)6 脚可以定义输入(来控制语音)也可以定于输出(见上描述)
(5)7 脚只能作为输入
(6)8 脚可作为输入也可以作为输出
芯片脚位图和时序图如下。
芯片脚位图
芯片时序图
五、芯片经典电路图(如下图所示)
芯片经典电路图
(1)如图连接后,任何时候按照按键 K2.都会有声音出现,同时 LED 亮。停止工作的时候,LED 熄灭连续按下 K2,则可以一直跟换不同的声音,停止按下后,则会播放最后指向的这段声音;任何时候按下 RST都可以是正在播放的声音即刻停止。
(2)注意:DATA 和 REST 不能同时按下(单片机控制的时候,也不能同时出现高电平),如果有一个按键先按下,并一直保持,则会使后来触发的其他按键无效,单片机控制的时候也需要注意。
在本电路设计中,通过单片机控制芯片DATA 和 REST引脚,来实现语音信息的播放,其电路图如下图所示,图中电容均为滤波作用。
芯片电路图
3、5V电平信号与3.3V电平信号逻辑匹配电路设计
由于NY3P065BP8语音芯片电路为5V电压驱动,其控制引脚需要5V电压信号,而STM32单片机是3.3V单片机,无法驱动5V的信号,故需要逻辑电平屁匹配电路。通过逻辑匹配电路就可以实现3.3V单片机信号控制5V电压信号。当单片机引脚输出信号为高电平时,三极管导通,此时5V信号输出引脚为稳定的5V电压信号。当单片机引脚输出信号为第电平时,三极管断开,此时5V信号输出引脚为低电平信号。进而实现了信号的逻辑匹配。其驱动电路的原理图如下图所示,电阻为限流电阻。
5V与3.3V电平信号逻辑匹配电路原理图
4、按键电路(含上拉电阻)设计
轻触按键是按键产品下属的一款分类产品,它其实相当于是一种电子开关,只要轻轻的按下按键就可以是开关接通,松开时是开关就断开连接,实现原理主要是通过轻触按键内部的金属弹片受力弹动来实现接通和断开的。
在本系统中,按键作为系统的输入,起到了人机交互的枢纽作用。按键的单片机控制引脚默认为高电平,当按键按下后,单片机的相关引脚则变成低电平。进而实现对系统的手动输入。其电路原理图如下图所示。电路中电阻作用为上拉电阻,保证按键信号的稳定输出(一般使用中考虑到电路简化,可以删除上拉电阻,不焊接)。注意,按键个数可变。
按键电路原理图
5、LCD12864液晶显示电路设计电路设计
液晶显示屏中的业态光电显示材料,利用液晶的电光效应把电信号转换成数字符、图像等可见信号。液晶正常情况下,其分子排列很有秩序,显得清澈透明,一旦加上直流电场后,分子的排列被打乱,一部分液晶变的不透明,颜色加深,因而能显示数字和图像。 液晶(Liquid Crystal,简称LC)是一种高分子材料,因其特殊的物理、化学、光学特性而被广泛用于轻薄型的显示技术上。液晶的组成物质是一种有机化合物,也就是以碳中心所构成的化合物,同时具有两种物质的液晶是以分子间的力量组合的,它们特殊光学性质,又对电磁场敏感,极具实用价值。LCD12864液晶具有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,近几年来被广泛用于单片机控制的只能仪器、仪表和低功耗电子产品中。带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个1616点汉字,和128个168点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
一、LCD12864特性
(1)低电源电压(VDD:+3.0–+5.5V)
(2)显示分辨率:128×64点
(3)内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)
(4)内置 128个16×8点阵字符
(5)2MHZ时钟频率
(6)显示方式:STN、半透、正显
(7)驱动方式:1/32DUTY,1/5BIAS
(8)视角方向:6点
(9)背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10
(10)通讯方式:串行、并口可选
(11)内置DC-DC转换电路,无需外加负压
(12)无需片选信号,简化软件设计
(13)工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃
本设计使用12864的并行模式,连接一个电位器用以调节液晶屏的亮度,其电路原理图如下图所示。
12864显示模块电路原理图
液晶实物图如下图所示。
12864显示模块实物图
(三)STM32单片机系统软件设计
1、编程语言选择
由于整个程序比较复杂,且计算量较大,用到了较多的浮点数计算,所以程序的编写采用了C语言。
对于大多数单片机,使用C语言这样的高级语言与使用汇编语言相比具有如下优点:
(1)不需要了解处理器的指令集,也不必了解存储器结构。
(2)寄存器分配和寻址方式由编译器进行管理,编程时不需要考虑存储器的(3)地址和数据类型等细节。
(4)指定操作的变量选择组合提高了程序的可读性。
(5)可使用与人的思维更相近的关键字和操作函数。
(6)与使用汇编语言相比,程序的开发和调试时间大大缩短。
(7)C语言的库文件提供了许多标准的例程。
(8)通过C语言可实现模块化编程技术,从而可将已编制好的程序加到 新程序中。
(9)C语言可移植性好且非常普及,C语言编译器几乎适用于所有的目标系统,己完成的项目可以很容易的转换到其它的处理器或环境中与汇编语言相比,C语言在功能上、结构性、可读性、可移植性、可维护性上有明显的优势,易学易用。
2、Keil程序开发环境
本设计中单片机开发环境是Keil,Keil是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。其中Keil有以下特点:
(1)Keil软件同时支持WINXP和WIN7等多种操作系统,提供了丰富的库函数和功能强大的开发工具。
(2)Keil可以完成从编辑、编译、到连接、调试的一套开发流程。
Keil软件界面如下图所示。
Keil uVision5开发界面图
3、FlyMcu程序烧录软件介绍
FlyMcu是一款好用的stm32烧录程序软件,对于专业的单片机开发者来说应该非常适用,软件可以广泛地应用于电路编程(ICP)和应用编程(IAP)领域,支持进行编程、校验、读器件信息。
可以通过下载器(即CH340等串口烧写模块)下载单片机程序。单片机开发板、下载器以及PC连接好后,首先需要在软件中选择串口号,然后选择项目程序“hex”文件所在的地址,最后就可以点击开“开始编程(P)”按钮即可下载程序。具体下载界面如下图所示。
烧录软件下载界面
4、CH340串口程序烧写模块介绍
本设计通过CH340串口烧写模块实现对单片机程序的烧写。CH340串口烧写模块使用USB接口,十分方便的解决了笔记本电脑用户对STC系列单片机的程序烧写问题,本下载器低价格、高性能,是开发 STC 系列单片机的首选优秀工具。
一、CH340串口烧写模块特点:
(1)支持 USB1.1 或 USB2.0 通信;
(2)全面支持 WIN98、 WINME、 WIN2000、 WINXP、 VISTA、 WIN7 等操作系统;
(3)采用 USB 口供电;
(4)在对芯片编程时可以使用目标系统本身电源,也可以使用编程器从 USB 口取电供给目标板,但应保证目标板电流不大于500mA,以免不能正常编程;
(5)编程完成不影响目标板的程序运行;
(6)支持 STC 全系列芯片烧录;
(7)编程器提供 3.3V 与 5V 的电压输出接口;
(8)速度比并口编程更快更稳定,更方便笔记本电脑用户使用;
(9)采用进口原装芯片, 能进行高速稳定编程;
模块如下图所示。
CH340串口烧写模块
二、CH340串口烧写模块引脚说明
(1)+5V 5V输出,因有USB电源线,故本开发板不接,不需要
(2)VCC 本开发板不接,不需要
(3)3V3 3.3V输出,本开发板不接,不需要
(4)TXD 接单片机的RXD引脚
(5)RXD 接单片机的RXD引脚
(6)GND 接GND。
三、CH340串口烧写模块与单片机的具体接线图如下表所示。
CH340模块 单片机开发板
TXD RXD(单片机引脚PA10)
RXD TXD(单片机引脚PA9)
GND GND
CH340串口烧写模块与单片机接线