欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    电子时钟及简易温度计的设计本科毕业论文设计.doc

    • 资源ID:3965423       资源大小:503.02KB        全文页数:55页
    • 资源格式: DOC        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子时钟及简易温度计的设计本科毕业论文设计.doc

    乐山师范学院毕业论文(设计) 本科生毕业论文(设计)系(院)物理与电子信息科学系 专业 电子信息工程论文题目 电子时钟及简易温度计的设计 电子时钟及简易温度计的设计【摘要】本设计主要以单片机AT89S52为核心,辅以时间芯片DS1302,温度传感器DS18B20,LCD1602液晶显示屏,设计了一个电子时钟及简易温度计。本设计在制作完成后,基本实现了要求中的全部功能,实现了电子时钟和温度测量二合一的功能,一物多用,在家庭生活中有相当不错的使用价值。【关键词】 单片机 DS1302 DS18B20 LCD16021 引言随着科学技术的发展,目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理。广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机,全自动洗衣机的控制,以及遥控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了1。所谓单片机,通俗的来讲,就是把中央处理器CPU(Central Processing Unit),存储器(memory),定时器,I/O(Input/Output)接口电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。单片机又称为“微控制器MCU”。中文“单片机”的称呼是由英文名称“Single Chip Microcomputer”直接翻译而来的2。本产品的主要特色是采用单片机AT89S52来控制的,配合时钟芯片DS1302,温度传感器DS18B20,液晶显示屏1602,从而实现电子时钟和温度测量二合一的电路。1、采用LCD1602液晶模块对DS1302工作的数据进行时间显示,并且时间不准确时可对其进行调时;2、采用温度传感器DS18B20作为实时温度测量,并实时显示在液晶模块1602上。在这个社会,时间和健康成为主体的年代,实时时间和温度的变化时时影响着你。这款简易的设计小巧又方便,很适合大家使用。2 系统原理图及硬件电路分析2.1 单片机AT89S52简介2.1.1 主要特性 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器3。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、高有效的解决方案4。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止5。2.1.2 引脚图如图2.1,其中主要用到的引脚为20脚接地,40脚接高电平;9脚接复位电路并置于高电平;18、19脚接外部振荡器让单片机工作;3239脚即P0.0P0.7为数据的输出口,与液晶的D0D7口相接。图2.1 AT89S52外部引脚图2.1.3 振荡器特性AT89S52 单片机有一个用于构成内部振荡器的反相放大器,XTAL1 和XTAL2 分别是放大器的输入、输出端6。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器7。如图2.2。图2.2 AT89S52振荡器连接图2.2 时钟电路DS1302是美国DALLAS公司推出的低功耗时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302是具有绢细电流充电能力的低功耗实时时钟电路,它以其接口简单、价格低廉、使用方便而被广泛地采用。它的主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。所以用这个芯片来实现时间功能是完全能满足电路的要求的。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。 在测量控制系统中,特别是长时间无人职守的测控系统中,经常需要记录某些具有特殊意义的数据及其出现的时间。记录及分析这些特殊意义的数据,对测控系统的性能分析及正常运行具有重要的意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许。而在系统中采用DS1302则能很好地解决这个问题。DS1302工作电压宽达2.55.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。2.2.1 DS1302的结构及工作原理图2.3为DS1302的引脚排列及内部结构图,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。图2.3 DS1302的引脚排列及内部结构图2.2.2 DS1302的控制字如图2.4所示:图2.4 控制字节的含义DS1302的控制字节说明如下:控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中;(位6)如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;(位)至(位1)指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出8。2.2.3 复位通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址命令序列送入移位寄存器;其次,RST提供了终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中置RST为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。2.2.4 数据输入输出在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7,数据读写时序见图2.5。图2.5 数据读写时序2.2.5 DS1302的寄存器DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。其日历、时间寄存器及其控制字见表2.1。表2.1 DS1302的日历、时钟寄存器及其控制字寄存器名命令字取值范围各位内存写操作读操作76543210秒寄存器80H81H0059CH10SECSEC分钟寄存器82H83H0059010MINMIN小时寄存器84H85H0112或002312/24010/APHRHR日期寄存器86H87H0128,29,30,310010DATEDATE月份寄存器88H89H011200010MMONTH周日寄存器8AH8BH010700000DAY年份寄存器8CH8DH009910 YEARYEAR   此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为COHFDH,其中奇数为读操作,偶数为写操作;再一类为发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。2.2.6 DS1302在测量系统中的硬件电路DS1302与CPU的连接仅需要三条线,即SCLK(7)、I/O(6)、RST(5)。 Vcc2在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。 Vcc2在双电源系统中提供主电源,在这种运用方式下Vcc1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由Vcc1或 Vcc2两者中的较大者供电。当 Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。采用DS1302作为记录测控系统中的数据记录,其软硬件设计简单,时间记录准确,既避免了连续记录的大工作量,又避免了定时记录的盲目性,给连续长时间的测量、控制系统的正常运行及检查都来了很大的方便,可广泛应用于长时间连续的测控系统中。2.3 调时部分时钟,难免有不准时的时候,当你时钟显示的时间出现差错的时候,就需要对其进行调时。本系统的调时部分如图2.6。图2.6 时钟调时部分其中P3.1口连接出的按键MODEL为选择调时模块按键,可选择日期的年、月、日以及时间的时、分、秒;P3.4口连接出的按键ADD为对所选模块进行加成按键,按一次即对所选模块进行加一处理,直至时间调整到准确值。2.4 温度传感器美国Dallas半导体公司的数字化温度传感器DS18B20是世界上第一片支持 "一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。这款温度传感器是具有线路简单,体积小,方便易用等特点,温度测量范围为-55+125,可编程为9位12位AD转换精度,测量温度分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点9。2.4.1 特性(1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内(5)温范围55125,在-10+85时精度为±0.5(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作2.4.2 DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。2.4.3 DS18B20工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值.2.4.4 四个主要的数据部件(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 (2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。表2.2 DS18B20温度值格式表Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0LS Byte2222222Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8MS ByteSSSSS222这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。表2.3 DS18B20温度数据表TEMPERATUREDIGITAL OUTPUT(Binary)DIGITAL OUTPUT(Hex)+1250000 0111 1101 000007D0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 0000 100000A2h+0.50000 0000 0000 00000008h01111 1111 1111 10000000h-0.51111 1111 0101 1110FFF8h-10.1251111 1110 0110 1111FF5Eh-25.06251111 1110 0110 1111FE6Fh-551111 1100 1001 0000FC90h *The power-on reset value of the temperature register is +85(3)DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。(4)配置寄存器 该字节各位的意义如表2.4:表2.4 配置寄存器结构TMR1R011111低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表2.5所示:(DS18B20出厂时被设置为12位)表2.5 温度分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms 0110位187.5ms 1011位375ms 1112位750ms 2.4.5 高速暂存存储器高速暂存存储器由9个字节组成,其分配如表2.6所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。第九个字节是冗余检验字节。 根据DS18B20的通讯协议,单片机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。见表2.7和表2.8。表2.6 DS18B20暂存寄存器分布寄存器内容 字节地址温度值低位 (LS Byte)0温度值高位 (MS Byte)1高温限值(TH)2低温限值(TL)3配置寄存器4保留5保留6保留7CRC校验值8表2.7 ROM指令表指 令约定代码功 能读ROM33H读DS1820温度传感器ROM中的编码(即64位地址) 符合 ROM 55H发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。 搜索 ROM 0FOH用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。 跳过 ROM 0CCH忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。 告警搜索命令 0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。 表2.8 RAM指令表指 令约定代码功 能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器 0BEH 读内部RAM中9字节的内容 写暂存器 4EH 发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器 48H 将RAM中第3 、4字节的内容复制到EEPROM中。 重调 EEPROM 0B8H 将EEPROM中内容恢复到RAM中的第3 、4字节。 读供电方式 0B4H 读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。 2.4.6 DS18B20使用中注意事项 DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:1、较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。2在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。3连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 4在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。 测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。2.5 显示模块电路2.5.1 引脚功能:表2.9 LCD1602引脚说明第1脚VSS为电源地,接GND第2脚VDD接5V正电源第3脚VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器第5脚RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令第714脚D0D7为8位双向数据线第15脚BLA背光电源正极(+4.8V+5V)输入引脚第16脚BLK背光电源负极,接GND2.5.2 控制指令该液晶模块内部的控制器共有11条控制指令,如表2.10所示,它的读写操作、屏幕和光标的操作都 是通过指令编程来实现的。(说明:1为高电平,0为低电平,*为任意0或1)表2.10 LCD1602控制指令指令RSR/WD7D6D5D4D3D2D1D0清显示0000000001光标返回000000001*置输入模式00000001I/DS显示开/关控制0000001DCB光标或字符移位000001S/CR/L*置功能00001DLNF*置字符发生存储器地址0001字符发生存储器地址(ACG)置数据存储器地址001显示数据存储器地址(ADD)读忙标志或地址01BF计数器地址(AC)写数到CGRAM或DDRAM10要写的数据从CGRAM或DDRAM读数11要读的数据指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H指令3:光标和显示模块设置。I/D:光标移动方向,高电平右移,低电平左移;S:屏幕上所有的文字是否左移或则右移。高电平表示有效,低电平则无效指令4:显示开关控制。D:控制整体显示的开与关,高电平表示显示,低电平表示关显示;C:控制光标的开与关,高电平表示有光标,低电平表示无光标;B:控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5:光标或显示移位。S/C:高电平时移动显示的文字,低电平时移动光标指令6:功能设置命令。DL:高电平时为4位总线,低电平时为8位总线;N:低电平时为单行显示,高电平时双行显示;F:低电平时显示5*7的点阵字符,高电平时显示5*10的点阵字符指令7:字符发生器RAM地址设置指令8:DDRAM地址设置指令9:读忙信号和光标地址。BF:为忙标志位,高电平表示忙,此时模块不能接受命令或则数据,如果为低电平则表示不忙指令10:写数据指令11:读数据2.5.3显示器地址内部地址计数器的计数地址:DB=0时,第一行为00,01,02,0F 第二行为40,41,42,4F DB=1时,即80+内部计数地址,80,81,82,8F第二行为C0,C1,C2,CF可以用此方式字将字显示在某一位置上2.5.4 主要技术参数:1、逻辑工作电压(VDD):+4.5 +5.5V2、LCD驱动电压(VDD - VL):+4.5 +13.0V3、工作温度(Ta): 0 60°C(常温)/-20 75 °C(宽温)4、工作电流: < 2.0Ma5、屏幕视域尺寸: 62.5 × 16.1mm3 系统原理图图3.1 电子时钟和温度传感器的设计原理图4 系统的软件设计系统的软件设计可以分为几个部分,首先是各个模块的底层驱动程序编写,而后是系统联机调试,编写上层系统程序。在编写和调试一个大的项目软件程序时,先编写各个子模块的驱动程序,保证每个模块都可以正常工作,做好备份工作,之后再来编写整机程序。本系统软件程序主要包括:液晶LCD1602的底层驱动模块、时钟芯片DS1302的底层驱动模块、传感器DS18B20的底层驱动模块、时钟调时FUNCTION的底层驱动模块、定义公共变量VAR的底层模块等。几点说明:1、DS1302 是基于总线接口的时钟芯片,软件上完全与总线完全兼容。2、DS18B20 是One-wire总线接口的芯片,软件上对时序的要求特别高。整个系统的软件设计均采用C语言开发,因此这些器件的底层程序均可以移植到其它系统中,这就是采用C语言开发的最大的优点。 软件仿真结果:图4.1 程序仿真通过生成(.HEX)文件成功:图4.2 生成.HEX文件成功软件仿真的结果与程序编写时的预想结果一致!5 硬件调试(1)线路的分析 在调试过程中,接上电源,数码管无任何显示,用万用表测试发现电路板有断开的地方,仔细检查发现电路在线路手工焊接时存在虚焊的情况,重新焊接后,线路连通。(2)液晶只能点亮不显示字符当硬件制作完成后,所遇到的第一个问题就是只能点亮液晶,而液晶上面没有任何与程序内容相关的显示。在检查了一遍又一遍的电路后,确认电路没有任何问题后,只能估计是单片机外部震荡的12M晶振坏了。在换了一个新的12M晶振后,终于在液晶上显示了字符,但是却是乱的。(3)液晶只显示乱码接通电源,液晶上面所显示的数字全部为85。鉴于单片机所出现的问题,第一反应就是接时钟芯片DS1302的晶振没有接好,在取下重新焊接后,时钟部分可以正常显示并运行,但是仍然会出现85,估计是程序上的问题。而温度方面出现85,比较费解。但是在试验了几次后,发现温度时而会变化,故断定是温度传感器18B20因为多次的焊接取下而损坏。最后经过多方验证,修改了部分程序后,是程序出问题了!(4)液晶显示中的时间不符编程要求显示时间的部分字符一直都是85与45的字符。直接断定是程序问题。在经过程序的修改初始化后,液晶部分显示初始时间正常。(5)调时是部分调时出现问题在验证调时部分时,年、日、时、分和秒出现1015区域数值循环,无法调到15以上数值。在确定是程序的情况下,对程序进行逐一验证,修改了时钟调时部分的数字统一赋值,改为分开各自赋值后,时钟的所有部分均可进行正确的调时功能。 6 总结经过近4个月的毕业设计制作,我从中认识自己的很多不足,学到很多课堂上面并没有学到的东西。从课题的选择到临时更换课题,再到自己制作硬件的紧张,最后到硬件调试部分,一切都离不开同学们的帮忙和老师的督促。此次毕业设计是我们从大学毕业生走向未来工程师重要的一步。从最初的选题,开题到计算、绘图直到完成设计。其间,查找资料,老师指导,与同学交流,反复修改图纸,每一个过程都是对自己能力的一次检验和充实。通过这次实践,我了解了单片机的用途及工作原理,熟悉了单片机的设计步骤,锻炼了工程设计实践能力,培养了自己独立设计能力。此次毕业设计是对我专业知识和专业基础知识一次实际检验和巩固,同时也是走向工作岗位前的一次热身。毕业设计收获很多,比如学会了查找相关资料相关标准,分析数据,提高了自己的绘图能力,懂得了许多经验公式的获得是前人不懈努力的结果。同时,仍有很多课题需要后辈去努力去完善。但是毕业设计也暴露出自己专业基础的很多不足之处。比如缺乏综合应用专业知识的能力,对材料的不了解,等等。这次实践是对自己大学四年所学的一次大检阅,使我明白自己知识还很浅薄,虽然马上要毕业了,但是自己的求学之路还很长,以后更应该在工作中学习,努力使自己 成为一个对社会有所贡献的人,为中国电信事业添上自己的微薄之力。我很高兴认识我的同学和我的老师,是他们帮助我一起完成本次的毕业设计。在此我要感谢他们!参考文献1 胡锦等.单片机技术实用教程M,高等教育出版社,2003年.2 邹振春.单片机实训M,高等教育出版社,2003年.3 徐煜明,韩雁.单片机原理及应用教程M,电子工业出版社,2004年.4 李建忠.单片机原理及应用M,安电子科技大学出版社,2002年5 勒达.单片机应用系统开发实例导航M.北京:人民邮电出版社. 6 白驹衍.单片机的设计及应用J.电子技术,2006,(12):29-33. 7 丁元杰.单片机原理及应用M.上海:机械工业出版社,2005.8 廖义勇.实时时钟 DS1302 与超级电容 J.今日电子,2004(5):45-46.9 王晓娟,张海燕,梁延兴.基于DS18B20的温度实时采集与显示系统的设计与实现,青岛远洋船员学院学报J.2007(2)10 夏路易,石宗义.电路原理图与电路板设计教程PROTEL99SEM.北京:希望电子出版社,2005.11 谢自美.电子线路设计、实验、测试 J.电子制作,2005,(10):20-22.12 童光华.数字电子电路M.北京:西安电子科技大学出版社,2005.The Designment of Electronic Clock and Thermometer SimpleHuang QihuaPhysics and Electronic Information Science 05290110Abstract The designment mainly use single-chip AT89S52, supplemented by the time chip DS1302, temperature sensor DS18B20, LCD1602 LCD screen, design a simple electronic clock and thermometer. The designment in the production after the completion of the basic requirements to achieve the full functionality, the realization of an electronic clock and temperature measurement function of two-in-one, one thing more, in family life have quite good value.Key words MCU DS1302 DS18B20 LCD1602附录:硬件效果图:主程序:#include <REGX52.H>#include "var.c"#include "LCD1602.h"#include "DS1302.h"#include "DS18B20.h"#include "function.c"main()SYSTEMTIME CurrentTime;LCD_Init();Initial_DS1302();GotoXY(0,0);Print("20");GotoXY(9,1);Print("T");while(1) ReadTemperature();key(); DS1302_GetTime(&CurrentTime);WeekToStr(&CurrentTime);DateToStr(&CurrentTime);TimeToStr(&CurrentTime);GotoXY(2,0);Print(CurrentTime.DateString);GotoXY(11,0);buf = Read1302(DS1302_WEEK); buf = (buf&0x70)>>4)*10 + (buf&0x0F

    注意事项

    本文(电子时钟及简易温度计的设计本科毕业论文设计.doc)为本站会员(来看看)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开