数字钟万年历毕业设计论文.docx
- 文档编号:3586392
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:46
- 大小:327.84KB
数字钟万年历毕业设计论文.docx
《数字钟万年历毕业设计论文.docx》由会员分享,可在线阅读,更多相关《数字钟万年历毕业设计论文.docx(46页珍藏版)》请在冰豆网上搜索。
数字钟万年历毕业设计论文
毕业设计(论文)
基于单片机的多功能数字钟万年历设计
第一章 绪论
1.1课题研究的背景和意义
20世纪末是电子科技高科技年代,电子科技社会的发展带来很多方便,现代电子产品已经在各领域的推广,电子科技的发展,促进了社会生产力的发展,对一些电子行业了解社会信息的轻度也增强了,在发展得同时也让新一代的电子产品对性能有了进一步提高,使科技的发展的节奏也越来越好。
数字电子钟在广大人民群众里面已经成为生活中必需的必要品,它的设涉及领域比较广,在人类的生活中已经形成一种模式,比如说,一些车站、个人家庭,还有一些公共场所,及其一些办公室用品,到处都可以见到数字电子钟。
带来极大的方便对于人们的生活。
随着数字集成电路技术是一项高新技术,使数字电子钟的精度更先进的石英技术的使用。
稳定结构,在同行业有很大的优势,其时间函数和控制功能相对先进,在各个领域的好评。
本论文设计所用到的单片机是大家经常用到的STC90C51单片机,此款单片机里面最容易见到的就是数字时序模块,它是一种对时、分、秒进行计时的一种结构,在数字电路技术中非常常见,相对于机械式时钟好得多,因为在时间准确性和外观上都占有优势,内部没有机械装置,在使用寿命上也比较长,所以在人们的生活中也有广泛的应用。
数字电子钟的计时装置是使用了数字电路中的时序计时功能,能对时、分、秒进行准确的计时。
在时间的精度上讨论,我们现在所用到的都是使用石英晶体振荡器还有数字集成电路在一起做成的数字电子时钟,它的发展及应用,逐渐使一些老式的钟表,比如:
机械式钟表等等。
慢慢的逐渐的退出市场。
数字式时钟在定时功能上也有极大的发展,比如一些报警装置的定时,自动微波炉,还有一些大型设备的通断开关,广播的定时,及其各种电器设备的开关功能,等等,这些生活必需品,都是在数字电子技术为基础上发展起来的。
所以说,研究数字电子钟的发展,对人民社会大众的生活需要有极大的推动意义。
1.2国内外研究情况
上个世纪末,自从有了单片机以后,其具有的性价比较高,而且功能强大一直受到广大人民群众的青睐,其在使用范围上还有发展上都是很快的。
此款STC90C51单片机体积小,而且重量轻,在抗干扰能力上比较强,还有对环境要求不是很高,成本低,可靠性高,灵活性好,开发较为容易。
现在我们的生活当中各个方面都会设计到单片机,它的踪迹随处可见,所以在学习单片机上可以让这个社会有很大的提高,对于一些单片机人才将会带来极大的帮助,让他们更好的利用其价值,研究出许多为人类服务的高科技产品。
1.3设计思路与步骤
1.3.1设计思路
1.经过按键可以修改时间的设置,通过LCD显示屏对“年、月、日、星期、时、分、秒”的信息进行显示。
2.具有闹钟时间设置和闹铃功能,利用蜂鸣器进行闹铃。
当闹铃发生时,不想听到闹铃的声音,可以通过按键关闭闹铃的声音。
达到我们预期的效果。
3.利用温度传感器检测环境温度,并显示在LCD上。
1.3.2主要步骤
(1)查找资料了解当前数字电子钟的研究状况,发展前景,明确自己的论文设计方案,以及需要改进的方法。
(2)对51单片机的原理、硬件架构及实现步骤进行分析,设计电路和每部分的系统模块。
(3)对每一个部分的模块进行详细的规划,规划流程图,编写相应的程序。
(4)对单片机的功能进行调试完善。
(5)根据设计方案完成设计论文,并装订提交。
第二章系统设计方案
2.1总体设计方案
单片机制作数字电子钟的有多种方法,可供选择的器件和运用的技术也有很多种。
所以,系统的总体设计方案应在满足系统功能的前提下,充分考虑系统使用的环境,所选的结构要简单使用、易于实现,器件的选用着眼于合适的参数、稳定的性能、较低的功耗以及低廉的成本。
对于单片机的选择我有两个方案:
方案一:
采用AT51芯片作为硬件核心,采用FlashROM,内部具有4KB ROM 存储空间,能用于3V的超低电压工作,而且与MCS-51系列单片机完全兼容,且具有在线编程可擦除技术。
当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
方案二:
采用89C52芯片作为硬件核心,采用Flash ROM,能以3V的超低电压工作,而且与MCS-51系列单片机完全兼容,该芯片内部存储器为8KB ROM 存储空间。
同样具有AT89C52的功能,,由于AT89C52内部具有8KBROM存储芯片并且支持ISP在线编程,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
因此采用51单片机作为主控芯片。
利用单片机的智能性,可方便的实现具有智能的电子钟设计。
单片机具有时钟振荡系统,利用系统时钟借助微处理器的定时器/计数器可实现电子钟功能。
然而系统时钟误差较大,电子钟的积累误差也可能较大,所以通过误差修改软件加以修正,或者在设计高精度的时钟日历芯片,以精确时间,另外很多功能不同的单片机是兼容的,这就更便于实现产品的多功能性。
本设计所采用的系统,通过单片机控制模块的设计,设定时间,温度测量模块,模块,报警模块,显示模块,键盘接口模块与其他模块,下图为STC90C51单片机电路系统的框图:
图2-1系统框图
2.2系统工作原理
所用的DS1302芯片是本设计核心部件,它具有串行数据传输的特点,可以对电源的断电保护起到必要的功能,对电源的可编程充电功能提供随时关闭功能。
所用到的晶振是采用普通32.768KHz晶振。
还有用到的主要控制芯片是STC90C51作为主控芯片,时钟芯片采用具有定时功能的DS1302,等等,在通过其他软件的算法得出阴历日期可以直观的看到并显示在LCD上。
2.3预期功能
1.LCD显示“年、月、日、星期、时、分、秒”信息,并可通过键盘修改当前时间及年、月、日等信息;
2.实现闹钟时间设置和闹铃功能,利用蜂鸣器进行闹铃。
当闹铃发生时,能够通过按键取消闹铃;
3.温度传感器检测环境温度,并显示在LCD上;
4.显示国家法定节假日;
5.显示姓名班级;
6.显示年份的生肖。
第三章基于单片机数字电子钟的硬件设计
3.1STC90C51单片机的简介
STC90C51的型号单片机,内部包含4KB可以反复擦除只读程序内存和128字节的内存。
由于多功能8位CPU和闪存在单一芯片,ATMELAT89C51单片机的结合是一种有效的微控制器,它为许多嵌入式控制系统提供了一个高灵活性和低价格。
成品指令系统与MCS-51完全兼容;4KB可编程闪存;生活:
写1000次/刷周期;数据保留时间:
10年;所有静态工作:
0至24MHZ。
三级程序内存锁;128*8b内部RAM;32可编程I/O端口线;两个16位定时器/计数器。
五个中断源;可编程串行UART通道;可编程串行UART通道;一个芯片上的振荡器和断电保护模式。
3.1.1STC90C51的硬件结构
STC90C51单片机内部包括一个8位CPU;两个16位定时器/计数器。
64千字节扩展总线控制电路;可编程串行接口;5个中断源,包括两个嵌套优先级中断模块等。
下图是STC90C51单片机芯片内部结构原理图:
图3-1 STC90C51单片机芯片内部结构原理图
3.1.2STC90C51主要性能参数
本设计所采用的STC90C516RD单片机是一种高科技的具有许多先进功能的单片机,传统指令代码是完全兼容8051单片机。
以下为STC90C51单片机的功能特性:
1.提高6钟/机器周期。
2.工作电压:
5.5V。
3.操作频率范围:
0-40MHZ。
4.4K/6K/7K/8K/10K/12K/13K/16K/32K/40K/48K/56K/61K/字节
5.片上集成1280字节/512/256字节RAM
6.EEPROM功能
7.看门狗
8.内部集成MAX810特殊复位电路,外部晶体在12兆以下,外部复位电路能省掉,复位脚可以直接接地。
9.总共3个16位定时器/计数器和定时器0也可以用作两个8位定时器
10.外部中断4路,下降沿中断或低电平触发中断,断电模式可以通过外部中断触发低电平中断模式
11.通用异步串行端口(UART),还可以使用计时器软件实现多个UART
12.工作温度范围:
0-75℃/-40-+85℃
3.1.3STC90C51单片机适用领域
STC90C51系列的单片机具有抗干扰能力强等特点,它采用的是新一代的加密技术,防止代码单片机被破解。
而且具有大容量的存储,最高4.2k。
还有就是可以减少外部电磁辐射,低功耗,正常工作模式下,功耗4mA。
经济实用性强,在相对领域定会有广泛的应用市场。
以下是此款单片机的应用领域:
⒈与图像传感器测量线系统
⒉卫星电视的应用串行模拟SPI,I2C。
3.直接配合协调广告芯片传感器的各种数据。
4.使用232单片机和PC通信,单片机为控制对象。
⒌集成电路、单片机、PC机构成各种收费系统。
6通过单片机控制步进电机的完整的工业体系
7.通过单片机控制电气类设备的完整的工业体系,如程控交换系统)
⒏领域可以应用变频技术控制的电动机。
⒐水位计等测量工具,它广泛应用于水文。
⒑大型指针时钟控制器,主要是根据时间控制电机驱动指针。
11.使用定时器捕获能力和系统的测试。
可以提供报警、控制etc.Such水位控制、
温度控制、自动洗衣机,等。
12.电子称重计
13.教学用仪器、医疗仪器。
14.组成的数字单片机控制器夜光灯。
15.由热磁测量设备热处理。
16.各种金属探伤仪器。
17.矿山生产智能监测仪。
18.煤矿的产煤计数器
19.汽车安全系统
3.2STC90C51硬件结构
3.2.1运算器电路
计算单元ALU算术逻辑单元为核心,包含累加器ACC,基址寄存器,寄存器和标志寄存器PSW和许多其他地方,它可以实现算术和逻辑操作,操作,数据传输和处理。
计算单元ALU算术逻辑单元为核心,包含累加器ACC,基址寄存器,寄存器和标志寄存器PSW和许多其他地方,它可以实现算术和逻辑操作,操作,数据传输和处理。
累加器ACC(称为)一个8位寄存器,它是最常用的CPU寄存器,ALU操作期间,大部分的时间数据来自于累加器ACC,也是累加器ACC操作结果。
称为辅助寄存器,这是乘法和除法的命令。
乘法累加器和寄存器B存款乘数和被乘数乘法之前,整个流程计算完后,通过寄存器B和累加器A存放结果。
3.2.2控制器电路
单片机控制中心控制单元,它包括时间和控制电路、指令寄存器、指令译码器、程
序计数器(PC),堆栈指针SP,数据指针焦度和信息传送控制组件等首先基于振动信号的
CPU时间序列,从ROM检索出指令寄存器,然后在指令译码器译码指令,指令执行的产生各种控制信号,单片机内部的各种特性,产生相应的操作命令的所有特性,并完成相应的功能。
3.2.3内部存储器
程序内存芯片,存放计划指令,常数和数据表(只读)。
数据存储器RAM、存储的数据,可以分为内部和外部数据存储器(随机),单片机有256内存单元,作为使用的寄存器用户仅仅是第128单元,后128个被占用寄存器后内部RAM是指第一个128单元。
3.2.4单片机中断系统
CPU和外围交换信息,有一个快的CPU和慢的外设之间的矛盾。
这个问题是一个关键问题,为了解决类似的问题。
为此引入中断的概念,单片机一次只能处理一个任务,当好多任务需要处理的时候,就是需要单片机处理,通过中断可以实现多个任务的资源共享。
所谓的中断,当CPU处理事务时,如果外部或内部发生了紧急事件,问CPU暂停处理工作,处理紧急情况,处理后,回到原来的中断的地方,继续执行原来的中断程序,这个过程称为中断。
3.2.5时钟电路
当小于Vcc1Vcc2,DS1302Vcc1电源。
X1和X2振荡源,外部32.768kHz水晶振动。
RST重置/板线选择,通过RST输入驱动程序集高水平开始数据传输。
RST输入有两个功能:
首先,通过控制逻辑累加器,允许地址/命令序列的移位寄存器;第二,累加器提供终止单字节或多字节数据传输方法。
如果RST设置为低电平的过程中传播,可以终止数据传输,I/O针进入一个高阻抗状态。
电力运行,Vcc>2.0V,RST必须保持低水平。
只有在SCLK低电平时,累加器可以设置为高水平。
0ds1302有12个寄存器,包括七个寄存器与日历,时钟,BCD存储数据代码形式。
3.2.6并行串行I/O口
数据的并行输入/输出由四个8位并行I/O端口(P0,P1,P2,P3)组成这些端口负责数据的传输。
一个全双工串行端口,实现与外部串行数据传输。
3.2.7STC90C51单片机引脚图
STC90C51系列单片机8031、8051和8751由40针封装直接双排倾斜结构,下边是引脚配置,40针,两根,是权力和地面外石英振荡器时钟线两个,四组八个,共有32个I/O端口,中断线和P3线多路复用。
图3-2STC90C51引脚图
3.2.8总线
所有这些组件都通过总线连接,形成一个完整的单片机。
系统地址信号,信号和控制信号传输的数据总线,总线结构减少了单片机附件和别针,提高了集成和可靠性。
3.3系统模块介绍
3.3.1开发板模块
根据设计方案的分析,设计一个应用系统,你可以选择与低功耗、高性能可编程Flash,传统是完全兼容8051单片机指令代码,应用程序直接存储在芯片、内存,程序可
以简化电路,外部扩张,提高产品的可靠性。
本系统采用STC90C516RD+系列增强型单片机。
STC90C516RD实物如图3.1所示:
图3-3STC90C51开发板
3.3.2单片机最小系统设计
STC90C51与89C51内核相同,是89C51的升级版,具有比89C51更高的抗静电、抗干扰的能力;而且具有低功耗、高速、可靠、程序存储空间大的优点。
图3-4单片机最小系统
3.3.3DS1302时钟电路
DS1302在美国达拉斯的公司推出了一个高性能、低功耗、实时时钟芯片与内存,它可以,月,日,星期,时间,分和秒,当具有闰年补偿功能,工作电压2.5V至5.5V。
与CPU使用三线接口同步通信,并使用的方式打破了发送多个字节的时钟信号或RAM数据。
DS1302内部有31个x8内存寄存器用于临时存储数据。
DS1302具有闰年补偿和其他功能。
它使用主电源和备用电源双电源。
其工作电压范围从2.0V至2.0V,2.2V,少于300na。
它包含31个字节的静态内存,可以提供用户访问。
为年、月、日、周日、时、分和秒时间,可以满足我们的设计的需求基础。
我们调整的内部寄存器、闹钟定时提供主机空间。
备用电源也实现电力系统时,时钟仍然可以维持。
图3-5DS1302时钟电路
3.3.4温度采集系统电路
温度传感器是一种新型的达拉斯半导体公司在美国先进的智能温度传感器,它可以直接读取温度测量,直接用DS18B20温度测量,根据实际需求通过简单编程9~12的数字阅读方式。
图3-6温度采集电路
3.3.5键盘控制系统设计
按钮需要四个,分别调整时间,时间,时间增加,确认这四个功能。
四个单片机的I/O端口接收控制信号,一端连接到土地四个按钮,分别和另一端P2.3P2.2,P2.1P2.0相连。
这时当按键按下就输入低电平。
其电路图如下:
图3-7键盘控制电路
3.3.6报警电路设计
报警电路由四部分构成,主要是由蜂鸣器、三极管、电阻、构成,它们这样一
个整体与单片机的接口是P2.7。
电路图如下:
图3-8蜂鸣器
3.3.712864液晶显示电路设计
LCD12864液晶使用SCMP2数据输出端口,RS,R/W,E分别由10k的上拉电阻连接到单片机P2.0P2.1,P2.2。
VDD连接5v电源,VSS停飞。
v字形的液晶显示器对比度调
整方面,力量对比最弱,当接地电源当最高的对比,对比太高会产生“鬼”,当使用的电位器调整10k).RS登记的对比选择,高一级选择数据寄存器,低级别0选择指令寄存器。
R/W读/写信号,高水平
(1)读操作时,低水平(0)写作。
E(EN)或结束可以结束,下降沿可以make.P0.0P0.7相应B0-DB7双向数据总线,和最高DB7也是一个繁忙的信号检测。
BLA,一系列的背光显示分别为积极的和消极的。
逻辑工作电压(VDD):
4.5~5.5V 电源地(GND):
0V
这个模块有两种工作方式一种是并行的,一种是串行的。
显示电路设计从节能的角度,增加背光控制电路,持续时间大约10年代,课程时间调整,程序用户使用的方便,将通过滑动变阻器3针连接到电源,而不是在控制19引脚,因此背光熄灭后,仍然可以看到显示的内容。
电路图如下:
图3-9液晶显示电路
LCD12864系列点阵型液晶性能参数
一、OCM12864液晶显示模块概述。
1.OCM12864液晶显示模块128x64液晶模块,它可以显示各种字符和图形可以直接向CPU接口,和8位数据总线标准,6根线和电源线。
采用KS0107控制IC。
2.外观尺寸:
113×65×11mm(ocm12864-1),93×70×10mm(ocm12864-2)。
78×70×10mm(ocm12864-3)
3视域尺寸:
73.4×38.8mm(ocm12864-1)70.7×38mm(ocm12864-2),64×44mm(ocm12864-3)。
二、最大工作范围。
1、逻辑工作电压(Vcc):
4.5~5.5V。
2、电源地(GND):
0V。
3、LCD驱动电压(Vee):
0~-10V。
4、输入电压:
Vee~Vdd。
5、工作温度(Ta):
0~55℃(常温)。
6、保存温度(Tstg):
-10~65℃。
三、电气特性(测试条件:
Ta=25,Vdd=5.0+/-0.25V)。
1、输入高电平(Vih):
3.5Vmin。
2、输入低电平(Vil):
0.55Vmax。
3、输出高电平(Voh):
3.75Vmin。
4、输出低电平(Vol):
1.0Vmax。
5、工作电流:
2.0mAmax。
第四章数字电子钟的软件设计
在电子钟的软件设计之前,首先把源程序下载到STC90C51开发板上.测试是否能运行,确定开发版下载程序流畅。
4.1系统的流程
进入主界面后,打开液晶背光电源,后读DS18B20温度数据,然后阅读DS1302的时间数据,根据符号位选择更新温度数据或时间数据。
图5.1系统主流程图
4.2测温的流程
下图是读取DS18B20数据的程序流程图,首先将DS18B20初始化,避免出现错误数据
的传送,跳过rom之后读取温度数据,每次读入8个字节,当8个字节读取完毕后,将8
位数据一起移入温度暂存器。
图5.2测温流程图
以下是测温的流程程序
voidDS18B20Init(void)//DS18B20初始化
{
unsignedinti;
DS18B20=0;
i=103;
while(i>0)i--;
DS18B20=1;
i=4;
while(i>0)i--;
}
bitTempReadBit(void)//读一位
{
unsignedinti;
bitdat;
DS18B20=0;i++;//小延时一下
DS18B20=1;i++;i++;
dat=DS18B20;
i=8;while(i>0)i--;
return(dat);
}
unsignedcharTempRead(void)//读一个字节
{
unsignedchari,j,dat;
dat=0;
for(i=1;i<=8;i++)
{
j=TempReadBit();
dat=(j<<7)|(dat>>1);//
}
return(dat);//将一个字节数据返回
}
voidTempWriteByte(unsignedchardat)
{//写一个字节到DS18B20里
unsignedinti;
unsignedcharj;
bittestb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb)//写1部分
{
DS18B20=0;
i++;i++;
DS18B20=1;
i=8;while(i>0)i--;
}
else
{
DS18B20=0;//写0部分
i=8;while(i>0)i--;
DS18B20=1;
i++;i++;
}
}
}
voidTempChange(void)//发送温度转换命令
{
DS18B20Init();//初始化DS18B20
delayb
(1);//延时
TempWriteByte(0xcc);//跳过序列号命令
TempWriteByte(0x44);//发送温度转换命令
}
intGetTemp()//获得温度
{
floattt;
unsignedchara,b;
DS18B20Init();
delayb
(1);
TempWriteByte(0xcc);
TempWriteByte(0xbe);//发送读取数据命令
a=TempRead();//低位温度数据
b=TempRead();//高位温度数据
if(b&0x80)//如果温度为负
tem_flag=1;
else
tem_flag=0;
temp=b;
temp<<=8;
temp=temp|a;//两字节合成一个整型变量。
if(tem_flag)//如果温度为负转换为正
temp=~temp+1;
tt=temp*0.0625;//
temp=tt*10+0.5;//
returntemp;//返回温度值
}
4.3LCD显示流程
下图是在LCD显示屏上显示温度的数据处理程序流程图,初始化之后将之前RAM中的数据擦出,显示出个位之后显示十位数据。
图5.3LCD显示流程图
LCD的显示流程程序
voidWriteDataLCD(unsignedcharWDLCD)
{
CheckBusy();//检测忙
LCD_RS=1;//RS为高电平,DB7----DB0为数据
LCD_RW=0;//RW为低电平,E从高电平到低电平,则是把DB7----DB0的数据写到DR或者IR
LCD_E=1;
LCD_Data=WDLCD;//传送数据WDLCD
Delay(5);
LCD_E=0;//E从高电平到低电平
Delay(5);
/******************给LCD写入指令**********************/
voidWriteCommandLCD(unsignedcharWCLCD)//BuysC为0时忽略忙检测
{
CheckBusy();//检测忙
LCD_RS=0;//RS为低,DB7---
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 万年历 毕业设计 论文