基于单片机的电子万年历设计毕业设计.docx
《基于单片机的电子万年历设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子万年历设计毕业设计.docx(50页珍藏版)》请在冰豆网上搜索。
基于单片机的电子万年历设计毕业设计
XX学院
毕业设计(论文)
题目:
基于单片机的电子万年历设计
院系:
电子工程学院
专业:
电子科学与技术
班级:
学生姓名:
导师姓名:
职称:
教授
起止时间:
2010年03月09日至2010年06月20日
西安邮电学院
毕业设计(论文)任务书
学生姓名
指导教师
职称
教授
院系
电子工程学院
专业
电子科学与技术
题目
基于单片机的电子万年历设计
任务与要求
一、任务:
设计基于单片机的电子万年历,达到同时显示年、月、日、时、分、秒的要求。
利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。
同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。
二、要求:
1、熟悉单片机,C语言等相关知识。
2、学会使用KeilC软件开发环境。
3、定时器整体硬件设计,中断系统设计,软件编程,系统调试等。
4、能自己独立解决设计中的问题,加强自主学习能力。
5、成果形式:
软件程序,硬件模块,论文。
开始日期
年月日
完成日期
年月日
系主任(签字)
年
月
日
西安邮电学院
毕业设计(论文)工作计划
学生姓名____指导教师___职称教授_
院别_____电子工程学院_______专业电子科学与技术__________
题目基于单片机的电子万年历设计
工作进程
第一周至第二周熟悉课题,找导师了解设计的相关事宜,搜集相关资料
第三周至第四周认真的研读相关资料,找出其中对自己有用的部分,加以整理
第五周至第六周花两周时间学好KeilC软件的使用,做一些对自己的设计有用的编程
第七周至第八周编写程序,熟悉8051单片机
第九周至第十周下载程序,调试结果
第十一周至第十二周撰写毕业论文,准备答辩。
主要参考书目(资料)
主要参考书目(资料)
1、单片机原理及应用2、单片机原理及接口技术
3、单片机编程实例4、单片机实验教程
相关网站:
www.dpj-
主要仪器设备及材料
1、计算机及配套软件
2、单片机
3、元件若干
论文(设计)过程中教师的指导安排
除每周定时具体指导外,学生有问题也可随时联系指导。
对计划的说明
如有特殊原因可适当调整,否则按计划执行。
XX学院
毕业设计(论文)开题报告
电子工程学院电子科学与技术专业级班
课题名称:
基于单片机的电子万年历设计
学生姓名:
学号:
00
指导教师:
报告日期:
2010年3月15号
1.本课题所涉及的问题及应用现状综述
在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。
为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。
钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能——计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一,没有更大程度上的满足人们的需求。
因此在这里,我想能不能把一些辅助功能加入钟表中。
在此设计中所设计的钟表不但具有普通钟表的功能,它还能实现额外的功能:
世界时、农历显示。
人类不断研究,不断创新纪录。
发展到现在人们广泛使用的电子万年历。
电子万年历是采用基于单片机以实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得电子钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表电子化为基础的。
因此,研究电子万年历及扩大其应用,有着非常现实的意义。
它可以对年、月、日、时、分、秒进行计时,对于电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒等信息,还具有时间校准等功能。
2.本课题需要重点研究的关键问题、解决的思路及实现预期目标的可行性分析
关键问题:
(1)系统硬件的设计与实现;
(2)系统软件总体的设计和调试,以实现完成年、月、日、时、分、秒的控制与显示;
(3)中断模块的设计;
(4)定时计数模块的设计;
解决思路:
该电子万年历使用12MHZ晶振与单片机8051相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。
利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。
同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。
可行性分析:
由于深入学习过单片机原理及应用、模拟电路、数字电路与逻辑设计、C语言程序设计、电路分析、传感器原理及应用等课程,并应用所学知识做过一些相关的实验项目。
而本课题是对所学知识的综合运用,都是比较成熟的技术,因此实现难度不是很大,方案可行。
3.完成本课题的工作方案
第一周至第二周查阅资料了解关于寄存器,中断,数码管显示的相关知识。
第三周至第四周学习各种配套软件的原理和应用,确定需要的型号。
第五周至第六周设计各个模块的程序,并进行调试。
第七周至第八周调试各个模块,购买相应的单片机,下载调试程序,性能分析。
第十周至第十一周调试成功,实现设计的目的,完成设计。
第十二周至第十三周撰写毕业论文,准备答辩。
4.指导教师审阅意见
指导教师(签字):
年月日
说明:
本报告必须由承担毕业论文(设计)课题任务的学生在毕业论文(设计)正式开始的第1周周五之前独立撰写完成,并交指导教师审阅。
XX学院毕业设计(论文)成绩评定表
学生姓名
性别
男
学号
专业班级
课题名称
基于单片机的电子万年历设计
课题
类型
硬件
设计
难度
较难
毕业设计(论文)时间
2010年03月09日~06月20日
指导教师
(职称教授)
课题任务
完成情况
论文(千字);设计、计算说明书(千字);图纸(张);
其它(含附件):
指导教师意见
分项得分:
开题调研论证分;课题质量(论文内容)分;创新分;
论文撰写(规范)分;学习态度分;外文翻译分
指导教师审阅成绩:
指导教师(签字):
年 月 日
评
阅
教
师
意见
分项得分:
选题分;开题调研论证分;课题质量(论文内容)分;创新分;
论文撰写(规范)分;外文翻译分
评阅成绩:
评阅教师(签字):
年 月 日
验收小组意见
分项得分:
准备情况分;毕业设计(论文)质量分;(操作)回答问题分
验收成绩:
验收教师(组长)(签字):
年 月 日
答
辩
小组
意
见
分项得分:
准备情况分;陈述情况分;回答问题分;仪表分
答辩成绩:
答辩小组组长(签字):
年月日
成绩计算方法
(填写本系实用比例)
指导教师成绩20(%)评阅成绩30(%)验收成绩30(%)答辩成绩20(%)
学生实得成绩(百分制)
指导教师成绩评阅成绩验收成绩
答辩成绩总评
答辩委员会意见
毕业论文(设计)总评成绩(等级):
系答辩委员会主任(签字):
系(签章)
年月日
备
注
XX学院毕业论文(设计)成绩评定表(续表)
摘 要
单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。
单片机是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
而51系列单片机是各单片机中最为典型和最有代表性的一种。
这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。
本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。
系统由主控制器AT89C51、显示电路、按键电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进行年、月、日、时、分、秒的显示。
关键词:
单片机、万年历、C语言
Abstract
Single-ChipMicrocomputerapplicationtechnologydeveloprapidly,lookingaroundusnowinallspheresoflife,frommissiles,navigationequipment,tothevariousinstrumentsontheaircraftcontrolfromacomputernetworkcommunicationsanddatatransmission,industrialautomationtoreal-timeprocesscontrolanddataprocessing,andourlivesextensiveuseofthesmartcard,electronicpets,whichisinseparablefromthemicrocontroller.Monolithicsingle-chipisthesetofCPU,RAM,ROM,thetiming,numberandvarietyofinterfaceintegratedmicrocontrollers.Itssmallsize,lowcost,highperformance,whicharewidelyusedinsmartindustries,andindustrialautomation.And51SeriesSCMisthemosttypicalandthemostreprese
ntativeone.ThegraduationdesignThroughthestudy,andtherebyachievethestudy,design,developmenthardwareandsoftwarecapabilities.
Basedonamicrocontrollerbasedonthewilltoachievecalendarofamulti-functionalelectronicclockdesign,TherebyachievestudyingandunderstandingtherelevantdirectivesMCUinallaspectsoftheapplication.BymaincontrolAT89C51、keystrokecircuitandrestorecircuitcomponented,toachieveclockcalendardisplayfunctioncanbecarriedout,hourssecondsoftheshowandreal-timetemperaturedisplay.
Keywords:
Monolithicsingle-chip,lunarcalendardemand,perpetualcalendars
引言
随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。
单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。
而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。
因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。
而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。
数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢迎。
LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。
所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。
第一章绪论
1.1立题背景
在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。
为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。
钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能——计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一,没有更大程度上的满足人们的需求。
因此在这里,我想能不能把一些辅助功能加入钟表中。
在此设计中所设计的钟表不但具有普通钟表的功能,它还能实现额外的功能:
世界时、农历显示。
人类不断研究,不断创新纪录。
发展到现在人们广泛使用的电子万年历。
1.2电子万年历的发展现状及前景
电子万年历是采用基于单片机以实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得电子钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表电子化为基础的。
因此,研究电子万年历及扩大其应用,有着非常现实的意义。
它可以对年、月、日、时、分、秒进行计时,对于电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒等信息,还具有时间校准等功能。
综上所述此电子万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
1.3本课题需要重点研究的关键问题、解决的思路及实现预期目标的可行性分析
该电子万年历使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。
利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。
同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。
电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。
若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。
若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们生自主研发。
所以在该设计与制作中我选用了单片机8051,它是低功耗、高性能的CMOS型8位单片机。
因此,采用单片机8051原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们生来说也更加有用。
第二章单片机
2.1单片机简介
2.1.1单片机原理
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
2.1.2单片机历史
1)SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。
“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。
在开创嵌入式系统独立发展道路上,Intel公司功不可没。
2)MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:
不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。
它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。
从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。
在发展MCU方面,最著名的厂家当数Philips公司。
2.1.3单片机应用领域
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
2.2定时/计数器
2.2.1定时/计数器的结构
定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。
TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。
组成图如下图(2.1)
图(2.1)
2.2.2定时/计数器的工作原理
加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。
每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。
如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。
2.2.3定时/计数器的控制
80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。
TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。
1)工作方式寄存器TMOD
工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。
其格式如下表(2.2):
表(2.2)
GATE:
门控位。
GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。
即此时定时器的启动条件,加上了或引脚为高电平这一条件。
:
定时/计数模式选择位。
=0为定时模式;=1为计数模式。
M1M0:
工作方式设置位。
定时/计数器有四种工作方式,由M1M0进行设置。
设置表如下表(2.2.1)
表(2.2.1)
2)控制寄存器TCON
TCON的低4位用于控制外部中断,已在前面介绍。
TCON的高4位用于控制定时/计数器的启动和中断申请。
其格式如下表(2.3):
表(2.3)
vTF1(TCON.7):
T1溢出中断请求标志位。
T1计数溢出时由硬件自动置TF1为1。
CPU响应中断后TF1由硬件自动清0。
T1工作时,CPU可随时查询TF1的状态。
所以,TF1可用作查询测试的标志。
TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。
vTR1(TCON.6):
T1运行控制位。
TR1置1时,T1开始工作;TR1置0时,T1停止工作。
TR1由软件置1或清0。
所以,用软件可控制定时/计数器的启动与停止。
vTF0(TCON.5):
T0溢出中断请求标志位,其功能与TF1类同。
vTR0(TCON.4):
T0运行控制位,其功能与TR1类同。
2.2.4定时/计数器的工作方式
方式1
方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器。
原理图如下图(2.4):
图(2.4)
计数个数与计数初值的关系为:
定时时间=(216-T0初值)×时钟周期×12
2.2.5定时器的初始化过程
(1)根据要求选择方式,确定方式控制字,写入方式控制寄存器TMOD。
(2)根据要求计算定时/计数器的计数值,再由计数值求得初值,写入初值寄存器。
(3)根据需要开放定时/计数器中断。
(4)设置定时/计数器控制寄存器TCON的值,启动定时/计数器开始工作。
(5)等待定时/计数时间到,则执行中断服务程序;如果查询处理则编写查询程序,判断溢出标志,溢出标志等于1,则进行相应处理。
2.3中断系统
2.3.1中断概述
中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须中止原程序的执行,转去执行相应的处理程序,待处理结束之后,再回来继续执行被中止的原程序的过程。
2.3.2中断的主要功能及优先级
1)实现CPU与外部设备的速度配合
2)实现实时控制
3)实现故障的及时发现与处理
4)实现人机联系
中断优先级越高,则响应优先权就越高。
当CPU正在执行中断服务程序时,又有中断优先级更高的中断申请产生,这时CPU就会暂停当前的中断服务转而处理高级中断申请,待高级中断处理程序完毕再返回原中断程序断点处继续执行,这一过程称为中断嵌套。
2.3.380C51定时中断
定时中断是为满足定时或计数的需要而设置的。
当计数器发生计数溢出时,表明设定的定时时间到或计数值满,这时可以向CPU申请中断。
由于定时器/计数器在单片机内部,所以定时中断属内部中断。
80C51有二个定时中断源,即:
(1)TF0(P3.4)—T0溢出中断
(2)TF1(P3.5)—T1溢出中断
2.3.4中断响应的过程
(1)在每条指令结束后,系统都自动检测中断请求信号,如果有中断请求,且CPU处于开中断状态下,则响应中断。
(2)保护现场,在保护现场前,一般要关中断,以防止现场被破坏。
保护