• 51系列—基于51单片机的电子万年历设计


    本文主要介绍基于51单片机的电子万年历设计

    前言

    电子万年历是单片机系统的一个应用,由硬件和软件相配合使用。硬件由主控器、时钟电路、温度检测电路、显示电路、键盘接口5个模块组成。主控模块用AT89C52、时钟电路用时钟芯片DS1302、显示模块用LED数码管、温度检测采用DS18B20温度传感器、键盘接口电路用普通按键接上拉电阻完成;软件利用C语言编程实现单片机程序控制。单片机通过时钟芯片DS1302获取时间数据,DS18B20采集温度信号送该给单片机处理,单片机再把时间数据和温度数据送给74LS154译码,然后通过三极管C9015放大驱动LED数码管显示阳历年、月、日、时、秒、闹钟、星期、温度。

    控制部分的方案选择

    主控芯片使用51系列AT89C52单片机,时钟芯片用美国DALLAS公司推出的一种高性能、低功耗、带RAM的时钟DS1302。采用DS1302作为主要计时芯片,可以做到计时准确。更重要的是,DS1302可以在很小电流的后备电源(2.5~5V电源,在2.5V时耗电小于300nA)下继续计时,停电后时钟无需重新调整,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电,还可自设闹铃,阳历、星期与年月日自动对应。本系统采用了此方案。

    测温部分的方案选择

    1.在日常生活及工农业生产中经常要乃至温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。

    2.与前面相比,采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55~125°C,最大分辨率可达0.0625°C。DS18B20可以直接读出被测温度值,而且采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
    在这里插入图片描述
    其内部测温原理如下所示:
    在这里插入图片描述

    显示部分的方案选择

    1. 液晶显示方式。液晶显示效果出众,可以运用菜单项来方便操作,但是在显示时,特别是使用秒表功能时扫描速度跟不上,屏幕会有明显的闪烁。而且由于61板的存储空间有限,液晶显示就不能与语音播抱程序同时实现。这些大大影响了电子万年历的性能。
    2. 相比液晶显示,8段数码管虽然操作比液晶显示略显繁琐,但可视范围十分宽,而且经济实惠,也不需要复杂的驱动程序。所以最后选择LED数码管显示方案。
      综上所述,按照系统设计功能的要求,确定硬件系统由主控制器、时钟模块、测温电路、显示模块、键盘接口共5个模块组成,总体系统构成框图如图所示。
      在这里插入图片描述

    系统程序的设计

    阳历程序设计
    因为使用了时钟芯片DS1302,阳历程序只需从DS1302各寄存器中读出年、周、月、日、[小]时、分、秒等数据,再处理即可。在首次对DS1302进行操作之前,必须对它进行初始化,然后从DS1302中读出数据,再经过处理后,送给显示缓冲单元。阳历程序流程图如图所示
    在这里插入图片描述
    时间调整程序设计
    调整时间用5个调整按钮,1个作为移位、控制用,2个作为加和减用,还有2个作为闹钟调整使用,分别定义为控制按钮、加按钮、减按钮、闹钟加按纽、闹钟减按纽。在调整时间过程中,要调整的位与别的位应该有区别。所以增加了闪烁功能,即调整的位一直在闪烁,直到调整下一位。闪烁原理就是,让要调整的一位每隔一定时间熄灭一次,比如说50ms。利用定时器计时,当达到50ms溢出时,就送给该位熄灭符,在下一次溢出时,再送正常显示的值,不断交替,直到调整该位结束。此时送正常显示值给该位,再进入下一位调整闪烁程序。时间调整程序流程图如图5.2所示。

    温度程序设计
    系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序、显示数据刷新子程序等等。

    主程序
    主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s进行一次。其程序流程图如下所示:
    在这里插入图片描述

    附完整资料获取链接

    链接: https://pan.baidu.com/s/1L9kIVugMruIub9bAC-nYfQ?pwd=h24r
    提取码: h24r

  • 相关阅读:
    SqlServer在尝试加载程序集 ID 65917 时 Microsoft .NET Framework 出错。服务器可能资源不足,或者不信任该程序集
    怎么使用手机远程访问电脑文件?(3种方法)
    理解C语言指针
    SpringBoot+Mybaits搭建通用管理系统实例十:基础增删改查功能实现下
    组件安全概述
    EF Core中带过滤器参数的Include方法
    打印机出现黄色感叹号!无法查看属性和设置,开机查看打印机,打印自动变灰色问题无法使用!
    mysql基于SSM的大学生创业众筹平台网站 毕业设计源码212000
    为什么企业需要生产运营管理系统
    武汉轻工大学计算机考研资料汇总
  • 原文地址:https://blog.csdn.net/u011816009/article/details/133959751