基于STC89C52单片机智能台灯系统设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于STC89C52单片机智能台灯系统设计

基于STC89C52单片机智能台灯系统设计   摘 要台灯在人们的日常工作和生活中经常用到,从方便用户的角度,台灯逐渐实现了智能化,兼具自动调光、日历、时钟等功能。本文对基于STC89C52单片机的智能台灯系统设计进行了分析和讨论。   【关键词】STC89C52单片机 智能台灯 系统设计   智能台灯的出现,为人们的工作生活提供了便利,不过当前多数台灯一般仅能够依靠硬件来实现自动开关,功能相对单一,无法很好地满足人们个性化需求。对此,可以采用软件和硬件相互结合的方式,实现台灯自动调光,配合日历显示和时钟功能,能够提升台灯的智能性和便利性。   1 硬件设计   1.1 总体设计   系统硬件部分采用了STC89C52单片机、LCD12864显示模块、LED灯、DS1302时钟以及触摸开关、BH1750光强传感器等。   1.2 模块设计   (1)单片机模块,STC89C52单片机在具备良好性能的同时,成本低和功耗低,其本身配备512字节的RAM、32位I/O接口,以及3个16位定时器,可以实现对其他功能模块的控制;   (2)LED灯模块,选择转色温灯泡,可以针对不同的需求进行调节,为用户提供更加舒适的体验;   (3)LCD12864显示模块,可以通过单片机,向LCD显示模块输入数据,从而实现对于日历、时间以及灯光亮度的显示;   (4)DS1302时钟模块,考虑时钟显示与台灯开闭的矛盾,增加记忆功能,确保在每次开启台灯后时间都可以准确显示,不需要重新调整;   (5)BH1750光强传感器,利用BH1750FV1芯片实现对环境光照强度的检测分析,将测得的模拟信号转化为数字信号传输给单片机,由单片机进一步处理;   (6)触摸开关模块,通过触摸开关,可以实现对灯光亮度、日期、?r间等的调整;   (7)EEPROM存储模块,可以接收并存储单片机传输的灯光亮度信息,在台灯重新开启时,将信息传输会单片机,确保台灯每一次开启都可以恢复上次关闭时的亮度。   2 系统设计   2.1 主程序设计   为了确保单片机内部硬件能够正常运作,主程序运行需要延迟100ms,之后对相应功能模块进行初始化操作,编写while进入无限循环。在循环中,可以扫描触摸开关对其工作方式进行设置,延时180ms,对传感器采集到的数据进行读取,将之存储在BUF中,与预先设定好的数值进行对比。取得时钟模块内部数据,结合LcdUptada函数对时钟及BH1750相关数据进行更新。   2.2 调光程序设计   设置发送起始信号、停止和应答信号,读取BH1750FV1内部数据。发送起始信号设置时,需要适当拉高时钟线和数据线,延时5μs,之后拉低数据线,再延迟5μs,拉低时钟线;发送停止信号设置时,需要拉高时钟线,拉低数据线,延迟5μs后,拉高数据线,在延时5μs;发送应答信号设置时,需要先对应答信号入口参数进行写入操作,拉高时钟线,延时5μs后拉低时钟线,继续延时5μs。读取相关数据后,应答信号入口参数为1,拉高时钟线,延时5μs,再拉高数据线,延时5μs,完成信号设置。如果想要设置一个舒适的光照强度,可以对比传感器采集到的环境光照强度,若其小于设定值,可以增加亮度,反之则调低亮度,可以在EEPROM中存储当前台灯光照强度,存储数据随光照强度变化随时更新,确保在下次台灯开启时,能够通过数据读取,恢复上次关闭时台灯的亮度。   2.3 时钟程序设计   初始化DS1302模块,进行日历和时钟设置,确保控制命令为WP=0,做好写操作,写入秒后,令WP=1,写保护,依照这样的流程,对分、时以及年月日进行依次设置。从单片机读取当前信息,传输到DS1302中,关闭台灯再打开,存储在模块中的信息会被单片机读取,保证时间准确,不会因为台灯关闭而导致时钟停止。   2.4 开关程序设计   对触摸开关进行相应的寄存器定义,之后全面扫描。触摸Key1开关,可以打开或者关闭台灯,每一次关闭再开启,台灯的色温都会在三种色温之间循环。触摸Key2和Key3开关,可以对台灯的亮度进行调节(Key2增强,Key3减弱);触摸开关Key4-Key7可以对日历和时钟进行调节:Key4开关可以选择需要调节的内容,通过触摸的方式,光标可以依次在年、月、日、时、分、秒依次循环;Key5开关可以退出调节模式;Key6和Key7开关可以对光标所在位置的数字进行增加或者减少,单次触摸调节的量为1。Key8开关可以对智能台灯的自适应功能进行调节,触摸一下启动自适应功能,再次触摸会关系自适应功能。   3 结语   总而言之,本文基于STC89C52单片机,对智能台灯系统进行了设计,通过相应的软件程序,实现了硬件模块的有机联系,可以在LCD屏幕上对台灯亮度

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档