刘涛论文最新 修复的.docx

上传人:b****7 文档编号:9245386 上传时间:2023-02-03 格式:DOCX 页数:71 大小:259.12KB
下载 相关 举报
刘涛论文最新 修复的.docx_第1页
第1页 / 共71页
刘涛论文最新 修复的.docx_第2页
第2页 / 共71页
刘涛论文最新 修复的.docx_第3页
第3页 / 共71页
刘涛论文最新 修复的.docx_第4页
第4页 / 共71页
刘涛论文最新 修复的.docx_第5页
第5页 / 共71页
点击查看更多>>
下载资源
资源描述

刘涛论文最新 修复的.docx

《刘涛论文最新 修复的.docx》由会员分享,可在线阅读,更多相关《刘涛论文最新 修复的.docx(71页珍藏版)》请在冰豆网上搜索。

刘涛论文最新 修复的.docx

刘涛论文最新修复的

天津职业技术师范大学

TianjinUniversityofTechnologyandEducation

 

毕业设计

 

专业:

电气技术教育

班级学号:

电气0611-17

学生姓名:

刘涛

指导教师:

路海龙讲师

 

二〇一一年六月

 

天津职业技术师范大学本科生毕业设计

 

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

TheDesignOfMulti-FunctionCalendarBasedonMicrocomputer

 

专业班级:

电气0611班

学生姓名:

刘涛

指导教师:

路海龙讲师

学院:

自动化与电气工程学院

 

2011年6月

摘要

单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。

单片机是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。

它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。

而51系列单片机是各单片机中最为典型和最有代表性的一种。

本设计以AT89S52单片机为核心,结合DS1302时钟芯片,并采用LCD12864液晶显示。

该多功能电子万年历具有时间显示、及具有温度计功能功能。

以时、分、秒格式显示时间(精度为1秒)。

计算器通过4×4按键对时间、日期进行调整,进行功能切换。

同时具有自动调整功能。

整机电路使用+5V稳压电源,可稳定工作。

在实现硬件电路的基础上,通过软件控制程序实现其功能。

关键词:

状态显示;时钟;温度;计算器;AT89S52单片机

ABSTRACT

Withtherapiddevelopmentofmicrocomputerapplicationtechnology,wenowlookatallareasoflife,fromthemissile'snavigationdevicestovariousinstrumentsontheaircraft,fromthecomputernetworkcommunicationanddatatransmission,toindustrialautomation,real-timeprocesscontrolanddataprocessing,andweliveinavarietyofwidelyusedsmartICcards,electronicpets,theseareinseparablefromthemicrocomputer.MicrocomputerisaCPU,RAM,ROM,timing,countingandmultipleinterfacesinoneofthemicrocomputer.Itssmallsize,lowcost,powerful,widelyusedinsmartindustriesandindustrialautomation.The51microcomputerseriesisthemosttypicalofthemicrocontrollerandthemostrepresentativeone.TheAT89S52microcomputerasthecoredesign,combinedwithDS1302clockchipandliquidcrystaldisplayusingLCD12864.Themulti-functionelectroniccalendarwithatimedisplay,andhasathermometerfunctionfunction.Hours,minutes,secondsformattime(anaccuracyof1second).4×4Calculatorbykeysonthetime,date,adjustthefunctionswitch.Alsohasautomaticadjustmentfunction.Machineusingthe+5Vregulatedpowersupplycircuitcanbestability.Intherealizationofhardwarebasedonsoftwarecontrolprogramtoachieveitsfunction.

KeyWords:

Statusdisplay;Clock;Temperature;Calculator;AT89S52Microcomputer

目录

1绪论1

1.1多功能万年历设计的背景及意义1

1.2总体要求和规划1

1.2.1方案选择与论证1

1.2.2电路设计最终方案2

1.2.3主要技术指标3

2主要元器件简介4

2.1AT89S524

2.2温度传感器DS18B206

2.3DS1302时钟芯片8

3系统硬件电路的设计9

3.1系统总体硬件结构设计9

3.2AT89S52及其外围电路9

3.2.1温度传感器DS18B2012

3.2.2液晶显示电路15

4软件设计17

4.1系统总软件的设计流程17

4.2DS18B20的软件设计17

4.3键盘输入的软件设计19

5测试过程及结果20

5.1硬件测试20

5.2软件测试20

5.3测试结果20

结论21

参考文献22

附录1:

整体电路图23

附录2:

源程序24

致谢56

1绪论

1.1多功能万年历设计的背景及意义

随着当今世界经济的快速发展和信息化时代的来临,各种各样的小型智能家电产品陆续出现在我们的生活当中。

日历是人们不可或缺的日常用品。

但一般日历都为纸制用品,使用不便,寿命不长。

电子万年历采用智能电子控制和显示技术,改善了纸制日历的缺陷。

