电子时钟论文.docx
《电子时钟论文.docx》由会员分享,可在线阅读,更多相关《电子时钟论文.docx(52页珍藏版)》请在冰豆网上搜索。
电子时钟论文
液晶LCD电子钟设计
姓名:
余兴强、林贞涛、林环宇
专业:
光电子专业技术与科学
辅导教师:
张育钊、刘伟、陈邦
完成日期:
2013年8月2日
目录
引言、..........................................................4
1、方案设计及方案论证
1.时钟温度的总体设计思路...................................5
2.时钟温度系统方案论证.....................................5
1)时钟系统方案选择.....................................5
2)单片机的选择.........................................5
3)显示系统的方案比较...................................5
4)闹铃系统的方案比较...................................6
5)温度系统方案选择.....................................6
6)键盘控制方案选择.....................................6
7)呼吸灯系统方案选择...................................7
3.时钟温度系统总体设计....................................7
二.硬件设计部分
1.单片机最小系统电路设计...................................7
1)单片机芯片选择........................................7
2)单片机管脚说明........................................8
3)单片机最小系统........................................10
2.时钟系统电路设计.........................................11
3.温度系统电路.............................................11
1)温度芯片的选择........................................11
2)DS18B20内部结构描述..................................11
3)DS18B20温度系统电路..................................12
4.键盘控制系统设计..........................................13
5.闹钟电路系统设计..........................................13
6.液晶显示系统设计..........................................13
1)1602液晶显示简介......................................13
2)1602引脚说明..........................................14
3)1602液晶显示特性......................................14
4)12864F液晶显示电路....................................15
7.总体硬件系统设计..........................................15
三.软件设计部分
1.主程序.....................................................16
2.液晶程序...................................................16
3.时钟数据处理程序...........................................17
4.DS18B20温度数据处理程序...................................17
5.键盘控制程序...............................................17
6.液晶显示程序..................................................17
7.其他程序......................................................18
8.程序中的注意点................................................18
四.软硬件调试部分
1.软件调试......................................................18
2.硬件调试......................................................19
5.总结与体会....................................................19
参考文献...........................................................20
附件:
.............................................................20
LCD液晶时钟设计原理电路图.........................................20
另外再附上我们的PCB图.............................................21
六.LCD液晶时钟设计部分参考程序.....................................21
[摘要]
我们设计的LCD时钟温度系统是由中央控制器、温度检测器、时钟系统、闹铃设定系统、显示器以及键盘部分组成。
控制器采用单片机AT89C51,温度检测部分采用DS18B20温度传感器、用LCD1602液晶显示作为显示器,用压电式蜂鸣器构成闹铃。
单片机通过外部设定时间获取时间数据,对数据处理后显示时间;单片机再把时间数据和温度数据传送到LCD液晶显示屏上显示;还可以设定闹铃,到设定时间发出闹铃声;不仅如此,1602还可以显示星期、年月日、时分秒;4x4矩阵键盘可以设定年月日,时间,闹铃。
关键字:
LCD1602AT89c51DS18B20温度时间星期
1.引言
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计是数据采集及处理,矩阵键盘控制,显示系统及闹铃系统与单片机有效结合,本设计是通过在“单片机原理及应用”课堂上学习的知识的综合应用,以及查阅资料,培养一种自学的能力。
并且引导一种创新的思维,把学到的知识应用到日常生活当中。
在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。
全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。
一方案设计及方案论证
1.时钟温度的总体设计思路
按照系统的设计功能要求,本时钟温度系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力配合按键控制,来控制时钟、温度,闹铃的调整及显示。
获得时钟温度数据信息,单片机对其进行一系列的处理,最后通过液晶显示出来。
2.时钟温度系统方案论证
2.1时钟系统方案选择
方案1:
通过单片机内部的定时器/计数器,用软件实现,直接用单片机的定时器编程以实现时钟;
方案2:
用专门的时钟芯片实现时钟的记时,再把时间数据送入单片机,由单片机控制显示。
虽然使用专用时钟芯片硬件的精度很高,软件编程也很简单,但是成本相对使用软件来说大大增加了。
用软件实现时钟硬件线路简单,虽然程序运行的每一步都需要时间,或多或少都会影响记时的准确度,但是比赛时对于精度的要求不高,而且复杂的软件编程有利于培养我们学生的能力,不仅如此,软件实现大大降低了成本。
综上所述,选择方案1.
2.2单片机的选择
对于单片机的选择,STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M3内核。
虽然功能强大,但是费用也较高。
;51系列单片机的ROM为4K,足以满足我们的设计需求,并且平时接触过得主要都是51单片机,对于它的参数比较熟悉,运用起来更加方便。
我们选择51系列的单片机。
2.3显示系统的方案比较
方案1:
用数码管或LED显示。
方案2:
用液晶1602显示。
方案3:
用液晶12864显示。
时钟和温度的显示可以用数码管或LED,而且价格便宜。
但是数码管的只能显示简单的设计的系统,与我们设计要求也不相符。
有很多东西需要显示,还是用显示功能更好的液晶显示器比较好,它能显示更多的数据,用1602液晶显示数据有限,显示数据的可读性不好,但是足以满足现阶段所需。
用可以显示汉字的12864液晶显示器还可以增加显示信息的可读性,让人看起来会很方便。
另外它们在价格上差距很大,考虑成本我们首选1602。
因此我们选择方案2。
2.4闹铃系统的方案比较
方案1:
用压电式蜂鸣器实现闹钟铃声。
方案2:
用电磁式蜂鸣器实现闹钟铃声。
压电式蜂鸣器,用的是压电材料,即当受到外力导致压电材料发生形变时压电材料会产生电荷。
同样,当通电时压电材料会发生形变。
电磁式蜂鸣器,主要是利用通电导体会产生磁场的特性,用一个固定的永久性磁铁与通电导体产生磁力推动固定在线圈上的鼓膜。
两种蜂鸣器发音原理不同,压电式结构简单但是音调单一音色差,适用于报警器等设备。
而电磁式由于音色好,所以多用于语音、音乐等设备。
但是电磁式价格远远高于压电式,考虑成本以及所需实现的功能,我们选择方案1。
2.5温度系统方案选择
方案1:
用热敏电阻等测温元件测出电压,再转换成对应的温度。
需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。
方案2:
用DS18B20直接测温。
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
经比较,我们选择方案2。
温度实现只能通过外部的温度传感器来实现。
经上网查阅及市场考察,DS18b20体积小,只有3只脚,电路接法简单。
内部含有寄存器为我们设计实现上下限报警功能提供保障。
精度为0.5°C,足以满足我们设计要求。
DS18B20也是我们通常使用的型号,因此温度传感器用DS18B20。
2.6键盘控制方案选择
方案1:
购买集成键盘,采用矩阵形式连接。
方案2:
购买单个复位开关做成键盘。
虽然集成键盘美观,与单片机的接口少,但是它的成本比较高。
单片机的IO口对于我们的设计绰绰有余。
通常我们选用价格便宜单个复位开关做成键盘。
因此我们选择方案2.
2.7呼吸灯系统方案选择
方案1:
通过阳极控制LED灯使其发光。
方案2:
通过阴极控制LED灯使其发光。
虽然呼吸灯阳极阴极控制原理相似,但是用阳极控制更加方便,也较为熟悉,因此我们选择方案1.
3.时钟温度系统总体设计
初步确定设计系统由单片机主控模块、时钟模块、测温模块、呼吸灯模块、显示模块、键盘接口模块共6个模块组成,电路系统框图如图
(1)所示。
二.硬件设计部分
1单片机最小系统电路设计
1.1单片机芯片选择
单片机采用51系列单片机。
其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
AT89C51具有以下标准功能:
4k字节Flash,128字节RAM,32位I/O口线,两个16位定时器/计数器,5个中断源,可编程串行通道片,片内振荡器和时钟电路。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
其芯片外观及引脚图如下:
图1.1_1图1.1_2
1.2单片机管脚说明
VCC:
供电电压
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(计时器0外部输入)
P3.5T1(计时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
1.3单片机最小系统
单片机最小系统主要由复位电路,晶振电路,电源等几部分组成。
1)复位电路
复位电路有两种方式:
上电复位和按钮复位,我们主要用按钮复位方式。
如下图所示:
2)晶振电路
晶振电路原理图如3-2:
3-2 晶振模块原理图
选取原则:
电容选取30pF,晶振为12MHz。
3)电源
AT89C51单片机的供电电源是5V的直流电。
4)EA非/Vpp脚
我们没有用外部扩展ROM,因此EA非/Vpp为高电平,即接+5V电源。
2时钟系统电路设计
通过单片机内部的定时器/计数器,用软件实现,直接用单片机的定时器编程以实现时钟。
3温度系统电路
3.1温度芯片的选择
温度实现只能通过外部的温度传感器来实现。
经上网查阅资料及市场考察,DS18b20体积小,只有3只脚,电路接法简单。
它能够直接读出被测温度。
内部含有寄存器为我们设计实现上下限报警功能提供保障。
用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;精度为0.5°C,也符合我们设计的要求。
DS18B20也是我们通常使用的型号,因此温度传感器用DS18B20。
3.2DS18B20内部结构描述
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。
高速暂存RAM的结构为8个字节的存储器,结构如图4.1所示。
头两个字节包含测得的温度信息,第三和第四字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第五个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。
该字节各位的定义如图4.2所示。
低5位一直为1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
3.3DS18B20温度系统电路
DS18B20系统电路如下:
DS18B20有两种接法:
一是单线接法即只接QT。
这种方法应用它内部的寄生电源,因此在QT上要用一个MOSFET把I/O线只接拉到电源上。
二是从vdd脚加上电源。
方法一适合于远距离温度监控,不需要本地电源。
而我们只是设计测温系统,选择方法二就行了,还有MOSFET极容易烧,我们不用它。
Vdd接5V电源,vss接地,QT与P2.7相连。
因为DS18B20的工作电流约为1MA,因此Qt端还要加上拉电阻为其提供电流。
若用5V电源,则R=5/1MA=5k。
R取4.7K。
4键盘控制系统设计
按键需要4个,分别实现为时间调整、时间的加、时间的减、退出四个功能。
用单片机的4x4矩阵键盘I/O口接收控制信号,其电路图如下:
4x4按键的一端与地相连,另一端分别与P1.0、P1.1、P1.2、P1.3、P1.4、P1.5、P1.6、P1.7、相连。
这时当按键按下就输入低电平。
5闹钟电路系统设计
闹铃电路由蜂鸣器、三极管、电阻等构成电路图如下:
它与单片机的接口是P2.4。
6液晶显示系统设计
6.11602液晶显示简介
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
6.21602引脚说明
1602采用标准的16脚接口,其中:
第1脚:
VSS为电源地。
第2脚:
VCC接5V电源正极。
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端,高电平
(1)时读取信息,负跳变时执行指令。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
6.31602液晶显示特性
3.3V或5V工作电压,对比度可调
内含复位电路
提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能
有80字节显示数据存储器DDRAM
内建有192个5X7点阵的字型的字符发生器CGROM
8个可由用户自定义的5X7的字符发生器CGRAM
6.412864F液晶显示电路
设计中采用LCD12864液晶显示。
它一般串口、并口两种方式显示,而我们一般采用并口显示。
12864的4、5、6、15、17脚分别与单片机的P3.0~、P3.4相连。
7~14脚与单片机的P0口相连。
1、20号脚接地,2号脚接电源,19号脚背光灯正端串一个电阻与电源相连,电阻起限流的作用,我们取R=10K。
3号脚是对比度(亮度)调整,这里要用一个滑动变阻器来调整亮度,这里我们取电位器大小为10K。
LCD1602显示电路如下图所示:
7总体硬件系统设计
1.由于材料有限,我们只能使用大小为10x15(cm)大的双面都带有铜的铜板,通过Altiundesigned软件画好PCB图,通过油纸打印出来把电路图附在铜板上,通过腐蚀液腐蚀掉多余的铜,从来制作出电路板。
2.各电气元件的连接,我们采用单、排针和杜邦线相连。
这样为我们避免各元件的跨接,对我们对线路的排错提供方便。
3.上述六个模块可以按原理图整齐的焊接在电路板。
最后效果,板子正面连线错横复杂,板子反面横整齐。
三.软件设计部分
本系统的软件系统主要分为主程序、液晶程序、时钟程序、温度程序、键盘控制程序、液晶显示程序。
3.1主程序
系统主程序首先对系统进行初始化,包括设置定时器、液晶、DS18B20和端口的初始化;由于单片机没有命令指令,所以可以设计系统程序不断地循环执行液晶显示时间程序即show_time()程序。
如果单片机接收命令指令,就执行相应的程序及闹钟是否到的判断,执行相应的及铃声程序。
简单流程图如下:
3.2液晶程序
LCD1602的程序主要是对内部控制指令进行指定如液晶初始化,显示空白,读,写,判断液晶是否忙及指定字符的位置等函数构成。
了解LCD1602的内部结构及控制指令和网上大部分程序模块大致相同。
3.3时钟数据处理程序
单片机通过控制运行自行编程的时钟程序,从而获得年月日,时分秒,星期等数据,并且通过显示器显示。
3.4DS18B20温度数据处理程