基于单片机多功能电子万年历设计

上传人:第*** 文档编号:61115772 上传时间:2018-11-24 格式:DOC 页数:39 大小:195KB
返回 下载 相关 举报
基于单片机多功能电子万年历设计_第1页
第1页 / 共39页
基于单片机多功能电子万年历设计_第2页
第2页 / 共39页
基于单片机多功能电子万年历设计_第3页
第3页 / 共39页
基于单片机多功能电子万年历设计_第4页
第4页 / 共39页
基于单片机多功能电子万年历设计_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《基于单片机多功能电子万年历设计》由会员分享,可在线阅读,更多相关《基于单片机多功能电子万年历设计(39页珍藏版)》请在金锄头文库上搜索。

1、天 津 大 学 网 络 教 育 学 院 专科毕业论文 题目:基于数字电路的交通信号灯控制系统设计 完成期限:2015年9月26日至2015年10月16日 学习中心:奥鹏专业名称:电气自动化技术学生姓名:周园 学生学号:132701433080指导教师:王猛基于数字电路的交通信号灯控制系统设计一、绪论1、课题的背景与意义随着电子技术的迅速发展,特别是大规模集成电路出现,给人类生活带来了根本性的改变,尤其是单片机技术的应用产品已经走进了千家万户。近年来,我国科技的不断发展,我国经济发展的支柱产业电子产业获得长足发展,各种电子产品琳琅满目,随处可见,随着电子产品的更新速度的加快,各种功能强大,款式新

2、颖的电子产品不断问世。数字万年历便是这一发展趋势中的代表,数字万年历则顺应了人们对时间方面的要求。它的出现给人们的生活带来的诸多方便,在时间极显宝贵的现代生活中,其作用更是不言而喻。它在学校、车站、码头、剧院、医院、办公室等公共场所的应用非常广泛。但传统的数字万年历除显示时间之外,功能较为单一,逐渐失去了市场。顺应技术发展和人们生产、生活需求,各种功能的新式万年历不断涌现,且功能不断更新。数字万年历作为电子类的小产品以其方便、实用等优势成为市场上的宠儿,同时也成为单片机设计培训中一个很实用的课题。因为这个课题有很好的的开发性和可发挥性,因此对设计者的要求比较高,不仅考察了对单片机的掌握能力更加

3、强调了对单片机扩展的应用。而且要求设计的数字万年历在操作上力求简洁,功能上尽量齐全,显示界面也要出色。所以数字万年历无论从实用的角度和培养能力的角度都很有价值。二、系统硬件设计本系统以单片机为核心控制器,包含了时钟芯片的接口、键盘接口、温度检测接口以及液晶显示输出接口,因此在硬件设计中合理分配单片机的输入输出端口尤为重要,通过综合比较市场上的元器件的价格以及分析单片机的I/O 口数量,本系统最终选择了AVR 单片机中的 MEGA16 型,设计的硬件电路图见附录2,其单片机的I/O的分配如下:11个I/O口用于液晶显示,4个I/O口用于按键输入,3个 I/O 口用于时钟芯片,1个 I/O口用于温

4、度检测,1个I/O口用于声音输出,单片机的20个I/O口充分利用。下面从系统硬件的各个组成部分一一做介绍。1、主控制器 ATmega16 单片机介绍 ATmega16带有16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节的EEPROM,1K字节的SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描 的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C), 片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可 选差分输入级可编程增益(TQFP 封装)的ADC,具有片内振荡器的可编程看门狗定时

5、器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展 Standby

6、模式下则允许振荡器和异步定时器继续工作。2、时钟电路 DS1302本系统时钟芯片选择了DS1302芯片,该芯片是DALLAS 公司推出的涓流充电时钟 芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行 通信实。时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰 年的天数可自动调整,时钟操作可通过AM/PM 指示决定采用24或12小时格式。DS1302与 单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:(1)RES(复位);(2)I/O( 数 据 线 );(3)SCLK(串行时钟)。时钟/RAM的读/写数据以一个字节或多达31个字节

7、的字符组方式通信。DS1302与ATmega16的接口电路图如图1所示:图 1DS1302 与 ATmega16 的接口电路图3、温度检测 DS18B20本万年历采用了美国 DAL-LAS公司最新推出的 DS18B20数字式温度传感器 ,并由 DS18B20和ATmega16组成了室温测量系统,可根据实际需要任意设定温度值,并进行自动控制。DS18B20 是美国DALLAS 公司继DS18B20 之后推出的增强型单总线数字式温度传感 器,它在转换速度、转换时间、传输距离、分辨率等方面较DS18B20 有了很大的改进,给 用户带来了更方便、更令人满意的效果。18B20与ATmega16的接口电路

8、如图2所示:图 2 18B20与 ATmega16 的接口电路图4、液晶显示液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件。本设计中拟显示内容如表1所示。 表1 lcd12864画面1显示内容20090601星期一己丑年五月初九芒种19:25:0829.1度5、键盘接口按键输入部分主要用于时间调整、定时设置、闹钟设置以及查询公历某日对应的农历日期,最终确定由四个按键来实现上叙功能,由于按键比较少,所以用普通按钮接在 I/O 口,启用 I/O 口的内部上拉电阻,用查询法完成读键功能。6、语音闹铃模块报时是本套数字万年历的一个重

