基于单片机的时间温度显示系统毕业设计论文.docx
《基于单片机的时间温度显示系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的时间温度显示系统毕业设计论文.docx(48页珍藏版)》请在冰豆网上搜索。
基于单片机的时间温度显示系统毕业设计论文
摘要
【摘要】:
该系统是设计一个能在液晶屏幕上显示当前日期和温度的51单片机控制系统。
本设计多功能数字时钟系统是由中央控制器、时钟系统、温度检测器、显示器和键盘部分主成。
控制器采用单片机AT89C51,温度检测部分采用DS18B20温度传感器,时钟系统采用时钟芯片DS1302,用LCD液晶1602A作为显示器。
单片机通过时钟芯片DS1302获取时间数据对数据处理后显示时间,温度传感器DS18B20采集温度信号送给单片机处理,单片机再把时间数据和温度数据送液晶显示器1602显示,结果能在LCD正常显示时间和温度值。
【关键词】:
AT89C51单片机数字温度传感器DS18B20时钟芯片DS1302
LCD1602液晶显示器
Abstract
【Abstract】:
ThesystemistodesignacanontheLCDscreendisplaysthecurrentdateandtemperatureof51single-chipmicrocomputercontrolsystem.Thisdesignmulti-functiondigitalclocksystemisdeterminedbythecentralcontroller,clocksystem,temperaturedetector,adisplayandakeyboardpartasaLord.ControllerbysinglechipmicrocomputerAT89C51,partadoptsDS18B20temperaturesensortemperaturedetection,USEStheclockchipDS1302clocksystem,usingLCD1602aasadisplay.Single-chipmicrocomputerdataobtainedbytheclockchipDS1302timetoshowtimeafterdataprocessing,temperaturesensorDS18B20collectingtemperaturesignaltomicrocontrollerprocessing,singlechipmicrocomputertosendtimedataandtemperaturedatato1602LCDdisplay,canresultinLCDdisplaynormaltimeandtemperature.
【Keywords】:
AT89C51SCMDigitaltemperaturesensor
clockchipcharactertypeliquidcrystaldisplay
1.1设计原理.........................................................2
1.2设计思路及实现功能.............................................2
2.1.1AT89C51简介......................................................3
2.1.2.主要性能.........................................................3
2.1.3.管脚说明........................................................3
2.3单片机系统的复位...............................................4
4.3实验过程现象....................................................19
绪论
随着社会文化的不断发展,人们的消费标准不断改变,时间显示器更是扮演着越来越重要的角色,不论是汽车站,火车站,股市交易市场,还是学校都离不开它,然而传统的时间显示器不论是在显示效果、耗电量还是可修改性上都无法满足当前社会的需求,传统的时间显示器亟待改进。
由于单片机技术的不断发展与传统的时间显示器在显示效果以及可修改性上都有着无法比拟的优势,而且单片机的日益平民化以及LCD技术的不断创新,使得高亮度高清晰的LCD不断推广,为其在生活的应用奠定了基础。
并且由于电子产品的不断改良,设计更加的人性化;不仅为用户提供方便快捷的操作界面,而且设计更加实用方便,为用户会提供更有效的信息.像密码锁、智能小车、智能温控等在人们日常生活中的应用;还有一些工业生产中的智能控制方面的应用,在很多工厂里生产的仪器的主控芯片和显示芯片就是单片机,其中有两个是控制电机的左右位移和上下高度;比较的实用方便。
并且单片机的开发周期较其他芯片要快,有较强的商业价值,也为开发者提供很大的开发空间
第一章设计原理及要求
1.1设计原理
DS1302包括时钟/日历寄存器和8位的数据暂存寄存器,数据通信通过一条串行的输入输出口,实时时钟日历提供包括秒分时日期月份和年份的信息。
时间要能够显示年,月,日,时,分,秒,周,并且要具有闰年补偿功能,年,月,日,时,分,秒,周能够正常进位……
1.2设计思路及实现功能
整个系统主要由五个模块组成,包括单片机控制模块,液晶显示模块,时钟模块,键盘模块,温度采集模块,其系统的整体设计框图如图1-1所示:
图1-1系统的整体设计框图
第二章系统硬件组成
2.1AT89C51芯片介绍
2.1.1.AT89C51简介
AT89C51是一种带4K字节FLASH存储器(FPEROM-FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能COMS8位微处理器,俗称单片机。
AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中。
2.1.2.主要性能图2-1AT89C51引脚图
与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
2.1.3.管脚说明
1.VCC:
供电电压
2.GND:
接地
3.XTAL1——振荡器反相放大器及内部时钟发生器的输入端
4.XTAL2——振荡器反相放大器的输出端
5.RST——复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
6.EA/VPP——片外程序存储器访问允许信号。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地),如果EA端为高电平(接Vcc端),则CPU则执行内部程序存储器中的指令。
7.P1口,P2口——P1,P2是一组带内部上拉电阻的8位双向I/O口。
运行时通过P1口控制驱动电路的工作,将数据送到数码管,显示相应的段码,为了达到减少功耗或满足端口对最大电流的限制,应加上一限流电阻。
P2.0——P2.7口控制数码管的位选,使六个数码管轮流显示数据,等于0时位选三极管导通,等于1时位选三极管截止。
2.2单片机系统的晶振电路
晶振就是我们所需要的一种理想结构,使用晶振和电容可以组成一个选频网络,
利用单片机内部时钟,就可以产生一个和晶振频率一样的时钟信号。
本设计的晶振电路图如下图2-2所示:
图2-2晶振电路原理图
2.3单片机的复位电路
复位电路的目的就是在上电的瞬间提供一个与正常工作状态下相反的电平。
一般利用电容电压不能突变的原理,将电容与电阻串联,上电时刻,电容没有充电,两端电压为零,此时,提供复位脉冲,电源不断的给电容充电,直至电容两端电压为电源电压,电路进入正常工作状态。
其复位电路如图右图2-3所示:
图2-3复位电路图
2.4LCD1602液晶显示屏
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。
2.4.1引脚功能及接口方式
管脚功能:
1.第1脚:
VSS为电源地
2.第2脚:
VCC接5V电源正极
3.第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高
4.第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器 图2-4LCD1602引脚图
5.第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作
6.第6脚:
E(或EN)端为使能(enable)端
7.第7~14脚:
D0~D7为8位双向数据端
8.第15~16脚:
空脚或背灯电源,15脚背光正极,16脚背光负极。
1602在本设计中的接口方式如下图2-5所示:
图2-5液晶的接口方式
2.4.2LED1602的内部控制器
1602液晶模块内部的控制器共有11条控制指令,液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的,如表2-1所示为LCD1602控制命令表
表2-11602控制命令表
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM)
1
0
向DDRAM或CGRAM中写数据
11
从CGRAM或DDRAM读数
1
1
从DDRAM或CGRAM中读出数据
指令1:
清显示,指令码01H,光标复位到地址00H位置
指令2:
光标复位,返回到地址00H位置
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
2.5数字温度传感器DS18B20
DS18B20是DALLAS公司生产的一线式数字温度传感器。
DS18B20通过一个单线接口发送或接受信息,因此在中央处理器和DS18B20之间仅需一条连接线(加上地线)。
它的测温范围为-55~+125℃,并且在-10~+85℃精度为±5℃。
2.5.1DS18B20的引脚及接口方式
引脚功能:
1.GND电压地
2.DQ单数据总线
3.VDD电源电压
4.NC空引脚
如图2-6为本设计中DS18B20的接口方式图:
图2-6DS18B20接口方式图
2.5.2DS18B20功能命令集
在主机发出ROM命令以访问某个指定的DS18B20,接着就可以发出DS18B20支持的某个功能命令。
这些命令允许主机写入或读出DS18B20暂存器,启动温度转换以及判断从机的供电方式。
DS18B20功能命令集如表2-2所示:
表2-2DS18B20功能命令集
注:
1.在温度转换和复制暂存器数据至EEPROM期间,主机必须在单总线上允许强上拉,并且在此期间总线上不能进行其它数据传输。
2.通过发出复位脉冲,主机能够在任何时候中断数据传输。
3.在复位脉冲发出前,必须写入全部的三个字节。
2.5.3DS18B20复位应答关系及读写方式
DS18B20每一次通信之前必须进行复位,复位的时间、等待时间、回应时间应严格按时序编程,图2-7为DS18B20的复位应答图:
图2-7DS18B20复位及应答图
DS18B20的数据读写是通过时序处理位和命令字来确认信息交换的。
写时序分为写“0”和写“1”,时序如图7。
在写数据的前15uS总线需要是被控制器拉置低电平,而后则将是芯片对总线数据的采样时间,采样时间在15~60uS,采样时间内如果控制器将总线拉高则表示写“1”,如果控制器将总线拉低则表示写“0”。
每一位的发送都应该有一个至少15uS的低电平起始位,随后的数据“0”或“1”应该在45uS内完成。
整个位的发送时间应该保持在60~120uS,否则不能保证通信的正常。
如图2-8为DS18B20的写时序图:
图2-8写时序图
读时序时控制时的采样时间应该更加的精确才行,读数据也是必须先由主机产生至少1uS的低电平,表示读时间的起始。
随后在总线被释放后的15uS中DS18B20会发送内部数据位,这时控制如果发现总线为高电平表示读出“1”,如果总线为低电平则表示读出数据“0”。
每一位的读取之前都由控制器加一个起始信号。
如图2-9为DS18B20的读时序图:
图2-9读时序图
2.6时钟芯片DS1302
DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟日历和31字节,静态RAM通过简单的串行接口与单片机进行通信实时时钟、日历电路提供秒分时日期月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式。
DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW。
DS1302是由DS1202改进而来增加了以下的特性双电源管脚用于主电源和备份电源供应Vcc1为可编程涓流充电电源附加七个字节存储器它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域。
2.6.1DS1302的引脚功能及接口方式
DS1302芯片引脚图如图2-10所示:
图2-10引脚图
1.Vcc1:
主电源;Vcc2:
备份电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电,上电运行时,在Vcc>2.0V之前,RST必须保持低电平。
2.SCLK:
串行时钟,输入。
控制数据的输入与输出,只有在SCLK为低电平时,才能将RST置为高电平。
3.I/O:
三线接口时的双向数据线。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
4.CE:
输入信号,在读、写数据期间,必须为高。
该引脚有两个功能:
第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。
5.RST:
复位脚,RST是复位/片选线。
通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
一、RST接通控制逻辑,允许地址/命令序列送入移位寄存器;二、RST提供终止单字节或多字节数据传送的方法。
6.X1和X2:
振荡源,外接32.768kHz晶振。
DS1302接口方式图如图2-11所示:
图2-11DS1302接口方式
2.6.2DS1302内部寄存器
DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟有关,存放的数据位为BCD码形式,其日历、时间寄存器及控制字。
寄存器内容的定义如下表2-3所示:
表2-3寄存器内容定义表
寄存器名称
命令字
取值范围
定义
写操作
读操作
7
6
5
4
3~0
秒寄存器
80H
81H
00~59
CH
秒(十位)
秒(个位)
分寄存器
82H
83H
00~59
0
分(十位)
分(个位)
小时寄存器
84H
85H
01~12
00~23
12/24
0
10
A/P
HR
HR
日寄存器
86H
87H
01~28/29
01~30
01~31
0
0
日期(十位)
日期(个位)
月寄存器
88H
89H
01~12
0
0
0
月(十位)
月(个位)
星期寄存器
8AH
8BH
0l~07
0
0
0
0
星期
年寄存器
8CH
8DH
01~99
年(十位)
年(个位)
写保护寄存器
8EH
8FH
WP
0
0
0
0
慢充电寄存器
90H
91H
TCS
TCS
TCS
TCS
DS
DS
DS
DS
时钟突发寄存器
BEH
BFH
CH:
时钟暂停位,当此位设置为1时,振荡器停止,DS1302处于低功率的备份方式;当此位设置为0时,时钟开始启动。
12/24:
小时寄存器的位7定义为12或24小时方式选择位。
当它为高电平时,选择12小时方式。
在12小时方式下,位5是AM/PM位,此位为逻辑高电平表示PM。
在24小时方式下,位5是第2个10小时位(20-23时)。
WP:
写保护位,写保护寄存器的低7位(D0~D6)置为0,在读操作时总是读出0。
在对时钟或RAM进行写操作之前,位7(WP)必须为0,当它为高电平时,写保护位防止对任何其他寄存器进行写操作。
2.6.3DS1302数据传送及读写时序方式
DS1302支持单字节和多字节两种数据读写方式。
单字节方式是在把控制命令字写入DS1302之后的8个SCLK周期的上升沿输入/输出数据字节。
单字节传送方式描述如2-12所示:
图2-12单字节传送方式
当命令字节为BE或BF时DS1302工作在多字节传送模式8个时钟/日历寄存器从寄存器0地址开始连续读写从0位开始的数据当命令字节为FE或FF时DS1302工作在多字节RAM传送模式31个RAM寄存器从0地址开始连续读写从0位开始的数据。
多字节传送方式描述如2-13所示:
图2-13多字节传送方式
DS1302数据传送必须按照正确的时序才能完成,其读写时序如图2-14、2-15所示
图2-14DS1302读时序
图2-15DS1302写时序
2.7按键部分
本设计采用的是独立式按键,简单易于控制,四个按键通过编程实现一键多能的作用,能对时间进行调整。
本设计的按键电路如图2-16所示:
图2-16按键电路
2.8MAX232芯片
MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
如图2-17为MAX232的引脚图:
图2-17MAX引脚图
MAX232的工作原理是把单片机的TTL电平转化为计算机的RS232电平。
TTL电平逻辑1为+5V,逻辑0为0V。
RS232电平逻辑1为+3V~+15V,逻辑0为-3V~-15V。
也就是说我们所转换的数据电平+5V->(+3V~+15V),0V->(-3V~-15V)即可。
本设计MAX232引脚连接图如图2-18所示:
图2-18MAX232引脚连接图
第三章系统软件实现方式
3.1主程序流程图
主函数包括三个部分。
时间的获取和转换、温度的采集及转换和将转换后的数据发送到液晶屏1602上。
具体如流程图3-1所示
图3-1主函数流程图
3.2液晶显示流程图
为使液晶正常显示,先要对液晶进行初始化,对4位总线和双行显示设置,对光标定位及文字位置设置和设置开显示和光标作用再清屏。
对读取温度和时间进行数据处理,然后通过写命令确定温度和时间在液晶上的显示位置,最后通过写数据将时间和温度显示在液晶屏幕上。
如图3-2为液晶显示的流程图。
图3-2液晶显示流程图
3.3时间获取函数流程图
在本设计中分别对年月日,时分秒和星期进行寄存然后处理。
从DS1302芯片中读取年的数据,将高四位进行ASCII码的转换,也将低四位也进行ASCII码的转换,再对月、日、时、分、秒进行类似的处理。
如图3-3为温度转换的流程图:
图3-3时钟获取模块流程图
3.4读取温度函数流程图
温度读取函数首先要对DS18B20进行初始化,再跳过ROM指令,然后启动温度转换、延时,再进行DS18B20初始化,再跳过ROM指令,然后读取温度,读取温度中要对负温度进行判断,再进行温度转换,最后显示实际温度,温度转换流程图如3-4所示:
图3-4温度转换图
第四章调试现象
4.1运行环境
此实验还需要运行环境,51单片机运行的环境是keil51。
以下图表显示Keil的开发工具以及它们相互之间的接口。
如下图4-1为程序调试图:
图4-1程序调试图示
4.2程序下载
STC-ISP是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机。
如图4-2为程序下载图:
图4-2程序下载图
4.3实验过程现象
如下图4-3,4-4为实验板和实验现象:
图4-3实验板图4-4实验现象
结论
通过这次的毕业设计,我对单片机的知识有