毕业设计(论文)-基于DS1302和LCD1602的可调数字钟.docx_第1页
毕业设计(论文)-基于DS1302和LCD1602的可调数字钟.docx_第2页
毕业设计(论文)-基于DS1302和LCD1602的可调数字钟.docx_第3页
毕业设计(论文)-基于DS1302和LCD1602的可调数字钟.docx_第4页
毕业设计(论文)-基于DS1302和LCD1602的可调数字钟.docx_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

xxx大学毕业论文(设计)题目: 基于DS1302和LCD1602的可调数字钟姓名:xxxx学院:xxxxxxxxxxxxx专业:xxxxxxxxx班级:xxxxx学号:xxxxxx指导教师:xxx2015年 12 月 15 日毕业论文(设计)诚信声明本人声明:所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论文中引用他人的文献、数据、图表、资料均已作明确标注,论文中的结论和成果为本人独立完成,真实可靠,不包含他人成果及已获得青岛农业大学或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。论文(设计)作者签名:日期:年月日毕业论文(设计)版权使用授权书本毕业论文(设计)作者同意学校保留并向国家有关部门或机构送交论文(设计)的复印件和电子版,允许论文(设计)被查阅和借阅。本人授权青岛农业大学可以将本毕业论文(设计)全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。本人离校后发表或使用该毕业论文(设计)或与该论文(设计)直接相关的学术论文或成果时,单位署名为青岛农业大学。论文(设计)作者签名:日期:年月日指导教师签名:日期:年 目录1绪论11.1研究课题的背景11.2研究课题的意义与目的11.3研究课题的内容22系统总体方案设计及论证32.1功能要求32.2设计思路42.4主要元器件的介绍62.4.1单片机STC89C52RC62.4.3 DS18B20122.4.3LCD1602液晶模块163系统硬件的设计183.1电路工作原理183.2 电路总体设计183.3各模块的设计183.3.1电路控制模块(单片机)193.3.2 液晶显示模块203.3.5 蜂鸣器驱动电路214系统软件的设计234.1 系统主设计模块244.2 更新时间模块254.3 显示时间程序265系统的调试与运行结果295.1 系统的调试29参考文献30致谢31附录32原理图324基于DS1302和LCD1602的可调数字时钟xx专业 xxx指导老师 xxx摘要:多功能数字钟的应用非常普遍,由单片机作为数字钟的核心控器,通过对时钟芯片的读写操作,将其时间数据经单片机输出,利用显示器显示出来。数字钟可以通过LCD1602液晶屏显示年、月、日、周、时、分、秒。此外,通过按键可以进行调整时间和日期功能。整点报时系统通过蜂鸣器实现,当时间达到一个整点时,由蜂鸣器发出声音,达到报时效果。本文选择一钟用STC89C52单片机控制DS1302时钟芯片,利用LCD1602显示的数字钟的方法,同时给出软硬件电路的设计方法。设计报告硬件电路设计和软件编程两个方面。本系统通过STC89C52做为CPU进行总控制,利用STC89C52对DS1302时钟芯片进行控制,DS1302时钟芯片可以对年、月、日、周、时、分、秒进行计时,最后用LCD1602液晶显示进行显示。该设计实用简便能够对年、月、日、周、时、分、秒进行有效准确的计时及显示。另外通过单片对DS18B20温度传感器的控制,可以读取DS18B20温度传感器采集到的温度,现实到LCD1602液晶上。简要介绍了数字钟系统的硬件设计和软件设计两部分。对于硬件设计部分,介绍了多功能模块电路的设计及其元器件的选取和参数的计算。软件设计方面,给出了软件流程图和相应的程序。经过调试数字钟显示稳定,很好地实现了定时蜂鸣、自行调时等功能。关键词:单片机;DS1302时钟芯片;LCD1602;DS18B20。Based on DS1302 and LCD1602 adjustable digital clockStudentmajoringinEExxxTutor xxxAbstract: the application of the multi-function digital clock is very common, by single chip microcomputer as the core of the digital clock controller, by the clock chip to read and write operation, the time data by the MCU output, using the monitor display. Digital clock can through LCD1602 LCD display year, month, day, week, minutes and seconds. In addition, through the button can adjust the time and date function. Hour system by a buzzer, when time reach a the hour, by the buzzer sound, tell the time. This paper choose the clock with DS1302 clock chip STC89C52 single-chip microcomputer control, the method of using the LCD1602 display digital clock, and the design method of software and hardware circuit. The design report two aspects of hardware circuit design and software programming. This system through the STC89C52 as CPU for total control, DS1302 clock chip to make use of STC89C52 control, DS1302 clock chip can for year, month, day, week, timing, minutes and seconds, when the last use LCD1602 LCD display. The design simple and practical for the year, month, day, week, when the exact time, minutes and seconds for effective and display. In addition by single chip DS18B20 temperature sensor control, can read the DS18B20 temperature sensor, temperature were collected reality to the LCD1602 LCD. This paper briefly introduces the hardware design and software design of digital clock system two parts. For hardware design part, introduced the multi-function module circuit design and components selection and parameter calculation. Software design, software flow chart and the corresponding program is given. After debugging digital clock display is stable and well realize the timing when the buzzer, on its own, and other functions.Key words: single chip microcomputer; DS1302 clock chip. LCD1602; DS18B20.71绪论1.1研究课题的背景20世纪末,电子技术飞速的发展,在电子技术飞速发展的推动下,现代电子产品几乎渗透到人们生活的各个方面,电子技术的发展势必要取代原来一些落后的技术,随着现在电子产品性能的进一步提高,产品的更新换代的节奏也变的越来越快。时间对每一个人来说都是很宝贵的,学习、工作的忙碌和繁杂性容易使人忘记当前的时间,忘记需要做的事,当事情不是特别重要的时候,不会有什么问题,但是。如果是非常重要的事情。一旦忘记或者耽搁。可能会酿成大祸,给自己带来麻烦。比如,田径比赛中对选手成绩的计时,就需要非常精准的时间。传统的计时技术已经不能满足要求,所以设计一个精准的计时设备很有必要。1.2研究课题的意义与目的随着人力的进步,科学技术的发展空间也越来越被人们重视,而能够准确的知道时间能够提高人们的工作效率,能够准确的知道时间能够提高人们的工作效率,能够更好的按计划做事,能更好的在规定的时间内完成所规定的事,随着科学技术的发展,单片机技术不断的革新,功能越来越多,性能越来越强,功耗越来越低。计时也越来越准确。钟表的数字化给人们的生活带来的方便事非常巨大的,而且大大的扩展了钟表报时功能,比如,报时可以是语音的,可以事音乐的。可以定时,比如电磁炉上的定时等。因此数字钟的应用,有着非常现实的意义。1.3研究课题的内容本设计已STC89C52单片机的系统的主要控制核心,以DS1302芯片进行计时,然后单片机读取DS1302时钟芯片内部寄存器上的数据。单片机再把温度数据输出到LCD1602液晶显示屏上显示,本设计的硬件用STC89C52单片机作为CPU进行总线的控制。获取DS1302时钟芯片内部寄存器上准确的时间(年、月、日、周、时、分、秒准确时间),并且能够对时间进行调整操作,整点会通过蜂鸣器报时,该时钟还具有显示当前环境温度的特定。通过单片机对温度传感器DS18B20进行读写操作。能够准确的得到温度传感器获取的环境温度,并在LCD1602液晶屏幕上显示。该数字时钟硬件电路简单,稳定。使用灵活,功能稳定。显示稳定等优点。2系统总体方案设计及论证本设计采用了硬件电路某块化设计,每一个功能都是一个某块,主要分为单片机最小系统模块、DS1302时钟模块、蜂鸣器模块、DS18B20传感器模块、LCD1602液晶显示模块、键盘模块、单片机复位电路模块、单片机时钟模块、每个模块都有各自的功能,将整个电路模块化设计,能够简化电路。出了问题也容易找到问题出现在哪,也利于程序的编写,程序设计上也是用的模块画编程的思路,将每个模块的函数都封装成一个后缀为.C中,用相同名字的.H文件作为接口,调用其功能。主要封装的模块有DS1302时钟芯片驱动函数,LCD1602液晶显示驱动函数,DS18B20驱动函数,键盘扫描驱动函数。延时函数等,这样的好处是,程序阅读性增强,也有利于后期的维护,或者事增加新的功能。2.1功能要求本设计是分时钟模块和温度显示模块。它们都是由单片机的控制来实现的。具体的功能如下:(1)可以显示时间(年、月、周、日、时、分、秒)。(2)可以对时间进行设置调整。(3)有整点报时功能。(4)可以显示环境温度。 (5) 具有闹钟功能,可设置闹钟时间。2.2设计思路本次设计主要运用单片机来实现对DS1302时钟芯片进行读写操作获取时间数据和对温度传感器DS18B20进行读写操作获取当前环境温度。再把获取到的时间和温度显示到LCD1602液晶屏上,利用分模块的的电路设计和分模块的编程思路。使本设计结构清晰,性能稳定。DS1302时钟芯片控制系统轻触按键温度传感器 图2-1 可调时钟主要模块2.3系统总体概况本设计主要包括硬件电路的设计和为硬件电路开发的程序的设计。单片机是控制核心,主要功能模块是对DS1302时钟芯片读写操作模块和对DS18B20温度传感器读写操作模块两部分。硬件的设计框架如图2-2: Ds18b20温度传感器报警电路按键部分 单片机DS1302时钟芯片 图2-2可调时钟原理框架各模块的功能如下:(1) 按键部分,进行时间的设置。 (2) DS18B20温度传感器温度获取环境温度。(3)DS1302时钟芯片模块,进行时间的计算,计时。 (4)蜂鸣器电路。接收来自单片机发出的指令,整点报时和。2.4主要元器件的介绍选择元器件的考虑主要是从稳定,可操作,以及性价比考虑,元器件的可操作性是首选的,选择的都是插件的元器件,便于设计,价格便宜,可操作性强。只有具有操作性才可以最快的实现所具有的功能,而稳定性是系统功能实现的必要基础,只有元器件具有稳定性系统功能才能准确的实现,廉价性是作品推广的主要因素,廉价而又有稳定的功能才会有广大的市场。2.4.1单片机STC89C52RCSTC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选图 2-3 STC89C52/RC实物图 2-4 STC89C52/RC引脚图主要性能参数如下:1. 增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051.1 2. 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V 单片机)3.工作频率范围:040MHz,相当于普通8051 的080MHz,实际工作 频率可达48MHz4. 用户应用程序空间为8K字节5. 片上集成512 字节RAM6. 通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片8. 具有EEPROM 功能9. 共3 个16 位定时器/计数器。即定时器T0、T1、T210.外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒11. 通用异步串行口(UART),还可用定时器软件实现多个UART12. 工作温度范围:-40+85(工业级)/075(商业级)13. PDIP封装2.4.2 DS1302时钟芯片DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。结构DS1302的引脚排列,其中Vcc2为主电源,VCC1为后备电源。在主电源关闭的情况下,也能保持时钟的连续运行。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引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端。 下图为DS1302的引脚功能图:控制字节DS1302 的控制字如图2所示。控制字节的最高有效位(位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码形式,其日历、时间寄存器及其控制字见表1。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。各寄存器如下图 问题说明DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位Write Protect(D7)必须为逻辑0,如果D7=1,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入), D0=1,指定读操作(输出)。在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100 F就可以保证1小时的正常走时。DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。2.4.3 DS18B20DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20如下图所示 DS18B20实物图 DS18B20封装图1: 技术性能描述、 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 、测温范围 55+125,固有测温误差(注意,不是分辨率,这里之前是错误的)1。、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。、工作电源: 3.05.5V/DC (可以数据线寄生电源) 、在使用中不需要任何外围元件、 测量结果以912位数字量方式串行传送 、不锈钢保护管直径 6 、适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温、 标准安装螺纹 M10X1, M12X1.5, G1/2”任选 、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。应用范围该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域。轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。汽车空调、冰箱、冷柜、以及中低温干燥箱等。供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制。工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值【1】。接线方法面对着扁平的那一面,左负右正,一旦接反就会立刻发热,有可能烧毁!同时,接反也是导致该传感器总是显示85的原因。实际操作中将正负反接,传感器立即发热,液晶屏不能显示读数,正负接好后显示85。特点独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 C至+125 。华氏相当于是-67 F到257华氏度 -10 C至+85 C范围内精度为0.5 C温度传感器可编程的分辨率为912位,温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数)。由于DS18B20是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一: 1 )读ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳过ROM, 5 )报警检查。这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM 的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。 2.4.3LCD1602液晶模块1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。实物如图2-10 图2-10 贴片蜂鸣器管脚功能1602采用标准的16脚接口,其中:第1脚:GND为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。特性3.3V或5V工作电压,对比度可调内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能有80字节显示数据存储器DDRAM内建有192个5X7点阵的字型的字符发生器CGROM8个可由用户自定义的5X7的字符发生器CGRAM特征应用微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。操作控制注:关于E=H脉冲开始时初始化E为0,然后置E为1。3系统硬件的设计作品设计在硬件方面采用了分功能模块的方式来实现整体的功能,每一个模块都有自己对应的功能,每一个模块必须能单独实现自己的功能并且相互之间不会有干扰,将所有模块组合起来后可以稳定的运行,并达到设计的要求。3.1电路工作原理(1)工作原理本设计是一个由一个单片机系统控制,DS1302时钟芯片负责计时工作。DS18B20获取温度并在内部转换为数据,单片机通过和DS1302与DS18b20的通讯,获取DS1302内部的时间数据和DS18B20将温度转换得到的数据,显示到LCD1602液晶显示屏幕上。 3.2 电路总体设计本设计以STC89C52/RC单片机最小系统为核心,STC89C52/RC是主要的控制芯片,其余模块的设计全部围绕单片机控制来展开的,其中DS18B20S温度传感器为核心组成温度采集电路,8550三极管和蜂鸣器组成了报警电路部分。DS1302是时钟显示部分,用来时间的计算,LCD1602为核心组成的显示电路。各个模块在STC89C52/RC的最小系统下合作工作。电路原理图是用Altium Designer 13软件绘制而成,Altium Designer是Altium公司13年推出的一款功能强大的电路设计软件,它将所有设计工具集于一身的PCB板级设计系统软件,可以很轻松设计出电子产品的原理图和PCB图。为了让电路图简单易懂而采用了按模块的不同分块设计,按照不同的功能设计不同的模块,用网络标号将所对应的引脚连接。3.3各模块的设计在可调时钟系统的设计中有不同的几个模块,每个模块都都有不同的分工,控制着不同的功能。3.3.1电路控制模块(单片机)单片机作为本次设计的控制芯片,在电路中相当于大脑的位置,从而单片机模块的稳定工作就尤为重要,单片机系统模块电路主要是单片机最小系统电路组成,单片机最小系统包括单片机,内部时钟(晶振)电路、上电复位电路。手动复位电路,下载接口部分电路,单片机最小系统电路如图3-1:图3-1单片机系统电路单片机I/O口设计如下表3-1单片机I/O口其他模块接口P0.0-P0.7 LCD1602数据口P1.0 LCD1602使能端P1.1 LCD1602 RW接口P1.2 LCD1602 RS接口P3.2-P3.5 按键接口P1.5-P1.7 DS1302控制接口P2.7 蜂鸣器控制接口P2.0 DS18B20控制接口 图3-1 单片机I/O3.3.2 液晶显示模块显示模块使用的是LCD1602,数据口D0至D7口依次链接单片机的P0.1至P0.7口,RS,R/W,E分别连到单片机的P1.0,P1.1和P1.2口。其图如图3-3 图3-3 LED驱动模块3.3.3 时钟电路时钟电路采用的是DS1302时钟芯片,DS1302具有计时精准,外接器件少等特点,X1,X2外接32.768KHZ的晶振,掉电后依靠VCC1外接的3.6V锂电池供电。具体设计如图3-4所示。 图3-4 LED驱动模块3.3.5 蜂鸣器驱动电路蜂鸣器电路由三极管放大电路和蜂鸣器组成。由单片机产生方波信号。信号经由8550三极管放大后驱动贴片蜂鸣器产生音乐。蜂鸣器采用的是电磁式的贴片无源蜂鸣器,给指定方波信号经过放大电路放大后就可以发出声音了电路如图3-5 图3-5蜂鸣器发声模块3.3.6 DS18b20温度传感器电路4系统软件的设计本设计是全部采用C语言开发,用C语言开发。程序的阅读性强,可移植性也很高。与汇编相比,C语言在功能,可读性方面都更强,汇编写的代码由于是对寄存器进行直接操作,拥有执行速度快。占用资源少等特点。但是可阅读器极差。维护成本高。随着现在单片机内部存储空间越来越大。程序的存储空间也早已不再那么宝贵。集成开发环境采用的是keil uv4。Keil uv4界面简单。编译速度也很快,还提供强大的仿真调试功能,运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。用keil uv4可以说是最好的选择。系统软件的设计包括单片机主函数结构、DS18B20温度传感器驱动程序、LCD1602驱动程序、DS1302时钟芯片驱动程序设计。具体的程序见附录B。4.1 系统主设计模块系统软件总体核心设计主要是单片机在主函数中调用各功能模块自程序,将子程序还回的数据再通过调用LCD1602显示子程序显示到LCD1602上,主函数调用的子程序有,更新时间子程序、显示时间子程序、更新温度子程序、显示温度子程序、是否设计时间程序、设计闹钟程序、流程图如图4-1所示。开始初始化各端口 更新时间 显示时间 更新温度 显示温度是否设置时间 否 是 设置时间 设置闹钟 图4-1 系统流程图 4.2 更新时间模块单片机通过对DS1302的读写操作获取DS1302内部保存在内部寄存器的时间数剧。再将读取的数据保存到定义的全局变量中,流程图如图4-2所示。开始读取年份并保存读取月份并保存读取周份并保存读取日期并保存读取小时并保存读取分钟并保存读取秒钟并保存 结束 图4-2更新时间流程图4.3 显示时间程序将更新后的时间数据的变量,经过处理后,现实到LCD1602液晶屏幕上,先要对LCD1602C初始化,然后再送数据到LCD1602上,将年份、月份、周、日期、小时、分钟、秒钟和其他符号,显示到LCD1602合适的位置上,流程如图4-3开始 初始化LCD1602 显示年份数据 显示月份数据 显示周份数据显示日期数据显示小时数据显示秒钟数据结束显示分钟数据图4-3 显示时间流程图4.4设计时间可以对当前显示的时间进行设置。时间设计分别是,年份、月份、周、小时、分钟、秒。流程图如图4-4开始设置年份并保存设置月份并保存设置周份并保存设置日期并保存设置小时并保存设置分钟并保存设置秒钟并保存结束图4-3 设置时间流程图4.4设计时间可以对当前显示的时间进行设置。时间设计分别是,年份、月份、周、小时、分钟、秒。闹钟时间是1分钟,流程图如图4-4设置闹钟小时设置闹钟分钟开始 结束图4-4闹钟设计流程图5系统的调试与运行结果设计完成后需要进行一定的调试,硬件方面要做的是在系统连接好后,调试各个模块能否正常工作,能否达到软件设计的功能。而软件的任务就是编写程序并准确无误的早设计的硬件上运行,使用USB转TTL电平下载器下载到单片机里,最后达到本设计所有功能。5.1 系统的调试在调试的过程中首先要注意的是电路的焊接,在焊接的过程中要避免虚焊,同时要注意短路、缺焊、漏焊等问题,在焊好的每一步时都是需要认真检查的,这样就可以避免在最后焊接后难以检查出问题所在。在焊接前一定要检查好所有的元器件,保证其功能都是正常的,避免焊接上去很难查出问题出在哪里。各个模块的功能必须单独调试的,这样可以确定问题出在哪一部分,能最快的找到并解决问题的所在。在每个模块部分调试完成之后,接下来的工作就是进行整体的调试工作了,整体调试我们应该特别注意电路的细节部分,这样才能最大程度的减少犯错误的的可能。在整体的调试完成以后,系统开始运行后,开始开机,即可看到LCD上显示时间和温度。对按下按键会产生相应的操作。参考文献1郭天祥. 新概念51单片机C语言教程电子工业出版社2009-01-012张鑫.单片机原理及应用(第3版)电子工业出版社2014-08-013徐爱钧.STC15增强型8051单片机C语言编程与应用电子工业出版社2014-10-014吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用M. 北京:清华大学出版社,2002.5唐颖单片机原理与应用及C51程序设计M北京:北京大学出版社,2008:14-186张毅刚单片机原理及接口技术(C51编程)人民邮电出版社2011-08-017高吉祥.全国大学生电子设计竞赛培训系列教程M.北京:电子工业出版社.20078李平等.单片机入门与开发M.机械工业出版社,2008.9钟富昭等.8051单片机典型模块设计与应用M.人民邮电出版社,2007.08.10刘守义等.单片机技术基础M.西安电子科技大学出版社,2007.11陈海宴.51单片机原理及应用M.北京航空航天大学出版社,2010.12王东峰等.单片机C语言应用100例M.电子工业出版社,2009.13孙岩.嵌入式实时操作系统C/OS-II经典实例.北京航空航天大学出版社,2014.14 王俊峰,孟令启.现代传感器应用技术M.北京:机械工业出版社.2007:67-70. 15 高吉祥.全国大学生电子设计竞赛培训系列教程M.北京:电子工业出版社.200716 李增国.传感器与检测技术M.北京:北京航空航天大学出版社.2009:65-67.124致谢这次设计能够很顺利的完成,第一要感谢我的指导老师XXX,XXX给我提供了许许多多的指导和资料,让我对本次设计有了一个大概的了解,在XXX的指导下,我把这次设计所需要用到的元器件都了解的差不多,同时也弄明白此次设计所需要的元件需要掌握的一些知识、技能等。在这次设计的过程中,我的指导老师在我思路不清晰时给我指明了明确的思路,让我在设计的过程中少走了不少弯路,同时有许多不懂的地方也是老师耐心的教导才搞懂,所以才顺利的完成了本次的设计。还要感谢的是学校,是学校给了我这次机会。这次的毕业设计,我又学到了许许多多的东西,同时,我动手能力也增加了。这次的设计还让我有了一次独立完成设计的经历,这个经历在我们以后的工作上会有很大的帮助,同时也让我知道自己目前的水平。最后再次感谢我的指导老师与我的同学,谢谢他们的大力支持才让我顺利的完成了我的毕业设计。附录原理图程序:#include#include#define uchar unsigned char#define uint unsigned int#define LCD1602_DATA P0 /定义P3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论