9、要功能,报时器可用蜂鸣器和扬声器来实现,本次设计采用蜂鸣器实现闹铃报时。由于单片机I/O引脚输出的电流较小,所以单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。本次设计采用了一个很简单的电路来实现蜂鸣器的连接,利用一个三极管来放大驱动蜂鸣器,电路连接如图3所示。在本设计电路中,设计者采用PNP管9012来做为控制蜂鸣器的开关,由图3-3可以看出当PD6引脚为高电平时,PNP管截止,蜂鸣器不工作;当PD6引脚为低电平时,PNP管导通,蜂鸣器工作,其中R2为限流电阻。采用PNP管9012的作用是为了防止系统上电时峰鸣器发出声音,因为系统复位以后,I/O口输出的是高电平。

10、用户可以通过程序控制PD6管脚的置低和置高来使蜂鸣器发出声音和关闭,同时,蜂鸣器的声音大小及音调可以通过调整PD6管脚的置高时间及输出的波形进行控制,这一点可以在调试程序的时候来实现。 图3 报时电路7、电源的设计电源变压器滤波电路整流电路稳压电路电源部分的设计目的就是为各个硬件提供工作电源。单片机ATmega16芯片,显示电路等都采用5V电源供电。具体的方案是用W7805集成稳压电源提供+5V的电压供给单片机。其原理是(以+5V为例介绍)用交流电220V通过变压器变压,变为交流的9V电压,再经过整流变为直流电后,再接一个W7805使其转换为所需的直流电作为外接电源。 稳压电源由电源变压器、整

11、流电路、滤波电路和稳压电路四个部分组成,如图4所示图4 稳压电源原理图电源变压器的作用是将来自电网的220V交流电压uI变换为整流电路所需要的交流电压u1。在稳压电源中一般用四个二极管组成桥式整流电路,整流电路的作用是将交流电压u2变换成脉动的直流电压u3。由于输入电压u3发生波动、负载和温度发生变化时,滤波电路输出的直流电压u3会随着变化。因此,为了维持输出电压U0稳定不变,还需加一级稳压电路。在本次设计中采用+5V电压所以选用H7805稳压器。它的主要特点如下:1.输出电流可达1A 2.输出电压有:5V 3.过热保护 4.短路保护 5.输出晶体管SOA保护光靠一个稳压器还不行,还需要有电容

12、或电阻与其连接才能得到较稳定的+5V电压。220V电压必须经过整流才可接到稳压器的输入端,则整个电源电路可分整流、滤波、稳压三部分。电路图如图5所示。图5 电源电路整流部分为桥式整流电路。滤波部分为带极性的电容,如图3-5中电容E2即为滤波电容其值取2200uF。 稳压部分接三端稳压集成芯片H7805,能输出5V稳压电源,电容C0来抵消输入线较长时的电感效应,以防止电路产生自激振荡,其容量较小,一般小于1uF。用E3消除输出电压中的高频噪声,并有滤波的作用。另外,二极管D5起保护作用。三 、系统软件设计本系统的软件部分主要要进行公历计算程序设计,公历转农历的算法的研究,温度 测量程序设计,按键

13、的扫描输入等。程序开始运行后首先要进行初始化,把单片机的各引脚的状态按程序里面的初始化命令进行初始化,初始化完成后运行温度测量程序,读取出温度传感器测量出来的温度,然后运行公历计算程序,得到公历的时间、日期信息 , 再运行按键扫描程序,检测有无按键按下,如果没有按键按下则直接调用公历转农历程 序,根据得到的公历日期信息计算出农历的日期和年号,如果有按键按下则更新按键修 改后的变量后送给农历计算程序,由农历计算程序根据修改后的变量计算出对应的农历 年份,计算完成后运行显示程序,显示程序将得到的温度数据、公历信息、农历信息送给对应的数码管让其显示。系统总体程序流程图如图6所示:修改变量开始初始化按

14、键显示输出结束读取温度读取时间扫描按键农历计算图6 系统整体流程图1、公历计算显示程序设计本系统使用的是时钟芯片 DS1302,公历程序主要完成从 DS1302 各个寄存器中读出 年、周、月、日、时、分、秒等数据,再进行处理。在首次对 DS1302 进行操作前,必 须对它进行初始化,然后从 DS1302 中读出数据,再经过处理后,送给液晶屏显示。公历程序流程图如图7所示:开始初始化DS1302DS1302开始振荡读取年、月、日、星期、时、分、秒将读取的数据处理后送液晶显示器图 7 公历计算程序流程图(1)DS1302内部寄存器DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD 码形式。其日历、时间寄存器及其控制字见表2。表2 DS1302的日历、时钟寄存器及其控制字寄存器名命令字取值范围各位内容写操作读操作76543210秒寄存器80H81H00-59CH10SECSEC分寄存器82H83H00-59010MINMIN小时寄存器84H85H01-12或00-2312/24010/APHRHR日期寄存器86H87H00-2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号