基于51单片机的万年历的设计 联系客服

发布时间 : 星期二 文章基于51单片机的万年历的设计更新完毕开始阅读0658c46d0a1c59eef8c75fbfc77da26925c596d2

单片机实训报告

三、设计思想

整体设计以单片机技术为核心,采用C语言进行软件设计,增加了程序的可读性和可移植性,为了便于扩展和更改,软件的设计采用模块化结构。程序先向LCD更新时钟芯片的时间与温度传感器的时间,然后进行初始化工作。程序由一个主函数,两个定时器中断程序,一个时钟设置子程序,一个农历设置子程序,一个温度设置子程序,一个延时子程序,一个调时子程序,一个显示子程序构成。程序通过按键扫描程序来确定是否调用中断程序来对时间进行调整。用一子程序完成时分的调整,通过循环扫描四个按键的电平变化来判断对应按键是否按下,并带有去抖动功能,四个按键分别有增加,减小,退出与功能选择的作用。通过功能选择时钟设置与闹钟设置,使用加或减按键进行预置,完成后可点退出键完成操作。

可分为以下几个功能模块:

1)主程序:定时器中断初始化、时钟与温度更新程序与键盘监控。 2)计时:为定时器中断服务子程序,完成刷新计时缓冲区的功能。 3)农历:由阴历换算对照表得出阳历并显示。 4)闹钟:采用定时器中断方式实现闹钟与整点报时。 5) 温度:由温度传感器将温度传送到LCD显示。 6)设置:由按键设置闹钟时间或时钟时间。 7)键盘扫描:判断是否有键按下,并确定键号。 8)LCD显示:完成8位动态显示。 四、硬件电路设计 1. 总体设计

系统包括单片机主控模块,温度传感器采集模块,日历时钟模块,按键调整模块,蜂鸣器模块,闹钟模块。如图1所示为系统设计图。

温度传感器 DS18B20 蜂鸣器闹钟 日历时钟芯片 DS1302 按键调整 电路 AT89C51 单片机 LCD12864 - 3 -

单片机实训报告

图1 系统设计图

如图2所示为系统仿真图。

图2 系统仿真图

2. 晶振电路

如图3所示,51单片机的内部有一个用于构成振荡器的高增益反相放大器,它的输入端为XTAL1引脚,输出端为XTAL2引脚,两个跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器通常取30pF左右。

图3 晶振电路 图4 复位电路 3. 复位电路

往单片机的复位引脚上输入24个时钟周期以上的高电平,即执行复位操作。按键复位是指系统在运行时,按下一个开关,就能在RST引脚产生一段时间的高电平,使系统复位,常见的按键复位电路如图4所示。对12MHz晶振频率而言,电路中C取10pF,R取1KΩ。

- 4 -

单片机实训报告

4. DS1302时钟电路

DS1302是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、 时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。

图5示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。中有在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。

图5 DS1302时钟芯片 图6 温度采集系统电路 5. 温度采集系统电路

在本万年历当中温度的采集采用数字温度传感器DS18B20。它属于单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 具有如下的

- 5 -

单片机实训报告

经济特点:(1)只要求一个端口即可实现通信。(2)在DS18B20中的每个器件上都有独一无二的序列号。(3)实际应用中不需要外部任何元器件即可实现测温。(4)测量温度范围在-55。C到+125。C之间。(5)数字温度计的分辨率用户可以从9位到12位选择。(6)内部有温度上、下限告警设置。如图6所示。

6. 按键调整电路

按键采用4个独立的按键,一个功能键、一个退出键、一个加按键、一个减按键通过这四个按键可以来合理的设置时钟的调整和闹铃的设置等。如图7所示与51单片机的P0.0~P0.3的连接示意图。

图7 按键调整电路

7. 闹钟提示电路

当到达整点时或者当前的时间等于51单片机中设置闹钟时间时蜂鸣器便会发出声音进行提示。与单片机P0.5引脚的连接电路如图8所示。

图8 闹钟提示电路 图9 LCD显示电路 8. LCD显示电路

在本万年历当中12864液晶显示当前的实时时间重要的阴阳历节日等功能。

- 6 -