本设计以AT89S52单片机为核心,构成单片机控制电路,AT89S52是一种带8K字节闪速可编程可擦除只读存储器(PEROM)的低电压、高性能CMOS8位为控制器。

该器件采用ATMEL非易失存储器制造技术制造,与工业标准的80C51和80C52指令集和输出管脚相兼容。

结合DS1302时钟芯片和24C02FLASH存储器,完成时间的自动调整和掉电保护,全部信息用液晶显示。

时间、日期调整由三个按键来实现,并可对闹铃开关进行设置。

日历能显示阳历和阴历年、月、日以及星期、时、分、秒。

在显示阴历月份时,能标明是否闰月。

此万年历具有读取方便、显示直观、功能多样、电路简单、成本低廉等诸多优点,符合电子仪表的发展趋势,具有广阔的市场前景。

二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。

电子万年的开发与研究在信息化的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。

所以说电子年历的开发是国家之所需,社会之所需,人民之所需。

由于社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且投入市场得到广泛应用。

1.2总体要求和规划

1.2.1方案选择与论证

(1)显示模块选择方案和论证:

方案一:

采用LED数码管动态扫描,LED数码管价格适中,对于显示数字较合适,但它的硬件电路复杂,没有汉字显示,需要的接口线多,并且显示起来不美观,所以不用此种作为显示.

方案二:

采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.

方案三:

采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,需要的接口线少,看起来方便美观,所以在此设计中采用LED液晶显示屏.

(2)时钟芯片的选择方案和论证:

方案一:

直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。

采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。

所以不采用此方案。

方案二:

采用DS1302时钟芯片实现时钟,目前市场上已有很多实时时钟芯片,如DS18B20,DS1302,PCF8563,X1227等,芯片内部都集成了时钟/日历功能,给时钟设计带来很多方便。

因此计时功能以选用专用时钟芯片为宜。

在系统硬件时,我们考虑到串行总线接口较并行总线接口较为方便和设计成本等因素,选用了DS1302。

1.2.2电路设计最终方案

本设计研究的问题是显示时钟,温度。

并有计算器功能。

时钟结合DS1302时钟芯片,以时、分、秒格式采用液晶显示。

温度由DS18B20测量,通过单片机计算并在液晶屏上显示。

计算器采用4*4键盘输入,并由单片机运算得出。

功能模块主要包括:

电源,实时时钟,显示,温度和键盘模块。

在软件设计部分,根据万年历各个模块的功能,设计系统各个任务的功能流程。

(1)控制模块:

控制模块用于对系统的其他模块进行控制与调度,从而实现所需功能。

(2)电源模块:

用于给整个系统提供稳定的电源,包括控制模块所需的5V电压和时钟模块所需的3.6V电压等。

(3)温度采集模块:

用温度传感器DS18B20将所需测量的温度值转换为电信号并传递给单片机。

(4)计算输入模块:

采用4×4键盘输入。

 

图1-1系统硬件框图

1.2.3主要技术指标

(1)显示阳历年、月、日、时、分、秒、星期等,可设置节日提醒。

时钟的运行可以采用24h格式。

(2)用液晶进行显示,用按键进行调整。

(3)计算器切换功能。

(4)温度显示功能。

AT89S52是一种低功耗,高性能CMOS8位单片机,片内含8KBISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器。

40个引脚计数器;2个全双工串行通信口;看门狗(WDT)电路和片内时钟振荡器。

低功耗时钟芯片DS130231×8位RAM;最少引脚的串行I/O;2.5~5.5V电压工作范围;2.5V时耗电小于300nA;用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;简单的3线接口;可选的慢速充电(至VCC1)的能力。

可以对年、月、日、时、分、秒进行计时。

特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。

这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。

 

2主要元器件简介

2.1AT89S52

AT89S52的引脚[1]图如图2-1所示。

主电源引脚Vcc和Vss,Vcc(40脚)接+5V电压;Vss(20脚)接地。

XTAL1接外部晶体的一个引脚。

在单片机内部,它是构成片内振荡器的反相放大器的输入端。

当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。

XTAL2接外部晶体的另一个引脚。

在单片机内部,它是上述振荡器的反相放大器的输出端。

采用外部振荡器时,此引脚应悬浮不连接。

RESET复位输入端。

当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。

ALE//PROG[2]当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。

即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。

因此,它可用作对外输出的时钟,或用于定时目的。

然而要注意的是:

每当访问外部数据存储器时,将跳过一个ALE脉冲。

在对Flash存储器编程期间,该引脚还用于输入编程脉冲(/PROG)。

如果需要的话,通过对专用寄存(SFR)区中8EH单元的D0位置数,可禁止ALE操作。

该位置数后,只有在执行一条MOVX或MOVC指令期间,ALE才会被激活。

