装片,或者裸片可以选择,可以烧录裸片出货的 OTP 语音芯片,喇叭是 8 欧-16 欧范围内的任何喇叭。此芯片是特定的固定标准模块,可以通过单片机最少一个 IO 口控制多达 32 段声音任意调用和组合的语音标准芯片。通常最常用的控制方式是 3 个 IO,芯片基本脚位。其电路图如图2.11所示。
图2.11 语音播报电路
16
第三章 系统软件设计
3.1程序结构说明
任何一个系统的软件设计都离不开硬件电路的连接,所以本次硬件设计的高度模块化决定了软件设计的模块化。
其程序结构应包括:主控程序模块、键盘扫描及处理子程序、数据采集处理子程序、显示等子程序几个部分。 主控程序模块在整个结构中充当管理者,管理所有子程序的调用。它主要负责初始化各个I/O口,等待键盘事件的发生,并做出相应的处理。并在适当的时候调用数据采集程序,并将采集到的数据与键盘设定值比较。再通过计算后用于控制继电器的通断,从而控制电机等,来达到水温水位的调整。
3.2程序流程图
3.2.1主程序
程序按照模块化设计,所有功能都可通过调用子程序完成,主程序较简单,流程图如图3.1所示。
17
开始初始化发射超声波计数器开始计时延时1.8ms防止超声波发射震荡N计数器溢出加热装置、齿轮泵工作接收到反射信号NYY计数器停止计时,读取DS18B20温度根据时间计算距离N判断温度、水位是否再设定范围YLCD显示ERRORLCD显示时间温度,距离结束 图3.1 主程序流程
18
3.2.2 LCD1602显示程序流程图
显示程序流程图如图3.2。流程图分析:首先对1602显示屏进行初始化(初始化大约持续10ms左右),然后检查忙信号,若BF=0,则获得显示RAM的地址,写入相应的数据显示;若BF=1,则代表模块正在进行内部操作,不接受任何外部指令和数据,直到BF=0为止。
开始对1602初始化写入显示设置命令延时5ms检查忙信号NBF=0?延时5ms写入相应的数据检查忙信号数据是否显示完毕?Y结束图3.2 显示流程图
19
N
3.2.3 温度采集处理程序
读取温度DS18B20模块的流程图如图3.3所示,DS18B20温度传感器的内部存储器包括一个高速暂存RAM (便笺式的内部存储器)和一个非易失性的可电擦除的EEPROM,后者存放高温和低温触发器TH,TL和结构寄存器。便笺存储器包含了9个连续字节(0~8),前两个字节是测得的温度信息,字节0的内容是温度的低8位,字节1是温度的高8位,字节2是TH(温度上限报警),字节3是TL(温度下限报警),字节4是配置寄存器,用于确定输出分辨率9到12位。第5、6、7个字节是预留寄存器,用于内部计算。字节8是冗余检验字节,校验前面所有8个字节的CRC码,可用来保证通信正确。
开始
初始化NDS18B20是否存在YRom操作指令存储操作指令读取温度值返回
图3.3 温度采集处理流程图
3.2.4超声波测距程序
具体工作原理说明:超声波发射部分主要受单片机控制发射超声波,超声波接收部分接收已发射的超声波。单片机AT89C52中的程序可控制在超声波传感器发射超声波的同时
20