论文部分内容阅读
[摘要] 教室作息时间控制系统以STC89C516RD+单片机为核心,用DS1302日历时钟芯片提供时间信息、用ISD4004语音芯片播报时间信息及用LED点阵显示屏同步显示时间信息,本系统具有语音播报、时间校时及时间显示等功能,同时还具有价廉,运行稳定和可靠,时间准确等优点。
[关键词] STC89C516RD+单片机 DS1302 ISD4004 LED点阵显示屏
1、引言
随着信息社会的不断发展,尤其是随着各种嵌入式系统在现实生活中的深入和广泛应用,各种信息处理和信息传输的方法也越来越丰富,世界各大主要芯片生产商先后推出IIC三总线传输协议、单总线传输协议、SPI同步传输协议等,这些传输协议的出现为各种微处理和微控制器和外围信息处理芯片快速通信提供了极大的便利,由于各种传输协议都具有固定和严格的传输格式,也就为各种嵌入式系统编写方便移植的总线传输功能函数提供了可能,本文就是通过“基于STC89C516RD+的教室作息时间语音点阵显示屏控制系统的设计和制作”来详细介绍各种嵌入式系统中总线传输协议中的各种功能子函数的编写方法。
基于STC89C516RD+的教室作息时间语音点阵显示屏控制系统,它采用了具有IIC三总线接口的日历时钟芯片DS1302和具有SPI同步传输总线的录放音芯片ISD4004,以及STC89C516RD+微控制器芯片,通过对一个能实现时钟显示和播报及定时功能的时间控制系统的设计学习,达到应用IIC三总线协议和SPI同步传输总线协议来为广大的师生提供一套可用于学校作息,实现实时时间的显示、校正和智能语音播报,并且具有体积小,价格便宜,功耗低,可靠性高等优点的教室作息时间语音点阵显示屏控制系统。
2、系统的组成和工作原理
本系统主要是由单片机模块、电源模块、ISD4004录放音模块、LED点阵显示屏模块、DS1302时钟模块、按键输入时间校正模块和MAX232在系统编程模块组成,系统组成框图见图1所示。
图1 系统组成方框图
系统的工作原理是:微控制器芯片STC89C516RD+通过IIC总线协议函数来将DS1302内的实时时间信息暂存于微控制器内的RAM单元中,然后通过RAM单元中将实时时间数据信息送往LED点阵显示屏进行实时显示,同时微控制器芯片通过SPI总线传输协议函数读取预先录入ISD4004芯片中的语音信息送功能电路进行时钟的播报,按键输入时间校正模块主要用来对DS1302进行时间校正及用来设定上、下课的时间语音播报点,同时也为ISD4004的预录语音信息提供手工按键录音的功能,表1中的语句为预录入ISD4004中的语音信息。
表1ISD4004录入的语音信息
录入的音频段序号 录入的语音信息
第一段 现在是北京时间八点整,第1节课的上课时间到了,请同学们准备上课
第二段 现在是北京时间八点五十分,第1节课的下课时间到了,请各位老师、同学们休息10分钟
第三段 现在是北京时间九点整,第2节课的上课时间到了,请同学们准备上课
第四段 现在是北京时间九点五十分,第2节课的下课时间到了,请各位老师、同学们休息10分钟
第五段 现在是北京时间十点整,第3节课的上课时间到了,请同学们准备上课
第六段 现在是北京时间十点五十分,第3节课的下课时间到了,请各位老师、同学们休息10分钟
第七段 现在是北京时间十一点整,第4节课的上课时间到了,请同学们准备上课
第八段 现在是北京时间十一点五十分,第4节课的下课时间到了,各位老师、同学们午安
第九段 现在是北京时间十四点三十分,第5节课的上课时间到了,请同学们准备上课
第十段 现在是北京时间十五点二十分,第5节课的下课时间到了,请各位老师、同学们休息10分钟
第十一段 现在是北京时间十五点三十分,第6节课的上课时间到了,请同学们准备上课
第十二段 现在是北京时间十六点二十分,第6节课的下课时间到了,请老师、同学们下课休息
第十三段 现在是北京时间十九点整,第7节课的上课时间到了,请同学们准备上课
第十四段 现在是北京时间二十一点整,一天的学习生活结束了,老师、同学们晚安
3、系统的硬件设计
系统的硬件设计部分包括微控制器模块、DS1302日历时钟模块、ISD4004录放音模块、LED点阵显示模块、电源模块和按键输入模块。
3.1微控制器模块
本系统所采用的主控芯片是STC89C516RD+,该款单片机的主要优势是处理速度快,其时钟频率可以达到80MHZ,内部集成RAM达1280字节,内部集成的FLASH ROM达64KB,且该款单片机具有很好的加密技术,无法解密,具有8个中断源4个中断优先级,3个定时器/计数器,2个外部中断,36个I/O端口,用户程序是采用ISP/IAP下载,大大节省了开发成本和使用成本,这些特点大大简化了外围电路的开发和设计。
单片机模块的主要功能是从DS1302日历时钟芯片读取BCD码形式的时间值,并转化为十进制值送LED点阵显示屏显示,同时将读取的时间值和设定的上、下课的时间值进行比较,如果相等的话,即驱动ISD4004放音模块播报一段预先录入的一个相应的时间提示音,从而实现上课或下课时间的LED点阵显示屏即时显示和语音播报的功能。
3.2 DS1302日历时钟模块
DS1302是由DALLAS公司推出的具有涓流充电的时钟芯片,内含一个实时日历/时钟电路能提供秒、分、时、日、月、星期、年等信息,每月的天数的每年的天数能自动调整,时钟操作可通过AM/PM指示决定采用24或12小时格式。DS1302与微控制器之间的通信采用IIC同步串行的方式进行,只需要三根线即RST、I/O和SCLK, DS1302时钟模块的主要功能是以BCD码的形式为STC89C516RD+主控芯片提供实时时间信息。微控制器和DS1302模块的硬件电路图如图2所示。
图2STC89C52RC微控制器模块和DS1302的电路图
3.3 ISD4004录放音模块
ISD4004芯片单片录放音时间达8至16分钟,芯片内部采用CMOS技术,内含振荡器,防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列,芯片采用多电平直接模拟量存贮技术,因此能够真实地再现语音、音乐、音调,避免了一般固体录音电路因量化和压缩而造成的量化噪声和“金属声”,该芯片和单片机的通信采用SPI同步传输协议,大大提高了传输的速度和效率。
ISD4004录放音模块的主要功能是先在微控制器的控制下完成上、下课时间段的语音信息的录入,然后在微控制器的控制下在上、下课的实时时刻完成上、下课时间的信息语音播报。ISD4004语音录放电路的电路图如图3所示。
图3ISD4004录放音模块电路图
3.4 LED点阵显示模块
LED点阵显示模块主要是由74HC154行扫描电路和74HC595串转并的列扫描电路及16个8X8的点阵阵列组成的,能一次性显示XX:XX:XX格式的时间信息,该模塊采用STC89C516RD+芯片的串口线来扫描驱动,大大提高扫描的速度和效率,使LED点阵显示屏无显烁感。该模块在本系统中的主要功能是完成实时时间信息的即时显示。LED点阵显示模块的电路图如图4所示。
图4LED点阵显示屏模块电路图
3.5 MAX232在系统编程模块
MAX232模块主要是完成用户程序的在系统或在应用的编程下载功能。用户程序经过KEIL软件编译成可执行文件后,通过STC_ISP_V479.EXE软件可下载到STC89C516RD+芯片中执行,从而实现在系统编程的功能,节省了专用的编程器和下载器,为系统的开发带来很大的方便。MAX232在系统编程模块的电路图如图5所示。
图5MAX232在系统编程模块电路图
3.6 电源模块和按键输入时间校正模块
电源模块由78L05和LM1117-3.3芯片组成,其中78L05的主要功能是将输入的直流电压转换成5V的稳定电压给STC89C516RD+主控芯片和DS1302模块供电.而LM1117-3.3芯片的主要功能则是将5V的电压转换成3.3V的电压给ISD4004模块供电。电源模块的电路图如图6所示。
按键输入时间校正模块则是由四个单列式键组成,其主要功能是用来完成实时时间的校正。按键输入时间校正模块的电路图如图2所示。
图6电源模块电路图
4、系统的软件设计
本系统的软件部分主要由主控芯片实时地从DS1302时钟芯片中读出BCD码形式的时间值,然后转换成十进制形式时间值保存到一个二维数组中,再通过LED点阵显示屏将这个二维数组中的数据显示出来,并且当时间达到预先设定的上、下课时间时,触发ISD4004放音芯片播报一段相应的预先录制的语音信息,本系统的程序设计流程图如图7所示。
图7软件设计流程图
ISD4004芯片有两类,为类可录8分钟的语音,另一类则能录16分钟的语音,本系统采用的是具有8分钟(即8*60=480S)录音功能的ISD4004芯片,根据4004的资料,480秒可分为2400段,也就是1S的段数为5段,0000-0005H的内容为1秒,本系统中每段录音分配32秒,占有的地址单元为32*5=100个地址单元,故第一段录音的存放地址为:0000H-0XA0单元共有160个单元,其它的录放音的地址单元依次类推。
图8ISD4004工作流程图
5、结论
本系统能够长时间稳定地运行,能清晰地显示和播报时间信息.本系统能为教室作息时间的管理提供人性化和智能化的服務。
参考文献:
[1]李群芳,黄建.单片微型计算机与接口技术[M].北京:电子工业出版,2002.
[2]姚永平,STC89C51RC/RD系列单片机器件手册[M].深圳:宏晶科技,2006.
[3]宏晶科技,STC89C52单片机器件手册[K],www.mcu.memory.com,2010.
[4]山东顶顶电子公司,www.ddmcu.com.
注:
曾建潮为本文指导老师。
[关键词] STC89C516RD+单片机 DS1302 ISD4004 LED点阵显示屏
1、引言
随着信息社会的不断发展,尤其是随着各种嵌入式系统在现实生活中的深入和广泛应用,各种信息处理和信息传输的方法也越来越丰富,世界各大主要芯片生产商先后推出IIC三总线传输协议、单总线传输协议、SPI同步传输协议等,这些传输协议的出现为各种微处理和微控制器和外围信息处理芯片快速通信提供了极大的便利,由于各种传输协议都具有固定和严格的传输格式,也就为各种嵌入式系统编写方便移植的总线传输功能函数提供了可能,本文就是通过“基于STC89C516RD+的教室作息时间语音点阵显示屏控制系统的设计和制作”来详细介绍各种嵌入式系统中总线传输协议中的各种功能子函数的编写方法。
基于STC89C516RD+的教室作息时间语音点阵显示屏控制系统,它采用了具有IIC三总线接口的日历时钟芯片DS1302和具有SPI同步传输总线的录放音芯片ISD4004,以及STC89C516RD+微控制器芯片,通过对一个能实现时钟显示和播报及定时功能的时间控制系统的设计学习,达到应用IIC三总线协议和SPI同步传输总线协议来为广大的师生提供一套可用于学校作息,实现实时时间的显示、校正和智能语音播报,并且具有体积小,价格便宜,功耗低,可靠性高等优点的教室作息时间语音点阵显示屏控制系统。
2、系统的组成和工作原理
本系统主要是由单片机模块、电源模块、ISD4004录放音模块、LED点阵显示屏模块、DS1302时钟模块、按键输入时间校正模块和MAX232在系统编程模块组成,系统组成框图见图1所示。
图1 系统组成方框图
系统的工作原理是:微控制器芯片STC89C516RD+通过IIC总线协议函数来将DS1302内的实时时间信息暂存于微控制器内的RAM单元中,然后通过RAM单元中将实时时间数据信息送往LED点阵显示屏进行实时显示,同时微控制器芯片通过SPI总线传输协议函数读取预先录入ISD4004芯片中的语音信息送功能电路进行时钟的播报,按键输入时间校正模块主要用来对DS1302进行时间校正及用来设定上、下课的时间语音播报点,同时也为ISD4004的预录语音信息提供手工按键录音的功能,表1中的语句为预录入ISD4004中的语音信息。
表1ISD4004录入的语音信息
录入的音频段序号 录入的语音信息
第一段 现在是北京时间八点整,第1节课的上课时间到了,请同学们准备上课
第二段 现在是北京时间八点五十分,第1节课的下课时间到了,请各位老师、同学们休息10分钟
第三段 现在是北京时间九点整,第2节课的上课时间到了,请同学们准备上课
第四段 现在是北京时间九点五十分,第2节课的下课时间到了,请各位老师、同学们休息10分钟
第五段 现在是北京时间十点整,第3节课的上课时间到了,请同学们准备上课
第六段 现在是北京时间十点五十分,第3节课的下课时间到了,请各位老师、同学们休息10分钟
第七段 现在是北京时间十一点整,第4节课的上课时间到了,请同学们准备上课
第八段 现在是北京时间十一点五十分,第4节课的下课时间到了,各位老师、同学们午安
第九段 现在是北京时间十四点三十分,第5节课的上课时间到了,请同学们准备上课
第十段 现在是北京时间十五点二十分,第5节课的下课时间到了,请各位老师、同学们休息10分钟
第十一段 现在是北京时间十五点三十分,第6节课的上课时间到了,请同学们准备上课
第十二段 现在是北京时间十六点二十分,第6节课的下课时间到了,请老师、同学们下课休息
第十三段 现在是北京时间十九点整,第7节课的上课时间到了,请同学们准备上课
第十四段 现在是北京时间二十一点整,一天的学习生活结束了,老师、同学们晚安
3、系统的硬件设计
系统的硬件设计部分包括微控制器模块、DS1302日历时钟模块、ISD4004录放音模块、LED点阵显示模块、电源模块和按键输入模块。
3.1微控制器模块
本系统所采用的主控芯片是STC89C516RD+,该款单片机的主要优势是处理速度快,其时钟频率可以达到80MHZ,内部集成RAM达1280字节,内部集成的FLASH ROM达64KB,且该款单片机具有很好的加密技术,无法解密,具有8个中断源4个中断优先级,3个定时器/计数器,2个外部中断,36个I/O端口,用户程序是采用ISP/IAP下载,大大节省了开发成本和使用成本,这些特点大大简化了外围电路的开发和设计。
单片机模块的主要功能是从DS1302日历时钟芯片读取BCD码形式的时间值,并转化为十进制值送LED点阵显示屏显示,同时将读取的时间值和设定的上、下课的时间值进行比较,如果相等的话,即驱动ISD4004放音模块播报一段预先录入的一个相应的时间提示音,从而实现上课或下课时间的LED点阵显示屏即时显示和语音播报的功能。
3.2 DS1302日历时钟模块
DS1302是由DALLAS公司推出的具有涓流充电的时钟芯片,内含一个实时日历/时钟电路能提供秒、分、时、日、月、星期、年等信息,每月的天数的每年的天数能自动调整,时钟操作可通过AM/PM指示决定采用24或12小时格式。DS1302与微控制器之间的通信采用IIC同步串行的方式进行,只需要三根线即RST、I/O和SCLK, DS1302时钟模块的主要功能是以BCD码的形式为STC89C516RD+主控芯片提供实时时间信息。微控制器和DS1302模块的硬件电路图如图2所示。
图2STC89C52RC微控制器模块和DS1302的电路图
3.3 ISD4004录放音模块
ISD4004芯片单片录放音时间达8至16分钟,芯片内部采用CMOS技术,内含振荡器,防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列,芯片采用多电平直接模拟量存贮技术,因此能够真实地再现语音、音乐、音调,避免了一般固体录音电路因量化和压缩而造成的量化噪声和“金属声”,该芯片和单片机的通信采用SPI同步传输协议,大大提高了传输的速度和效率。
ISD4004录放音模块的主要功能是先在微控制器的控制下完成上、下课时间段的语音信息的录入,然后在微控制器的控制下在上、下课的实时时刻完成上、下课时间的信息语音播报。ISD4004语音录放电路的电路图如图3所示。
图3ISD4004录放音模块电路图
3.4 LED点阵显示模块
LED点阵显示模块主要是由74HC154行扫描电路和74HC595串转并的列扫描电路及16个8X8的点阵阵列组成的,能一次性显示XX:XX:XX格式的时间信息,该模塊采用STC89C516RD+芯片的串口线来扫描驱动,大大提高扫描的速度和效率,使LED点阵显示屏无显烁感。该模块在本系统中的主要功能是完成实时时间信息的即时显示。LED点阵显示模块的电路图如图4所示。
图4LED点阵显示屏模块电路图
3.5 MAX232在系统编程模块
MAX232模块主要是完成用户程序的在系统或在应用的编程下载功能。用户程序经过KEIL软件编译成可执行文件后,通过STC_ISP_V479.EXE软件可下载到STC89C516RD+芯片中执行,从而实现在系统编程的功能,节省了专用的编程器和下载器,为系统的开发带来很大的方便。MAX232在系统编程模块的电路图如图5所示。
图5MAX232在系统编程模块电路图
3.6 电源模块和按键输入时间校正模块
电源模块由78L05和LM1117-3.3芯片组成,其中78L05的主要功能是将输入的直流电压转换成5V的稳定电压给STC89C516RD+主控芯片和DS1302模块供电.而LM1117-3.3芯片的主要功能则是将5V的电压转换成3.3V的电压给ISD4004模块供电。电源模块的电路图如图6所示。
按键输入时间校正模块则是由四个单列式键组成,其主要功能是用来完成实时时间的校正。按键输入时间校正模块的电路图如图2所示。
图6电源模块电路图
4、系统的软件设计
本系统的软件部分主要由主控芯片实时地从DS1302时钟芯片中读出BCD码形式的时间值,然后转换成十进制形式时间值保存到一个二维数组中,再通过LED点阵显示屏将这个二维数组中的数据显示出来,并且当时间达到预先设定的上、下课时间时,触发ISD4004放音芯片播报一段相应的预先录制的语音信息,本系统的程序设计流程图如图7所示。
图7软件设计流程图
ISD4004芯片有两类,为类可录8分钟的语音,另一类则能录16分钟的语音,本系统采用的是具有8分钟(即8*60=480S)录音功能的ISD4004芯片,根据4004的资料,480秒可分为2400段,也就是1S的段数为5段,0000-0005H的内容为1秒,本系统中每段录音分配32秒,占有的地址单元为32*5=100个地址单元,故第一段录音的存放地址为:0000H-0XA0单元共有160个单元,其它的录放音的地址单元依次类推。
图8ISD4004工作流程图
5、结论
本系统能够长时间稳定地运行,能清晰地显示和播报时间信息.本系统能为教室作息时间的管理提供人性化和智能化的服務。
参考文献:
[1]李群芳,黄建.单片微型计算机与接口技术[M].北京:电子工业出版,2002.
[2]姚永平,STC89C51RC/RD系列单片机器件手册[M].深圳:宏晶科技,2006.
[3]宏晶科技,STC89C52单片机器件手册[K],www.mcu.memory.com,2010.
[4]山东顶顶电子公司,www.ddmcu.com.
注:
曾建潮为本文指导老师。