电子日历毕业设计论文.docx
- 文档编号:14442432
- 上传时间:2023-04-23
- 格式:DOCX
- 页数:41
- 大小:294.32KB
电子日历毕业设计论文.docx
《电子日历毕业设计论文.docx》由会员分享,可在线阅读,更多相关《电子日历毕业设计论文.docx(41页珍藏版)》请在冰豆网上搜索。
电子日历毕业设计论文
1绪论
1.1发展现状、目的及意义
单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
单片机具有体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机在出现时,Intel公司就给其单片机取名为嵌入式微控制器(embeddedmicrocontroller)。
单片机的最明显的优势,就是可以嵌入到各种仪器、设备中。
这一点是巨型机和网络不可能做到的。
单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:
定时器,比较器,A/D转换器,D/A转换器,串行通信接口,Watchdog电路,LCD控制器等。
随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步,最终人们可能发现:
单片机与微机系统之间的距离越来越小,甚至难以辨认。
同时,随着人们生活节奏的加快,时钟已经成为人们日常生活中的必需品,许多家用电器都带着时钟模块,而人们也不再满足于仅仅具有时间显示功能的时钟,对时钟功能的要求也越来越全面,单片机以其强大的功能成为多功能电子时钟的首选,为电子时钟的功能扩展提供了强大的支持,实现一物多用,提高电子时钟的使用价值。
当然们不再满足于电子时钟的计时显示功能时语音时钟在社会生活中已经得到了广泛应用,本文探讨的系统即为其中一种,给出的实现方案和系统设计过程中实现的单片机模拟单线总线通信方式,单片机模拟SPI通信方式,有一定参考价值。
此外,文中探讨的系统也对传统的语音时钟做了扩充,增加了数字温度计模块。
本设计详细介绍了该系统的组成和基本原理,中带你介绍了硬件设计的思想和软件设计的思路,保证在系统功能齐全,性能良好的前提下,最大限度的简化电路,降低系统的整体成本,提高系统的可靠性!
1.2设计内容
基于单片机的多功能时钟设计,主要探讨了一种带数字温度计的语音时钟的实现方案。
本方案采用单片机AT89S51作为控制单元,与数字温度芯片DS18B20接口获得温度数据,与实时时钟芯片DS1302接口获得时间/日历数据,通过与液晶模块OCM12864-1接口显示温度,时间和日历。
按键中断模块包含四个按键,分别与单片机INT0,INT1,T0,T1引脚连接,实现四个外部中断源,用以调整时间和闹钟,开关闹钟和控制语音报时。
语音报时通过语音芯片ISD4003-4和扬声器实现。
2系统总体设计
2.1总体框架设计
系统结构如图2-1所示。
本方案采用单片机AT89S51作为控制单元,与数字温度芯片DS18B20接口获取温度数据,与实时时钟芯片DS1302接口获取时间/日历数据,通过与液晶模块OCM12864-1接口显示温度、时间和日历。
图1中的按键中断模块包含了四个按键,分别与单片机的INT0,INT1,T0,T1连接,实现四个外部中断源,用以调整时间和闹钟,开关闹钟和控制语音报时。
图2-1系统结构图
2.2设计与运行环境
数字钟的程序设计和调试均在KeiluVision2环境下完成的。
设计并完成的程序下载至STC89C52单片机后,即可初始化时钟芯片DS1302从而开始计时,系统开始正常运行。
2.3硬件功能描述
(1)本设计采用DS1302实时时钟芯片来进行计时,并将1302的数据输入单片机进行处理,送入LCD1602液晶显示屏进行显示。
(2)用四个电位按键来实现对电子时钟的调试工作,当按第一下总控键时进入中断程序,即时钟的调整状态,有两个电位按键分别来调整时钟的加和减;第四个按键用来调整时分秒日月年,按一下调整秒,连按两下调整分,按三下调整时,四下调整日,五下调整月,六下调整年,七下退出时间设置。
(3)用一个按键和其他部件组成的复位电路与芯片连接来实现整个程序及硬件的重新复位功能。
3系统硬件设计
数字钟的电路主要有电源模块、显示模块、按键模块、复位电路模块、时钟芯片模块、主控芯片STC89C52模块和闹铃模块等7大模块组成。
3.1主控模块AT89S51
AT89S51是51系列单片机的一个型号,它是ATMEL公司生产的。
AT89S51是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89S51单片机可为您提供许多较复杂系统控制应用场合。
AT89S51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S51可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89S51有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
3.1.1AT89S51引脚图
AT89S51引脚图如图3-1:
图3-1AT89S51引脚图
3.1.2AT89S51功能
AT89S51为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
AT89S51的主要管脚有:
(1)XTAL1(19脚)和XTAL2(18脚):
振荡器输入输出端口,外接12MHz晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端;
P0~P3:
为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
(2)P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),
P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
Flash编程或校验时,P2亦接收高位地址和一些控制信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
(3)RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
(4)ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
(5)PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
(6)EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
(7)XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
(8)XTAL2:
振荡器反相放大器的输出
3.2实时时钟芯片DS1302
DS1302由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路,它可以对年、月、日、周、日、时、分、秒进行计时,且具有闰年补偿等多种功能。
DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。
DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。
3.2.1DS1302引脚功能
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进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在Vcc>2.0V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
I/O为串行数据输入输出端(双向),SCLK为时钟输入端。
3.2.2DS1302内部结构图
DS1302内部结构图如图3-2:
图3-2DS1302内部结构图
3.2.3DS1302的数据输入输出
在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7,数据读写时序如图3-3所示:
图3-3DS1302的数据输入输出
3.2.4DS1302的寄存器
DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。
其日历、时间寄存器及其控制字见表1.1。
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器的内容。
DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H--FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
表1.1DS1302日历、时间寄存器及其控制字
寄存器名
命令字
取值范围
各位内容
写操作
读操作
7
6
5
4
3
2
1
0
秒寄存器
80H
81H
00-59
CH
10SEC
SEC
分寄存器
82H
83H
00-59
0
10MIN
MIN
时寄存器
84H
85H
00-12/24
12/24
0
10
HR
HR
日寄存器
86H
87H
00-28/29/30/31
0
0
10DATE
DATE
月寄存器
88H
89H
00-12
0
0
0
10M
MONTH
周寄存器
8AH
8BH
01-07
0
0
0
0
0
DATE
年寄存器
8CH
8DH
01-99
10YEAR
YEAR
3.3电源模块的设计
电源模块采用7805进行稳压,保证+5V电压的稳定输出,进一步提高系统的抗干扰能力和稳定性。
电源模块的设计如图3-4所示:
图3-4电源模块的设计
3.4独立按键模块
系统有三个独立按键,独立按键S1、S2、S3分别接至单片机P3.2、P3.3、P3.4口。
S1用来功能选择,其功能可以用按键次数N来表示:
N=1:
校准计时的小时位N=2:
校准计时的分钟位
N=3:
校准闹铃的小时位N=1:
校准闹铃的分钟位
N=5:
退出
S2主要功能用来进行加一操作。
在有功能选择的情况下,无论选中那一种功能操作,按下S2即进行一次加一操作,在没有功能选择的情况下,系统不响应此按键的任何操作。
S3用来控制闹铃的开或者关,在任意时间只要按下此键即可打开(或关闭)闹铃,在按键一次就可以关闭(或打开)闹铃。
闹铃模块的设计如图3-5所示:
图3-5闹铃模块的设计
3.5显示模块
一个良好的显示模块对一个系统非常重要,所有操作结果和计时结果,都要通过显示模块来显示出来。
同时显示模块提供了良好的人机交互平台。
常用的显示模式有LED7段数码管显示、点阵显示和液晶显示。
液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。
但由于液晶其成本也偏高。
在使用时,不能有静电干扰,否则易烧坏液晶的显示芯片。
鉴于LED7段数码管成本低,也比较容易实现的特点,最终确定使用共阴极数码管来显示。
本系统显示模块电路由一块74HC573、一块74HC138芯片和两个四位一体7段数码管组成。
74HC573用来驱动数码管,74HC573的Q0~Q7分别接四位一体数码管的A~dp。
74HC138控制位选。
显示模块的设计如图3-6所示:
图3-6显示模块的设计
3.6复位电路模块
复位电路主要的功能是是整个系统初始化,在每次上电时系统自动初始化,如果在程序运行的过程中程序没有响应或者需要进行一次初始化,这是可以通过按复位开关来实现需要的有效操作。
复位电路模块的设计如图3-7所示:
图3-7复位电路模块的设计
3.7闹铃模块
闹铃模块由蜂鸣器和蜂鸣器的驱动组成。
在有闹铃发生的时候,蜂鸣器的驱动电路驱动蜂鸣器发声,产生闹铃的效果。
闹铃模块的设计如图3-8所示:
图3-8闹铃模块的设计
4系统软件设计
4.1主程序设计
包含主程序设计、语音芯片录放音程序设计、实时时钟程序设计、温度芯片程序设计、液晶显示程序设计五部分。
该数字电子时钟程序设计如下:
(1)在程序头将设计中的一些IO口进行分配并注释。
(2)初始化程序,对单片机的IO口设置为输入输出等,对1302,1602的参数进行设置,如设定时钟运行为24小时制;将一些未到时钟设计功能的功能端口关闭等。
(3)开始主程序进行程序扫描,先扫初始化字子程序初始化DS1302和LCD1602,启动时钟芯片进行计时,初始化1602的显示方式,将分配好的时分秒等数字调入到显示子程序中。
——>显示子程序通过分配的空间对应口将DS1302时钟芯片的数据显示相应的时分秒,年月日等。
——>进入按键扫描,判断按键是否有变动,若有就根据设计程序对相应的按键按入次数而进行实现相应的功能。
如进入时间调整,中断进入、退出等。
——>最后返回主程序头重新依次扫描。
显示过程设有消隐,按键通过软件去斗。
(4)子程序部分。
在主程序的调用下依据不同的子程序工能而编写子程序,有多级嵌套。
这些子程序包括显示子程序、延时子程序、时间计数子程序、按键处理子程序、调时间子程序等。
4.2主程序流程图
主程序流程图如图4-1所示:
图4-1主程序流程图
4.3读DS1302中断及闹铃检测流程图
读DS1302中断及闹铃检测流程图如图4-2所示:
图4-2读DS1302中断及闹铃检测流程图
5结论
通过这次毕业设计,不仅将以前的知识来个总结,而且也学到了新知识。
这应该也是为什么学校要让我们做毕业设计的原因吧。
出去工作了,工作对不对口还说不定,如果把两年学习的知识忘的一干二净了,那太对不起自己更对不起父母和老师!
当我做我的毕业论文“基于DS1302数字时钟电路的设计”的时候就感觉到以前的知识都忘的差不多了,不过庆幸的事,以前打了好基础,在做之前把以前的知识在认真的看一遍也差不多。
不过,这次我用的方法跟以前大不相同。
语音芯片ISD4003-4和数字温度芯片DS18B20这两方面知识,我在大三的时候学过一点,但是那是一心想出去,就没有认真的去学。
做毕业论文的时候是从今年刚开始的,所以时间还是比较充足的,跟指导老师商讨,确定下来题目,压力是比较大的,语音芯片ISD4003-4和数字温度芯片DS18B20这两方面知识是从没接触过的,但是也考虑到时间的充足就想给自己一个机会,锻炼自己,所以刚开始得先学习语音芯片ISD4003-4和数字温度芯片DS18B20这两方面知识,还要弄懂,理解及其运用它们。
语音芯片ISD4003-4和数字温度芯片DS18B20这两方面知识。
在遇到问题的时候能够及时的发现问题并解决问题。
在做的过程中也阅读了大量相关书籍,提高总结的动手能力,和自学能力,为以后的工作打下良好的基础。
在做论文的过程中,论文格式是让我很头疼的问题,对于论文格式的问题还是请教了老师和在网络搜索到方法。
通过这次设计我也摆脱了单纯的理论知识学习状态,和实际的设计的结合锻炼了我的综合运用所以的专业基础知识,解决实际问题的能力。
通过这次毕业设计,我相信单片机的发展前景非常广阔。
致谢
在论文完成之际,我首先向关心帮助和指导我的指导老师表示衷心的感谢并致以崇高的敬意!
在论文工作中,遇到了很多的问题,比如格式,比如内容…一直得到老师的亲切关怀和悉心指导,使我自己在论文写作上面有很大的进步,也感觉到老师的良苦用心,因为之前感觉自己在论文完成上的很大不足在老师的帮助下得到了很大的改进,即使是在外地实习期间老师依然在无时无刻的不在关心着我们,对我们的不定期打扰也能悉心的接受并耐心帮助,驱除了我们心中的小小罪恶感!
老师以其渊博的学识、严谨的治学态度、求实的工作作风和他敏捷的思维给我留下了深刻的印象,我将终生难忘………再一次向他表示衷心的感谢,感谢他为学生营造的浓郁学术氛围,以及学习、生活上的无私帮助!
值此论文完成之际,谨向指导老师致以最崇高的谢意!
在学校的学习生活即将结束,回顾两年多来的学习经历,面对现在的收获,我感到无限欣慰。
为此,我向热心帮助过我的所有老师和同学表示由衷的感谢!
特别感谢我的同学们对我的学习和生活所提供的大力支持和关心!
初来乍到,幸好有他们的领导和帮助,我才能尽快的适应这个陌生而极具吸引力的环境,又因为他们我在其他的方面也能有所发挥,这份信任以及信任带来的自信是什么都取代不了的,我的校园生活多姿多彩多亏了有他们!
还要感谢一直关心帮助我成长的室友们!
她们给我带来的家的温暖使我在整个学习中有信心和力量战胜困难!
在我即将完成学业之际,我深深地感谢我的家人给予我的全力支持!
没有她们就没有我的今天,以后的路我会带着他们的祝愿和期望一直骄傲的走下去!
最后,衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授!
你们的谆谆教导使我在学业上受益匪浅,你们给的建议和意见将是我在学术上得到很大的提高,毕业走进社会后我们的心中只要还留着这份老师给的无私关怀就能坦然面对社会的人情冷暖!
参考文献
[1]王明顺,赵德平.可涓流充电的串行实时时钟芯片DS1302及应用设计[J].国外
电子元器件,1997
[2]高性能、低功耗带RAM实时时钟芯片DS1302.P&S武汉力源电子股份有限公司,1999
[3]ZYMCUAT89S51Datasheets
[4]黄明强.DS1302在单片机系统中的应用[J].保定师范专科学校学报,2004,17
[5]赵海兰,朱剑,赵祥伟.DS1302实时显示时间的原理与应用[J].电子技术术,2002,
(1)
[6]邓红,张越编著.单片机实验与应用设计教程[M].冶金工业出版社,2004,5
[7]孙雪梅,范久臣.实时时钟芯片在单片机系统中的应用[J].沈阳教育学院学报,2005,7
(2)
附录
附录1系统原理图
附图1系统原理图
附录2源程序清单
#include"stm8s105C_S.h"
ucharn1,n2,n3;
ucharu0,u1,u2,u3;
uchartable[]={"20--"};
uchartable1[]={":
:
"};
uchartable2[]={'0','1','2','3','4','5','6','7','8','9'};
uchartable3[]={"MonTueWedThuFriSatSun"};
uchartable4[]={"Happybirthday"};//16个字符
uchartable5[]={"<<<<
#defineuintunsignedint
#defineucharunsigne
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 日历 毕业设计 论文