论文部分内容阅读
摘要: 随着信息产业的高速发展,家用设备日益趋向于便捷、智能化与集成化,除基本功能外,人们对产品趣味性、创新性的要求也越来越高,市场需要更加多彩、有趣的产品。为此,研究一款基于单片机的电子钟的构想及实现。
该构想采用单片机作为中央处理芯片,以传感、远程控制、显示、语音作为外围模块,具有远程设置时间、闹钟功能,语音录制与播放,显示温度、湿度,彩色霓虹灯表示星期,表情代表天气变化,节日播报音乐等一系列的功能,实现了便利化、智能化、人性化和趣味性的统一,并给出具体的实现方法。
关键词: 单片机;远程遥控;语音;传感
中图分类号:TB 文献标识码:A 文章编号:1671-7597(2011)0310064-01
随着生活水平的不断提高,高速信息发展使智能控制技术日益成熟,即更加智能化、集成化。基于此,各种多功能家用电器应运而生,极大的便利了人们,但对于电子闹钟来说,人们对生活质量要求的提高使功能单一、古板的传统闹钟已不能满足人们的需求,出现了以下问题:1)床头电子闹钟只有显示时间、定时等单一功能,不能了解周围温度、湿度、日期等信息;2)虽然现有温度计、湿度计、记事本等能完成此功能,但是其产品单一、分散,不易管理。为了满足人们人们日益增长的多元化需求,本文构想了一款多功能电子钟,它集时钟、温度计、湿度计、记事本等为一体的便捷式彩虹闹钟,更为便捷、集成化。
1 电子钟的功能构想
整个系统具有以下功能:1)显示:时间(时分秒)、日期、温湿度、是否闹钟和计时;2)不同颜色二极管显示星期;3)显示表情(节日、天气);4)设定时间;5)设置录音记事本和闹钟;6)掉电保护数据(时间、日期、闹钟以及语音记事设置)。
2 电子钟的具体实现
2.1 系统原理。MCU控制系统,提供EEPROM存储程序信息,掉电之后依然能保存部分设定信息,同时接受、处理、发送其它模块的命令。
时钟、传感器独立运行,单片机从中读取数据,根据编程实现万年历的算法,实现日历的计时,将时间、日期、温湿度等信息在LCD上显示,实现良好的人机互动界面。
MCU根据对星期的判断写不同数据控制二极管发光,综合温湿度数据,在程序中写入判断的算法调用EEPROM中不同数组来实现点阵显示对应的表情,如果检测到该天还是规定的节假日,通过实时改变调用的数组数据实现天气表情与节日表情的切换。
遥控部分分为遥控接受和遥控发射部分,遥控接受部分采用LT0038一体化红外接收头,接受遥控信号并处理然后将接收到的代码传送到主控芯片,遥控发射部分采用长虹牌C1851K型彩电遥控器,并直接利用它的按键代码代替传统的按键,实现外部设置、调整等操作。
采用集成的语音芯片,检测到调用命令式进入语音设置模块,打开录音模式并进行录音,时钟到达设定时间时自动播放录音记事本。同时也对语音部分外界独立按键按,实现直接录音、播放、下一段、删除等功能。通过IO口赋值给扬声器输入代码,不断改变频率,使之发出连续音乐声,检测到闹钟功能是开时打开该IO口进行闹铃。
2.2 系统硬件。本系统主要由中央处理模块(HT46F49E)、时钟模块(DS1302)、传感模块(DH11)、遥控(红外控)、显示模块(12864等)以及语音模块(ISD1760)等几部分组成。其中,显示模块电路分别如图1、2所示:
语音电路实现记事和提醒功能,采用了ISD1760芯片,实现人性化的语音输入、输出来实现,简单方便。操作者可以通过遥控器或按键进行录音记事和设置相应的提醒时间。同时也可设定提醒功能的开启与关闭。
时钟电路部分为了保证时钟的可靠性,可以进行掉电保护,接上备用电源,即在系统掉电的情况下亦可以保护时钟数据正常,克服了每次开系统都要重新设置的缺陷。
2.3 软件部分。使用模块化的程序设计思想,主程序通过调用子程序以实现各部分功能。先进行软件的总体设计,将软件分为多个功能模块,然后进行各功能模块设计,各功能模块都调试通过后,将它们根据总体设计的主函数流程组合起来成为最终的应用软件。各程序模块说明如下:
显示子程序:MCU从DS1302中读取当前时间,显示当前时间、日期等,并通过算法求出当前农历日期,并送显示,动态更新星期,并送入74LS164中驱动不同发光二极管亮。
新历转农历子程序:根据新历年月日从农历数据表中取数据,读取当年春节所在的新历的月日,然后算出春节距元旦的天数N1。根据新历月日读取新历表中的数据,算出当前日期距元旦的天数N2。如果N2>N1,当前日期在春节后,则农历年就是当前新历年所对应的年;然后根据N1、N2算出当期日期距春节的天数N3,并从农历表中取出当年农历闰月月份,不闰月则为零。然后从农历表取月份大小数据,月大为30,月小为39,从一月开始,判断N3是否大于该月天数,如果大于,则N3减去该月天数,月数加一,继续取下月,一直到N3小于月天数,则农历月就为当月,日就为N3;如果N2 星期算法子程序:根据新历年从星期表中取出当年元旦的星期N1,然后更具月日算出当前日期距元旦的天数N2,然后N2加上N1,然后N2除以七取余,余数即为星期,如果余数为零则为星期日。
温湿度及红外子程序:单片机控制硬件电路的模式控制端口,改变其电平来实现对温湿度、红外模式的切换,接收数据完毕,置位数据接收标志位。判断标志位,并作出相应判断。
点阵显示子程序:湿度数据与湿度门限值作比较,判断天气,根据天气调用不同的表情数据,并送点阵显示,如湿度小于50,显示晴天表情。与此同时,判断是否有节假日等,如果有,则节假日表情和天气调情交替显示。
语音子程序:当判断录音键被按下后,先清除原有语音,再进入录音操作中。再按下录音键,录音停止。调用显示程序设置时间,当实际时间与设定时间相同时,则拉低语音模块的播放电平,实现播放功能。
闹铃模块子程序:当闹铃按键被按下后,进入闹铃设置子程序,通过遥控器上的1-9数字设置时间,设置标志位判断是否开启闹钟,当实际时间与设定时间相同时,则驱动蜂鸣器发出音乐。
参考文献:
[1]王毓银,数字电路逻辑设计,北京:高等教育出版社,2002.1.
[2]童诗白,模拟电子技术基础,北京:高等教育出版社,2003.4.
该构想采用单片机作为中央处理芯片,以传感、远程控制、显示、语音作为外围模块,具有远程设置时间、闹钟功能,语音录制与播放,显示温度、湿度,彩色霓虹灯表示星期,表情代表天气变化,节日播报音乐等一系列的功能,实现了便利化、智能化、人性化和趣味性的统一,并给出具体的实现方法。
关键词: 单片机;远程遥控;语音;传感
中图分类号:TB 文献标识码:A 文章编号:1671-7597(2011)0310064-01
随着生活水平的不断提高,高速信息发展使智能控制技术日益成熟,即更加智能化、集成化。基于此,各种多功能家用电器应运而生,极大的便利了人们,但对于电子闹钟来说,人们对生活质量要求的提高使功能单一、古板的传统闹钟已不能满足人们的需求,出现了以下问题:1)床头电子闹钟只有显示时间、定时等单一功能,不能了解周围温度、湿度、日期等信息;2)虽然现有温度计、湿度计、记事本等能完成此功能,但是其产品单一、分散,不易管理。为了满足人们人们日益增长的多元化需求,本文构想了一款多功能电子钟,它集时钟、温度计、湿度计、记事本等为一体的便捷式彩虹闹钟,更为便捷、集成化。
1 电子钟的功能构想
整个系统具有以下功能:1)显示:时间(时分秒)、日期、温湿度、是否闹钟和计时;2)不同颜色二极管显示星期;3)显示表情(节日、天气);4)设定时间;5)设置录音记事本和闹钟;6)掉电保护数据(时间、日期、闹钟以及语音记事设置)。
2 电子钟的具体实现
2.1 系统原理。MCU控制系统,提供EEPROM存储程序信息,掉电之后依然能保存部分设定信息,同时接受、处理、发送其它模块的命令。
时钟、传感器独立运行,单片机从中读取数据,根据编程实现万年历的算法,实现日历的计时,将时间、日期、温湿度等信息在LCD上显示,实现良好的人机互动界面。
MCU根据对星期的判断写不同数据控制二极管发光,综合温湿度数据,在程序中写入判断的算法调用EEPROM中不同数组来实现点阵显示对应的表情,如果检测到该天还是规定的节假日,通过实时改变调用的数组数据实现天气表情与节日表情的切换。
遥控部分分为遥控接受和遥控发射部分,遥控接受部分采用LT0038一体化红外接收头,接受遥控信号并处理然后将接收到的代码传送到主控芯片,遥控发射部分采用长虹牌C1851K型彩电遥控器,并直接利用它的按键代码代替传统的按键,实现外部设置、调整等操作。
采用集成的语音芯片,检测到调用命令式进入语音设置模块,打开录音模式并进行录音,时钟到达设定时间时自动播放录音记事本。同时也对语音部分外界独立按键按,实现直接录音、播放、下一段、删除等功能。通过IO口赋值给扬声器输入代码,不断改变频率,使之发出连续音乐声,检测到闹钟功能是开时打开该IO口进行闹铃。
2.2 系统硬件。本系统主要由中央处理模块(HT46F49E)、时钟模块(DS1302)、传感模块(DH11)、遥控(红外控)、显示模块(12864等)以及语音模块(ISD1760)等几部分组成。其中,显示模块电路分别如图1、2所示:
语音电路实现记事和提醒功能,采用了ISD1760芯片,实现人性化的语音输入、输出来实现,简单方便。操作者可以通过遥控器或按键进行录音记事和设置相应的提醒时间。同时也可设定提醒功能的开启与关闭。
时钟电路部分为了保证时钟的可靠性,可以进行掉电保护,接上备用电源,即在系统掉电的情况下亦可以保护时钟数据正常,克服了每次开系统都要重新设置的缺陷。
2.3 软件部分。使用模块化的程序设计思想,主程序通过调用子程序以实现各部分功能。先进行软件的总体设计,将软件分为多个功能模块,然后进行各功能模块设计,各功能模块都调试通过后,将它们根据总体设计的主函数流程组合起来成为最终的应用软件。各程序模块说明如下:
显示子程序:MCU从DS1302中读取当前时间,显示当前时间、日期等,并通过算法求出当前农历日期,并送显示,动态更新星期,并送入74LS164中驱动不同发光二极管亮。
新历转农历子程序:根据新历年月日从农历数据表中取数据,读取当年春节所在的新历的月日,然后算出春节距元旦的天数N1。根据新历月日读取新历表中的数据,算出当前日期距元旦的天数N2。如果N2>N1,当前日期在春节后,则农历年就是当前新历年所对应的年;然后根据N1、N2算出当期日期距春节的天数N3,并从农历表中取出当年农历闰月月份,不闰月则为零。然后从农历表取月份大小数据,月大为30,月小为39,从一月开始,判断N3是否大于该月天数,如果大于,则N3减去该月天数,月数加一,继续取下月,一直到N3小于月天数,则农历月就为当月,日就为N3;如果N2
温湿度及红外子程序:单片机控制硬件电路的模式控制端口,改变其电平来实现对温湿度、红外模式的切换,接收数据完毕,置位数据接收标志位。判断标志位,并作出相应判断。
点阵显示子程序:湿度数据与湿度门限值作比较,判断天气,根据天气调用不同的表情数据,并送点阵显示,如湿度小于50,显示晴天表情。与此同时,判断是否有节假日等,如果有,则节假日表情和天气调情交替显示。
语音子程序:当判断录音键被按下后,先清除原有语音,再进入录音操作中。再按下录音键,录音停止。调用显示程序设置时间,当实际时间与设定时间相同时,则拉低语音模块的播放电平,实现播放功能。
闹铃模块子程序:当闹铃按键被按下后,进入闹铃设置子程序,通过遥控器上的1-9数字设置时间,设置标志位判断是否开启闹钟,当实际时间与设定时间相同时,则驱动蜂鸣器发出音乐。
参考文献:
[1]王毓银,数字电路逻辑设计,北京:高等教育出版社,2002.1.
[2]童诗白,模拟电子技术基础,北京:高等教育出版社,2003.4.