基于AVR单片机万年日历的设计修改之后_第1页
基于AVR单片机万年日历的设计修改之后_第2页
基于AVR单片机万年日历的设计修改之后_第3页
基于AVR单片机万年日历的设计修改之后_第4页
基于AVR单片机万年日历的设计修改之后_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1基于AVR单片机万年日历的设计作者姓名刘红专业班级2010050102指导老师葛良全摘要本设计采用ATMEGA16单片机作为控制核心,DS1302芯片提供实时时钟数据和断电运行,DS18B20提供温度数据,ATMEGA16的片内EEPROM提供闹铃功能,实时时钟数据和温度数据由LCD1602显示,44矩阵按键修改时间和设置闹铃时间,形成可以单独显示时间,温度,调整时间,设置闹铃的万年日历。此万年日历比传统的电子时钟具有显示直观,功能多样等优点,同时提供断电运行,温度显示,闹铃等功能,更加适合日常应用,具有广阔的前景。关键词ATMEGA16,DS1302,DS18B02,LCD1602,万年日历2DESIGNOFPERMANENTCALENDARBASEDAVRSINGLECHIPMICROCOMPUTERABSTRACTTHISDESIGNUSINGATMEGA16MICROCONTROLLERASTHECOREFORTHECONTROLDS1302REALTIMECLOCKCHIPPROVIDESDATAANDPOWERTORUN,DS18B20PROVIDETEMPERATUREINFORMATIONTHISATMEGA16CHIPEEPROMPROVIDESALARMFUNCTIONREALTIMECLOCKDATAANDTEMPERATUREDATAFROMTHELCD1602DISPLAY44MATRIXKEYSAREUSEDTOMODIFYTHETIMEANDSETTHEALARMTIMETHISPERMANENTCALENDARCANSEPARATELYDISPLAYTHETIMEANDTEMPERATURE,ADJUSTTHETIMEANDSETTHEALARMCLOCKCOMPARINGWITHTRADITIONALELECTRONICCLOCK,THEPERMANENTCALENDARISMOREINTUITIVELYANDMULTIFUNCTIONALWHILEPROVIDINGPOWERTORUN,TEMPERATUREDISPLAY,ANDALARMFUNCTIONITISMORESUITABLEFOREVERYDAYUSEANDHASBROADPROSPECTSKEYWORDSATMEGA16,DS1302,DS18B02,LCD1602,PERMANENTCALENDAR成都理工大学2014届学士学位论文(设计)I目录第1章前言111选题研究的意义112国内外的研究现状113拟解决主要问题114主要研究内容1第2章方案选择和论证221单片机的选择与论证222显示模块的选择与论证223时钟模块的选择与论证324温度传感器的选择325键盘操作方案的选择326总体方案的决定4第3章系统硬件设计531系统主控模块5311ATMEGA16简介5312ATMEGA16的主要特性5313ATMEGA16的引脚532DS1302时钟模块6321DS1302简介6322DS1302主要特性6323DS1302引脚6324DS1302的应用633DS18B20测温模块7331DS18B20简介7332DS18B20主要特性7333DS18B20引脚7334DS18B20的应用834LCD1602显示模块8341LCD1602简介8342LCD1602的主要特性8343LCD1602引脚835键盘接口模块8351矩阵键盘简介9352矩阵键盘的应用936闹铃模块937系统主电路10第4章系统软件设计1141时钟函数12411时钟显示函数12成都理工大学2014届学士学位论文(设计)II412时钟调整函数1242温度显示13421温度读取函数13422温度显示函数1443闹铃函数15第5章软件调试17第6章硬件调试18结论22致谢23参考文献24成都理工大学2014届学士学位论文(设计)1第1章前言11选题研究的意义万年历从古时候就有,那时被称为宪书或通书,人们可以通过查看万年历知晓年,月,日,节气等信息。近些年来,单片机的应用已经深入到工业控制、仪器仪表、汽车电子、家用电器等众多领域,并促进了各个领域的技术进步和发展1。所以,将单片机技术应用在时钟系统上,能使时钟系统更加精准,便携,符合日常和专业应用需求。12国内外的研究现状近些年来,多功能电子时钟发生了很大的变化。单片机技术在电子时钟中运用广泛,对于电子时钟,人们非常熟悉。基于单片机的电子时钟设计,采用了灵活的编程语言,可以轻松完成多数电子时钟功能的扩展2。早期的电子时钟由单个数码管显示,随着电子科技的发展,数码管渐渐被液晶显示屏取代3。在满足人们的不同的需求的同时,其功能更是得到了极大地扩展。电子时钟的发展进入了一个新的阶段,更直观,功能多样化,更实用的电子时钟更加适合人们的日常生活。13拟解决主要问题近些年来,单片机的发展非常迅速,由于它集成度高,通用性好,稳定性强,功能多样的特点,已经在工业控制,家用电器,通信设备,信息处理等方面得到了广泛应用4。所以,将单片机技术应用在时钟系统上,能使时钟系统更加精准,便携,符合日常和专业应用需求。14主要研究内容采用ATMEGA16单片机作为控制核心,DS1302芯片提供实时时钟数据和断电运行,DS18B20提供温度数据,ATMEGA16的片内EEPROM提供闹铃功能,实时时钟数据和温度数据由LCD1602显示,44矩阵按键修改时间和设置闹铃时间。成都理工大学2014届学士学位论文(设计)2第2章方案选择和论证按照本设计的功能,初步确定系统由主控模块,时钟模块,显示模块,测温模块,键盘接口模块,闹铃模块六个模块构成,系统组成框图如图21所示。图21系统模块结构21单片机的选择与论证方案一采用AT89C51。AT89C51是一种带4K字节FLASH存储器,128字节内部RAM的低电压,高性能CMOS8位微处理器。运算速度较高,接口丰富,操作简单,技术成熟,成本低廉,普遍应用在各个领域5。方案二采用ATMEGA16。ATMEGA16是一种拥有16K字节可编程FLASH,512字节片内EEPROM,及1K字节SRAM的低功耗8位CMOS微控制器6。本设计功能较多,需要较多的临时运行空间,程序储存空间,对CPU运算速度要求较高,ATMEGA16更加符合设计要求。22显示模块的选择与论证方案一采用LED数码管。LED数码管价格便宜,容易操作,功耗低。方案二采用LCD液晶显示屏。液晶显示屏的功能强大,像素密度高,能显示大量文字,图形,且无辐射,硬件连接简单7。本设计功能较多,显示的内容也较多,一个7段LED数码管只能显示一个数字,显示的内容较多时需要较多的数码管,需要的成本较高,制作硬件电路时很难控制,LCD液晶显示屏更加符合设计要求。主控模块ATMEGA16时钟模块DS1302显示模块LCD1602测温模块DS18B02闹铃模块键盘接口模块成都理工大学2014届学士学位论文(设计)323时钟模块的选择与论证方案一直接采用单片机内部时钟提供的秒信号。方案二采用DS1302芯片提供时钟,由单片机读取DS1302存储的时钟数据。直接采用单片机内部时钟提供的秒信号,能够简化硬件电路设计,减少成本,但是单片机被复位或断电后时钟数据会丢失,不太适合日常生活实际应用,而DS1302芯片可以使用后备电池涓流充电功能,为掉电保护电源提供可编程的充电,主电源关闭的情况下时可以运行,采用DS1302芯片更加符合设计要求。24温度传感器的选择方案一采用AD590。AD590通过不同的电流反应不同的温度。能测量各种具体的电路,广泛应用于不同的温度控制。方案二采用DS18B20。DS18B20可以通过寄生电源供电,能实现单线多设备的连接,且具有内部RAM进行内部温度转换,简化线路设计与控制端的计算需求。AD590的电流和温度的线性相关性容易受到硬件电路的影响,且将电流转换为温度的程序设计复杂,采用DS18B20更加符合设计要求。25键盘操作方案的选择方案一采用独立键盘。独立键盘电路配置灵活,操作结构简单。方案二采用矩阵键盘。矩阵键盘利用行线和列线组成,按键处于行,列的交叉点上。使用较少的单片机I/O口可以操作较多的按键,简化电路设计,节约单片机I/O口。本设计功能较多,需要的操作多,采用矩阵键盘更加符合设计要求。成都理工大学2014届学士学位论文(设计)426总体方案的决定按照以上各模块方案,采用ATMEGA16单片机作为控制核心,DS1302芯片提供实时时钟数据和断电运行,DS18B20提供温度数据,ATMEGA16的片内EEPROM提供闹铃功能,实时时钟数据和温度数据由LCD1602显示,44矩阵按键修改时间和设置闹铃时间。成都理工大学2014届学士学位论文(设计)5第3章系统硬件设计31系统主控模块311ATMEGA16简介ATMEGA16是一种拥有16K字节可编程FLASH,512字节片内EEPROM,及1K字节SRAM的低功耗8位CMOS微控制器8。312ATMEGA16的主要特性增强的AVRRISC结构。32个8位通用工作寄存器。单周期指令执行时间。1K字节的片内SRAM。313ATMEGA16的引脚图31ATMEGA16引脚定义成都理工大学2014届学士学位论文(设计)632DS1302时钟模块321DS1302简介DS1302时钟芯片内含有一个实时时钟和31字节静态RAM,采用串行数据传输,与单片机之间进行通信仅需用到三个口线。DS1302芯片可以使用后备电池涓流充电功能,主电源关闭的情况下时可以运行9。322DS1302主要特性实时时钟记录秒分小时月星期和年信息,具有闰年补偿。宽范围工作电压20至55V。简单3线接口。适应工业温度范围40至85。323DS1302引脚图32DS1302引脚定义324DS1302的应用DS1302实时时钟芯片采用串行数据传输,芯片必须外接32768KHZ晶振,可为掉电保护电源提供可编程的充电功能,也可以关闭充电功能10。基于DS1302的时钟电路如图33所示。成都理工大学2014届学士学位论文(设计)7图331302时钟电路33DS18B20测温模块331DS18B20简介DS18B20数字温度传感器接线简单,耐磨耐碰,体积小,使用方便,封装形式多种多样,适合各种空间狭小的设备测温11。332DS18B20主要特性独特的单线接口方式,DS18B20与单片机之间进行通信仅需用到一个口线。测温范围为55到125。DS18B20在使用中不需要任何外围元件。电压范围30V到55V。成都理工大学2014届学士学位论文(设计)8333DS18B20引脚图34DS18B20引脚及定义334DS18B20的应用因为独特的单线接口方式,DS18B20与单片机之间进行通信仅需用到一个口线12。在设计环境中,为其连接外接电源,基于DS18B20的测温电路如图35所示。图35基于DS18B20的测温电路34LCD1602显示模块341LCD1602简介1602液晶,体积小、低功耗、显示内容丰富,常应用在低功耗系统中13。342LCD1602的主要特性5V电压,对比度可调,内含复位电路。有80字节显示数据存储器DDRAM。内建有192个5X7点阵的字型的字符发生器CGROM。8个可由用户自定义的5X7的字符发生器CGRAM。成都理工大学2014届学士学位论文(设计)9343LCD1602引脚图36LCD1602引脚定义35键盘接口模块351矩阵键盘简介矩阵键盘利用行线和列线组成,按键处于行,列的交叉点上。使用较少的单片机I/O口可以操作较多的按键,简化电路设计,节约单片机I/O口。352矩阵键盘的应用本设计中采用了程序控制的键盘扫描方式,利用CPU的正常工作周期循环检测键盘状态,之后跳入按键处理程序。键盘接口电路如图37所示。图37矩阵键盘接口电路36闹铃模块随着闹铃的设定,当实时时钟到达闹钟设定的时间时,通过单片机的I/O口连续输出高低电平,通过三极管驱动无源蜂鸣器发出响声。由频率计算公式得知,当需要给蜂鸣器输出1KHZ的方波时,每次正负电1/平的持续时间是T/2,即05MS。成都理工大学2014届学士学位论文(设计)10为了实现闹铃时钟的断电保存,本设计中使用了系统主控制器ATMEGA16的片内EEPROM储存时钟设定。闹铃电路如图38所示。图38闹铃模块电路37系统主电路主电路的功能是将所有器件连接起来,读取实时时钟的时钟数据和DS1302的温度数据送往LCD1602显示,并且相应键盘操作,提供时钟的校正和功能的切换。电路设计如图39所示,PA口提供对LCD1602的8位数据传输,PB口控制矩阵键盘的操作。PC0PC2提供LCD1602的控制操作,PC5PC7控制DS1302,同时为DS1302外接一个32768HZ晶振提供时钟震荡,并接两个12PF的电容接地。PD3连接DS18B20单总线数据接口,PD6为蜂鸣器输出方波信号。图39系统主电路设计成都理工大学2014届学士学位论文(设计)11第4章系统软件设计系统主程序主要包含对主控单片机端口的初始化,外接元件的初始化,对各个模块子程序的调用以及响应部分功能切换按键。否是图41主函数流程开始端口初始化LCD1602初始化DS1302初始化显示实时时钟读取EEPROM,对比实时时钟按键检测K0按下K6按下K7按下修改时间显示温度闹铃设置闹铃是否打开成都理工大学2014届学士学位论文(设计)1241时钟函数411时钟显示函数系统由DS1302提供时钟,所以程序只需从DS1302中读取BCD编码的时钟数据并转换为单个字节显示在LCD1602上。在首次使用时,必须对DS1302进行初始化14。时钟显示函数如图42所示。图42时钟显示函数流程图412时钟调整函数调整时间使用五个按钮,K0进入设置模式,K1设定光标位置,K2调整光标位的时钟,K3保存设置,K6放弃设置,整个时间调整函数流程如图43所示。开始初始化DS1302读取DS1302时钟数据将BCD码高低位拆分为单8BIT字节数据调用显示函数将时间显示在LCD上成都理工大学2014届学士学位论文(设计)13是是否是否是否是否图43时间调整函数流程42温度显示421温度读取函数在每次读取温度时,需要先初始化DS18B20时序,再向DS18B20写入温度转换命开始K0是否按下结束K1是否按下K2是否按下K3是否按下显示光标跳转当前光标位数值加一将设置保存进DS1302放弃所有设置回到主函数K6是否按下成都理工大学2014届学士学位论文(设计)14令,等待DS18B20将温度数据转换储存到内部RAM,最后读取RAM内的BCD码格式温度数据,按照高低位转换后,显示在LCD上15。函数流程如图44所示。是否图44温度读取函数流程422温度显示函数温度显示函数的主要功能是将读取来的二进制温度数据按照高低位转换为十进制数据并调用显示函数,将数据显示在LCD1602上,函数流程如图45所示。开始18B20是否存在初始化18B20时序写入温度转换指令读取温度数据结束成都理工大学2014届学士学位论文(设计)15图45温度显示函数流程43闹铃函数闹铃函数主要包含了闹铃的开关和设置,对ATMEGA16片内EEPROM的操作以及蜂鸣器的按键开启。主函数包含了按键检测及对各子函数功能模块的调用,流程如图46所示。开始获取二进制格式温度数据按照高低位分别转换为十进制将十进制数据写入LCD结束成都理工大学2014届学士学位论文(设计)16否是否是图46闹铃函数流程开始读取单片机EEPROM设置闹铃闹铃标志位是否为1结束K4是否五秒内按下成都理工大学2014届学士学位论文(设计)17第5章软件调试系统设计完成之后,我们应该先进行软件调试,查看是否实现了系统设计预期的功能。软件调试采用开发及仿真系统进行。系统软件调试时,首先在ICCAVR软件进行程序代码的编写,在编写过程中需要多次的编译,用来检测程序代码的错误。在程序代码编写完成,编译通过之后,会生成对应的HEX文件,需要利用生成的HEX文件进行仿真,在仿真软件上可以查看系统设计的功能是否实现。由于本设计的硬件使用开发板,硬件部分不需要自己去焊接等,可以将程序代码编译通过之后生成的HEX文件,直接烧写到芯片中,不需要事先经过仿真。ICCAVR编写与编译程序代码界面如图51所示。图51ICCAVR编写与编译程序代码界面成都理工大学2014届学士学位论文(设计)18第6章硬件调试在软件调试完成之后,利用USBISP下载器连接开发板与电脑,打开AVRFIGHTER烧写软件,将编译好的程序代码烧写到开发板ATMEGA16中,AVRFIGHTER软件烧写程序代码界面如图61所示。图61AVRFIGHTER软件烧写程序代码界面第一次进行硬件调试时,LCD1602液晶显示屏能够正常显示温度和时间,但是不可以调整修改时间与设置闹钟,我就检查了一下代码,查看是不是按键中断程序出错,检查按键中断程序,没有发现错误,我就换了一块LCD1602液晶显示屏,发现可以修改时间与设置闹钟。硬件实物图以及上电调试如图62所示。成都理工大学2014届学士学位论文(设计)19图62硬件实物图以及上电调试接通电源,打开电源开关,时间显示结果63所示。图63时间显示按下K0键,进入调整时间模式,按下K1键,移动光标到需要调整的位置,按下成都理工大学2014届学士学位论文(设计)20K2键调整光标位的时间,按下K3键保存设置,按下K6键放弃设置,时间调整如图64所示。图64时间调整按下K7键,检测闹铃模式是否打开,如图65所示。图65检测闹铃模式是否打开按下K4键,进入闹铃设置模式,按下K1键,移动光标到需要调整的位置,按下K2键调整光标位的时间,按下K3键保存设置,按下K6键放弃设置,如图66所示。成都理工大学2014届学士学位论文(设计)21图66设置闹铃按下K5键,显示温度,如图67所示。图67温度显示成都理工大学2014届学士学位论文(设计)22结论通过硬件调试,本设计实现了设计的所有功能,可以单独显示时间与温度,还可以调整时间与设置闹铃。本设计功能的实现正是基于系统硬件总体方案选择,系统软件设计的理论的正确性。本次设计的不足之处1闹铃设置只能设置时间,不能设置日期。2日期只能显示阳历,没有加入阳历转换为阴历的功能。通过本次设计,我对于AVR单片机有了更深的了解,对DS1302,DS18B20,LCD1206的工作原理也更加的熟悉,从毕业设计的任务书到最终的硬件设计结束,撰写论文,我查阅了很多资料,学习了很多知识,不仅让我了解了很多以前都没接触的东西,还锻炼了我对问题的分析能力。成都理工大学2014届学士学位论文(设计)23致谢从本次毕业设计的题目的选定到毕业设计的完成,我都非常感谢我的指导老师,在此次毕业设计的题目的选定时,我不知道从哪方面下手,做哪方面的课题,是我的指导老师在在认真的了解我自身所掌握的知识,结合我自己的想法,给我提出了一些意见,让我下定决心,选择了这个课题。在软硬件的设计过程中,我遇到了困难,没有办法继续做下去的时候,也是我的指导老师的一些想法让我茅塞顿开。感谢我的指导老师陪我走过大学的最后一段历程,感谢在我困惑的时候给我予帮助的学长们。没有你们的帮助,我就没有办法顺利的完成我的毕业设计,谢谢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论