另外,该引脚会被微弱拉高,单片机执行外部程序时,该设定禁止ALE位无效。

/PSEN程序存储允许(/PSEN)输出是外部程序存储器的读选通信号。

当AT89S51/LV51由外部程序存储器取指令(或常数)时,每个机器周期两次/PSEN有效(既输出2个脉冲)。

但在此期间内,每当访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/Vpp外部访问允许端。

要使CPU只访问外部程序存储器(地址为0000H~FFFFH),则/EA端必须保持低电平(接到GND端)。

然而要注意的是,如果保密位LB1被编程,复位时在内部会锁存/EA端的状态。

当/EA端保持高电平(接Vcc端)时,CPU则执行内部程序存储器中的程序。

在Flash存储器编程期间,该引脚也用于施加12V的编程允许电源Vpp(如果选用12V编程)。

P0端口(P0.0~P0.7):

P0是一个8位漏极开路型双向I/O端口。

作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。

在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。

在Flash编程时,P0端口接收指令字节;而在验证程序时,则输出指令字节。

验证时,要求外接上拉电阻。

P1端口(P1.0~P1.7):

P1是一个带有内部上拉电阻的8位双向I/O端口。

P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。

对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。

作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

在对Flash编程和程序验证时,P1接收低8位地址。

P2端口(P2.0~P2.7):

P2是一个带有内部上拉电阻的8位双向I/O端口。

P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。

对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。

P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

在访问外部程序存储器和16位地址的外部数据存储器(如执行MOVX@DPIR指令)时,P2送出高8位地址在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。

在对Flash编程和程序验证期间,P2也接收高位地址和一些控制信号。

P3端口(P3.0~P3.7):

P3是一个带有内部上拉电阻的8位双向I/O端口。

P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。

对端口写1时,通过内部的上拉电阻把端口拉到高电位这时可用作输入口。

P3作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

作为第一功能使用时,就作为普通I/O口使用,功能和操作方法与P1口相同。

图2-1AT89S52管脚图

 

2.2温度传感器DS18B20

众所周知温度传感器的种类很多,比如AD590,LM35,DS18B20等,所以在设计温度电路的时候温度传感器的选择就尤为重要了。

本设计采用了温度传感器DS18B20,通过此传感器采集监控场所的温度,把此温度信号变成数字信号通过DS18B20的二管脚传给单片机的实现温度控制的作用。

本设计设计的温度下限温度为30°C,上限温度为60°C当超出此范围就会报警。

DSl8B20[3]利用单总线的特点可以方便的实现多点温度的测量,DSI8B20直接把温度信息转换成相应的数字信号,可以轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量,所以重点分析一下DSl8B20。

温度传感器DS18B20的主要特性:

(1)适应电压范围更宽,电压范围:

3.0~5.5V,在寄生电源方式下可由数据线供电;

(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;

(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;

(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;

(5)温范围-55°C~+125°C,在-10~+85°C时精度为±0.5°C;

(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5°C、0.25°C、0.125°C和0.0625°C,可实现高精度测温;

(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;

(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;

(9)负压特性:

电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

DS18B20的外形及管脚排列如图2-2所示,1:

GND为电源地;2:

DQ为数字信号输入/输出端;3:

VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

 

图2-2DS18B20管脚图

DS18B20内部结构主要由四部分组成:

64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20的应用电路:

DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。

DS18B20在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:

在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。

独特的寄生电源方式有三个好处:

1)进行远距离测温时,无需本地电源2)可以在没有常规电源的条件下读取ROM3)电路更加简洁,仅用一根I/O口实现测温要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。

DS18B20测温原理如图2-3所示。

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度[4]。

图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

图2-3DS18B20测温原理图

2.3DS1302时钟芯片

现在流行的串行时钟电路很多,如DS1302[5]、DS1307、PCF8485等。

这些电路的接口简单、价格低廉、使用方便,被广泛地采用。

本文介绍的实时时钟电路DS1302是DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。

DS1302的控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。

同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。

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为时钟输入端。

图2-4DS1302的引脚功能图。

图2-4DS1302封装图

3系统硬件电路的设计

3.1系统总体硬件结构设计

根据系统设计功能的要求,本设计的硬件电路[6]包括单片机电路、液晶显示电路和温度传感电路、键盘电路。

主控芯片使用51系列AT89S52单片机,时钟芯片使用DS18B20。

电路系统构成图如图3-1所示。

3.2AT89S52及其外围电路

AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。

如图3-2所示。

P0口:

P0口是一个8位漏极开路[7]的双向I/O口。

作为输出口,每位能驱动8个TTL逻辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,P0不具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

程序校验时,需要外部上拉电阻。

P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。

此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。

在flash编程和校验时,P1口接收低8位地址字节。

引脚号第二功能:

P1.0T2(定时器/计数器T2的外部计数输入),时钟

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1