您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页基于ATmega16的多功能万年历

基于ATmega16的多功能万年历

来源:华佗小知识


基于ATmega16的多功能万年历

一、功能:

1、阳历显示

2、农历显示

3、时分秒星期显示

4、本学期第几周显示

5、当前室内温度湿度显示

6、室外温度显示

二、原件:

主控芯片:ATmega16 8M晶振

显示:2.3寸共阳数码管(27个)

数码管驱动:uln2003、三极管8050、8550、传感器:DS1302、DS18B20、DHT-11

74HL238、74HL04

电源模块:LM7812、LM7805

其他元件: 电阻、电容等

三、基本模块介绍

1、电源模块:

对于整个万年历的供电系统,我们采用了15V的直流输入,通过通过稳压芯片LM7812和LM2596-5将输入电压分为两路稳压至12V与5V,分别供给显示模块与单片机控制模块。

电路图如下:

2、显示驱动及扫描模块:

对于2.3寸数码管的驱动模块,我们采用的uln2003三极管8050及8550相结合的驱动方法。具体方案如下图所示(图中仅画出两个数码管,其余相同):

如上图,我们采用了大功率三极管8550与8050作阳极驱动,通过多8050基极电平的控制向共阳极灌入大电流,数码管的段引脚我们采用了ULN2003驱动。LN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成且工作电压高,工作电流大,灌电流可达500mA,用在大功率共阳数码管的段极驱动再好不过。

由于我们设计的万年历所用到的数码管有27个,如果采用一般的扫描方式那么所需I/O口多大34个。而我们的主控芯片共32个通用I/O口,即使全部用来扫描数码管也不够用。

因为上面的原因,所以我们采用了译码器扫描的方式。通过4个3-8译码器与1个非门组成一个5-32的译码器,通过这个组合电路最多可以用12个(5个编码端+7的段极)I/O口扫描32数码管,极大程度上扩展了I/O口的数量。

原理图如下:

3、单片机主控模块:

万年历的主控芯片我们选择的是ATmega16。ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器,由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。 而且ATmega16的片上资源较普通51单片机也十分丰富。

4、传感器模块

万年历室内外温度湿度的采集是通过DS18B20与DHT-11来采集的,DS1302与DHT-11都是单总线器件,这在电路设计与I/O口资源占用上给设计者减少很多麻烦,但是由于是单总线设计,所以在数据采集程序上却存在一定难度。

万年历时钟数据的采集是通过DS1302来完成的,DS1302 是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。这在编程上给设计者带来很多便利。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务