资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
摘要本文的主要内容是将红外遥控装置与 51 系列单片机相结合,设计成的一种带有语音播报功能的简易电子计算器。系统主要由 STC12C5A60S2 单片机、OLED12864 显示屏、语音播报芯片以及红外无线遥控器构成。数据的输入方式使用红外遥控器,实现了近距离的无线数据输入。系统在进行运算时也同时控制 OLED12864 显示屏和语音播报芯片 WT-588D 进行实时的运算式与运算结果的显示与播报。关键字:51,OLED12864,WT-588D ,红外无线遥控器AbstractThis design is the infrared wireless controller unit combined with 51 series single-chip, designed to be a simple electronic calculator with a voice broadcast capability. System is mainly composed of STC12C5A60S2, OLED12864 screen, WT-588D single-chip voice broadcast IC and IR wireless remote control form. Data is entered using aninfrared remote control, for short distance wireless data input. While your system is being evaluated at the same time WT-588D control OLED12864 display and voice broadcast chip for real-time calculation and calculation results are displayed and broadcast. Design by simple arithmetic based on MCU. Keywords: STC12C5A60S2 single-chip,OLED12864,WT588D,The infrared wireless controller 目录第一章 整体设计方案11.1 系统概述1 1.2 系统流程图1第二章 硬件设计22.1 单片机系统22.2 所用外设电路42.2.1 WT588D 语音芯片42.2.2红外通信52.2.3OLED 显示屏52.2.电源模块6第三章 软件设计 73.1 开发环境与调试工具73.2 各模块软件设计83.2.1 语音电路的软件设计83.2.2 红外接收电路的软件设计103.2.3 OLED 显示模块的软件设计123.2.4 计算器软件的设计143.3 程序总体结构16参考文献18第一章 整体设计方案1.1 系统概述本设计是基于 51 系列单片机的简易计算器的设计,设计内容包括软件设计及硬件设计。硬件电路设计包括单片机最小系统、红外接收电路、语音模块电路和显示电路。软件设计部分涉及计算器算法的实现、单片机外部中断、定时器中断、人机交互模块通信等。系统单片机采用 STC12C5A60S2,在系统正常工作时单片机通过串行通信方式控制 OLED12864 显示屏和语音模块 WT-588D进行数据的实时显示与播报。输入的红外信号通过红外一体接收头 HX1838 进行红外数据的接收与处理,处理后的信号送入单片机的外部中断口后,单片机进行信号识别与数据处理,并通过算法实现简易计算器的功能。1.2 系统流程图系统流程图见图 1.1开始红外接收数据语音播报根据接收数据进行四位十进制运算图 1.1 流程图第二章 硬件设计2.1 单片机系统图 2.1.1 为 51 单片机系统的原理图:(1)单片机 I/O 口:所用的开发版把所有 I/O 口引出方便连接其他外设。STC89C52 单片机的最小系统由电源、地、时钟电路、复位电路组成,如图 2-2 所示。图中引脚 RST 所接电路是复位电路,复位电路可以在程序运行出错或操作错误使系统处于死锁状态时手动复位单片机。在复位后,单片机内存以及各寄存器的值变为初始值。按键手动电平复位是通过 RESET 端经电阻与电源 VCC 接通来实现。单片机使用内部时钟时,时钟引脚 XTAL1 和XTAL2,外接石英晶体和微调电容,构成了一个稳定的自激振荡电路,电路中的电容 C1 和 C2 的典型值通常选择为 1533pF,该电容的大小会影响振荡器频率的高低。晶体震荡频率的范围通常是在 1.240MHz。晶体的频率越高,单片机的处理速度也就越快。在硬件电路的设计时,晶体和电容尽可能与单片机芯片靠近,以减少寄生电容,可以保证振荡器更稳定、可靠的工作。结束图 2.1.1 单片机引脚(2)晶振电路:图 2.1.2 为晶振电路。本系统对工作频率要求不高,故选用频率为11.0592MHZ 的晶振。图 2.1.2 晶振电路(3)复位电路:图 2.1.3 为复位电路图 2.1.3 复位电路按键瞬间电容放电,所以 RST 脚为高电平。随着时间的飞逝(电容充电),稳定后 VCC 的电压实际上是加在电容上的。电容下极板也就是 RST 脚最终为0V。这样 RST 持续一段时间高电平后最终稳定在低电平,高电平持续时间由RC 时间常数决定。这就是上电高电平复位2.22.2 所用外设电路所用外设电路 2.2.12.2.1 语音模块语音模块图 2.2.1语音模块所使用的管脚,除了电源和地,还包括一个复位引脚,以及一个 3 线信号传输的 IO 口,分别为芯片片选端(CS),时钟线(CLK),和数据线 (DATA),它通过特殊的时序实现寻址读取信息,实现语音播放。WT588D 软件操作方式简洁易懂,高度集成了语音拟合技术,大大减少了语音模块的开发时间。并且完全支持在线下载,即 WT588D 在通电的情况下,一样可以通过下载器给关联的 SPI-Flash 下载信息,下载完成后只要给WT588D 单片机语音芯片电路复位一下,就能更新到新下载的控制模式。这一优点给操作人员带来极大的方便。2.2.22.2.2 红外发送接收模块红外发送接收模块图 2.2.2这是一个比较麻烦的模块,因为他没有实际的信号传输导线,只依靠红外 线传输信号。它利用调制解调的原理,实现信息的获取。 但红外传输模块的最大好处就是大大节约了 51 单片机本就不充裕的 IO 口 资源。按照传统理念,一个计算器 10 个数字,运算符 5 个,小数点 1 个,就 要占用 8 个 IO 口。现在只需要 1 个。但软件处理相对复杂,会在之后进行解 释。HX1838 的三个管脚分别是 GND 端、5V 电源端、解调信号输出端,本设计将其电源端与 GND 端分别和单片机的电源与 GND 端相连,解调信号输出端接到单片机的 P3.2 端口,由此红外接收头输出信号时将通过 P3.2 端口触发单片机外部中断,引导单片机进行数据接收、解码。红外接收电路如图 2.2.2所示。2.2.32.2.3 12864oled12864oled OLED,集分辨率高,体积小,占用资源少于一身,应用十分广泛,用它作为计算器的显示部分,再合适不过。自身 SPI 通信使用 4 个引脚即可实现包括数字,图像,字母,汉字等各式图形,功能十分强大。本设计选用的 OLED 分辨率为 12864,即有 12864 个像素点。就显示内容而言,OLED 和普通的 LCD12864 并没有区别,且由于屏幕尺寸较小,显示效果显得极其细腻。本设计使用的 OLED 采用的驱动器为 SSD1306。SSD1306是一个 12864 矩阵像素的 OLED/PLED 段式驱动器,其拥有 5 种接口方式,本设计中对于显示的实时性与操作频率均比较低,所以选用的是 4 线 SPI 串行通信方式,使用的是 OLED 的 SCL(SCLK)、SDA(MOSI)、RST、D/C 四个端口,分别接至单片机的 P2.0、P2.1、P2.2、P2.3 端口。图 2.2.3 OLED 显示屏与单片机的接口原理图2.2.42.2.4 电源模块电源模块本文所设计的硬件电路除了 OLED 使用 3.3v 供电,其余供电电压均为5V,因此本设计使用的是 5V 的串口供电来给整个系统供电,将 5V 输入电压通过由 AMS1117 三端稳压器构成的稳压电路将输入电压转换为 3.3V 供给整个系统使用。电源电路设计如图 2.2.4 所示:图 2.2.4第三章第三章 软件设计软件设计3.1 开发环境与调试工具软件设计所用的开发环境是 Keil uVision4 下的 keil C51 V9.52. 它的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。开发环境界面如下图。图 3.1.1 开发环境界面代码烧写工具选用 STC-ISP V4.88. STC-ISP 是一款单片机下载编程烧录软件,是针对 STC 系列单片机而设计的,可下载 STC89 系列、12C2052 系列和12C5410 等系列的 STC 单片机,使用简便,现已被广泛使用。3.1.2 烧录软件3.2 各模块软件设计 3.2.13.2.1 语音模块语音模块语音模块作为计算器的辅助功能,在软件过程中相对独立。本设计采用的语音芯片 WT588D,通信方式在其上为端已设置为三线串口模式,该模式由三条通信线组成,分别是片选 CS,数据 DATA,时钟 CLK,时序符合标准 SPI 通信方式。通过三线串口可以实现对 WT588D 语音模块的命令控制和语音播放。语音模块控制时序如图 3.2.1(a)所示。当系统需要进行语音播报时,单片机直接发送地址数据即可触发语音模块进行播放语音。图中D0-D7 表示一个地址或一个命令数据。图 3.2.1(a)当需要语音模块播报时,软件操作流程先将芯片片选端拉低(低电平有效) 。并且语音模块在时钟的上升沿到来时接收数据,时钟周期介于 100us2ms 之间。 数据成功接收后,语音播放 BUSY 输出在 20ms 之后做出响应。 程序如图:图 3.2.1(b)注:CLK_3A 为时钟端,CS_3A 为芯片片选端,sda 为数据端,rst 为复位端3.2.23.2.2 红外发射接收模块红外发射接收模块图 3.2.2(a)接收端采用 HX1838 一体化红外接收头接收红外信号,接收头将接收到的红外信号进行解码后输出给单片机的外部中断 0,并触发外部中断 0 服务子程序,在外部中断 0 服务子程序内,程序对连续的外部中断触发信号的间隔时间进行记录。时间统计的方法是利用定时器 0 进行基础时间设定,并在定时器 0 的服务子程序中对定时器 0 触发次数进行累加,当外部中断 0 被起始码触发后,外部中断 0 服务子程序打开定时器 0 并将定时器 0 内的累加值清零,直到外部中断 0 再次被触发后,记录当前的累加值并再次清零,当判断数
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号