多功能电子万年历设计毕业论文

上传人:1666****666 文档编号:36129997 上传时间:2021-10-29 格式:DOC 页数:71 大小:3.10MB
收藏 版权申诉 举报 下载
多功能电子万年历设计毕业论文_第1页
第1页 / 共71页
多功能电子万年历设计毕业论文_第2页
第2页 / 共71页
多功能电子万年历设计毕业论文_第3页
第3页 / 共71页
资源描述:

《多功能电子万年历设计毕业论文》由会员分享,可在线阅读,更多相关《多功能电子万年历设计毕业论文(71页珍藏版)》请在装配图网上搜索。

1、论文题目:多功能电子万年历的设计学 院 电气工程学院 多功能电子万年历设计专业:自动化 姓名: 指导老师:摘 要 随着科学技术的快速发展,纵观太阳、摆钟到现在电子钟,人类不断研究,不断创新进步。目前,单片机技术的应用产品已经走进了千家万户。多功能电子万年历的出现给人们的生活带来了诸多方便。此产品是基于STC89C52RC单片机的日历显示系统,它能显示公历年、月、日,以及时、分、秒、温度、星期等信息,而且还具有调整时间,温度采集,闹钟及个性化的闹铃等功能。系统所用的时钟日历芯片DS1302具有高性能、低功耗、接口简单的特点,使本系统电路简化,编程方便,同时功能也很强。采用STC89C52RC单片

2、机的万年历系统可以很好的改善传统采用模拟电路引起的计时不准确,不可靠,一致性差等问题。此系统计时精确,价格低廉,可以广泛应用在生活,学习和工作等任何领域,并且起到重要作用。 关键词:万年历,单片机,时钟芯片,温度芯片70ABSTRACTAlong with the technical fast development, time passing, to from the view sun, the pendulum clock to the present electron clock, the humanity studies unceasingly, innovates unceasing

3、ly the record. At present, the monolithic integrated circuit technologys application product already entered everyone. The electronic ten thousand calendars appearances have brought conveniently many for peoples life.This design is one based on STC89C52RC single-chip microcomputer calendar display s

4、ystem, it can demonstrate years, the month, the date of the Gregorian calendar, and hour, minute, second, temperature, week and so on. Moreover it has also provided the lunar calendar information, adjustable time pattern, temperature sample, alarm system, individual quarter-bell and so on. The syste

5、m clock calendar DS1302 with high performance, low power consumption and simple interface features Circuit enable the system to streamline programming convenience, but also highly functional. The problems of inaccurate, unreliable, and the uniform inferior can be come up when you use the analogous c

6、ircuit. However, it can be improved when you use the clock system based on STC89C52RC single-chip microcomputer. The system time accurate, low cost and can be widely applied to the life, study and work in any field, and has played an important role. Key words:The Electronic Calendar Clock, Single-ch

7、ip Microcomputer, The Time Calendar Clock, Temperature Chip目录ABSTRACT31 绪论81.1多功能电子万年历的研究背景与意义81.2多功能电子万年历的发展现状91.3论文研究的内容91.4 本设计进行的主要工作101.5本多功能电子万年历系统主要要实现的功能102单片机的简介112.1单片机的介绍113 方案设计与论证133.1单片机芯片设计与论证133.2 电源模块设计与论证143.3 按键控制模块设计与论证143.4 时钟模块设计与论证153.5 温度采集模块的设计与论证153.6 显示模块设计与论证154 系统的硬件设计17

8、4.1 主控芯片STC89C52RC与复位电路和时钟振荡电路174.1.1 STC89C52RC的概述174.1.2复位电路和时钟振荡电路194.2 时钟芯片DS1302接口设计和性能分析204.2.1 DS1302性能简介204.2.2 DS1302接口电路设计214.3 温度芯片DS18B20接口设计和性能分析254.3.1 DS18B20的性能介绍254.3.2 DS18B20的接口电路设计264.4 闹钟模块系统设计于性能分析264.4.1 AT24C02器件分析274.4.2 接口电路的设计284.5 LCD显示模块284.5.1 LCM1602的特性及使用说明284.5.2 LCM

9、1602与STC89C52RC单片机的接口电路304.6 按键模块设计314.7蜂鸣器设计325 软件设计345.1 软件总体部分的设计345.2 LCD驱动及液晶显示365.3 按键识别及处理365.4 温度数据采集365.5 时间数据采集385.6 闹钟程序406 系统的测试42总 结45致 谢46参考文献47附 录48 1 绪论1.1多功能电子万年历的研究背景与意义伴随着单片机和电子技术的快速发展,人类不断研究,不断创新纪录。万年历已经不像以前那样以书本形式出现。以电子产品形式或者电脑软件形式出现,并附加有温度、湿度监控以及闹铃提示功能的万年历被称为多功能电子万年历。与先前的书本形式的万

10、年历相比,多功能电子万年历成为了各个电子产品的一部分而得到了广泛的应用,如在手机、电脑、空调等电子电气产品中大量使用。采用电子时钟作为时间显示已经成为一种时尚。目前市场上各式各样的电子时钟数不胜数,但多数是只针对时间显示,功能单一不能满足人们日常生活需求。本文提出了一种基于STC89C52RC单片机的多功能电子万年历设计方案,采用一个LCD显示。本方案以STC89C52RC单片机作为主控核心,与时钟芯片DS1302、温度芯片DS18B20、闹钟模块、闹钟设置存储模块、按键、LCD显示等模块组成硬件系统。在硬件系统中设有4个独立按键和一个LCD显示器,能显示丰富的信息,根据使用者的需要可以随时对

11、时间进行校准、选择时间、星期、温度显示以及提醒等.总体来说多功能电子万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。1.2多功能电子万年历的发展现状随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。国内企业为了获得更大的投资收益,在生产规模和产品质量上不断提升,开发单片机呈必然趋势。二十一世纪的今天,具有代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。前两次革命是摆和摆轮游丝的发明,以及石英晶体振荡

12、器的应用,第三次革命就是单片机数码计时技术的应用(电子万年历),使得从原来传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期,星期,温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨越性的进步。1.3论文研究的内容本设计采用STC89C52RC芯片作为系统主要芯片,能以的超低的3.3V电压工作,而且能够和51单片机系列完全兼容,该芯片内部存储器ROM为8KB 存储空间。具有和51系列单片机一样的功能,并且具有可擦除可在线编程技术。用LCD数码管动态显示,LCD数码管价格适中,对于显示数字合适,且采用动态

13、扫描法与单片机连接时,占用单片机接口线少。采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分时日周月年以及闰年补偿的年进行计数,而且精度高,位的RAM作为数据暂存区,工作电压可以在2.5V5.5V范围内,2.5V时耗电小于300mA。因此采用STC89C52RC单片机作为此设计的主要芯片,且作品的精度高,成本低,易于制作研究。1.4 本设计进行的主要工作(1)分析多功能电子万年历的运行原理;(2)设计多功能电子万年历的总原理图;(3)根据多功能电子万年历的原理图选择各个模块的芯片;(4)设计多功能电子万年历的总流程图和各个模块的流程图;(5)根据多功能电子

14、万年历的总流程图和各个模块的流程图,用C程序语言编写程序;(6)根据多功能电子万年历的原理图连接硬件电路做出实物;(8)对多功能电子万年历进行硬件测试;(9)实现总体设计目标。1.5本多功能电子万年历系统主要要实现的功能(1)设计一个万年历可以显示年、月、日、时、分、秒、星期,具有调整日期和时间功能,可以与即时时间同步;(2)具有闹铃设置功能,可以设置任意时间闹铃,发出报警信息;(3)具有温度采集功能,可以采集-55-125之内的温度,并且显示在LCD上。2单片机的简介2.1单片机的介绍单片机作为一个微型计算机而得到的集成电路芯片。它运用特大规模集成技术将:具有数据处理能力的CPU、含程序存储

15、器ROM和数据存储器RAM、输入、输出口电路(I/O接口)集成在同一块芯片,构成一个小巧而又很完善的微型计算机系统,在程序语言的控制下能准确、高效而又迅速地完成程序设计者需要完成的任务。因此说,一个单片机就具有了能够组成计算机的全部的功能。然而单片机又和单板机(一种能够将微处理器的芯片、存储器芯的芯片、输入输出接口芯片安装在同一个印制电路板上的微型的计算机)不相同,早先的单片机芯片在没有开发完全之前,它只是一种能够具备极强功能的超大规模集成电路,倘若对它能够进行应用开发,单片机便可以成为一个小型的微型计算机控制系统,然而它与单板机或个人电脑(PC机)有着本质的区别。不同的单片机有着不同的硬件特

16、征和软件特征。单片机芯片的内部结构决定了其硬件特征,某种单片机被用户使用之前,用户必须了解这种类型产品是否满足想要实现的功能和应用系统的特性以及指标。这期中的技术特征包括:功能特性、控制特性以及电气特性等等。软件特征指的是指令系统特性和开发支持环境,指令特性就是输入输出特性、单片机的寻址方式、数据处理和逻辑处理方式、和对电源的要求等。开发支持环境:支持软件、指令的兼容及可移植性以及硬件资源。想要开发自己的应用系统而要使用某型号单片机,掌握其技术特征和结构特征是必不可少的。数字电路或复杂电子线路构成的控制系统可以用单片机控制系统取代是之简单化、易操作。就可以软件控制来实现,且能够实现智能化和模块

17、化。现在单片机控制范围无所不在,比如家用电器、过程控制、通信产品、智能仪器仪表和专用控制装置等等,单片机被广泛的应用在各行各业。诚然,单片机的应用意义远远超过了其应用范畴和由此带来的经济效益,更为重要的是它已从根本上改变了传统的设计思想和控制方法。这是控制技术领域的一次革命,也是一座重要的里程碑。3 方案设计与论证按照系统设计的要求,初步确定系统由电源模块、时钟模块、显示模块、键盘接口模块、温度测量模块和闹钟模块共六个模块组成,电路系统构成模块框图如图3.1所示。SCT89C52RC电源模块温度采集模块独立按键闹钟模块显示模块时钟模块图3.1硬件电路模块框图3.1单片机芯片设计与论证方案一:

18、采用AT89C51芯片作为主控芯片,内部具有4KB ROM 存储空间,能于3V的超低电压工作,就是可以和51系列的单片机可以完全兼容,但是当其运行在电路设计中的时候由于不能具备ISP在线编程的技术;方案二:采用STC89C52RC芯片作为硬件的核心,,能以的超低的3.3V电压工作,而且能够和51单片机系列完全兼容,该芯片内部存储器ROM为8KB 存储空间。具有和51系列单片机一样的功能,并且具有ISP在线可擦除可在线编程技术;综合考虑,采用STC89C52RC作为主控芯片,它的内部存储空间更大,且具有ISP在线编程技术,可节省成本。3.2 电源模块设计与论证方案一:采用USB电源线接电脑USB

19、口为系统提供电源,携带不方便,成本高;方案二:采用独立的5V电源,为单片机及外部电路提供电源,能提供较为稳定的电压及足够的功率,制作简单,成本较低、便于携带;考虑系统为一个便携式用品,方案一不便于携带,故采用方案二。3.3 按键控制模块设计与论证方案一:采用矩阵键盘,由于按键多可实现数值的直接键入,但在系统中需要CPU不间断的对其端口扫描;方案二:采用独立按键,查询简单,程序处理简单,可节省CPU资源;因系统中所需按键不多,为了释放更多的CPU占有时间,故采用方案二。3.4 时钟模块设计与论证方案一:采用直接的单片机定时/计数器提供所需的秒信号,编程程序来实现秒、分、时、日、周、月、年的计数。

20、采用这一种方案虽然可以减少所用的芯片的数量和节约成本,但其实现后的时间误差较大不准确;方案二:采用DS1302时钟芯片而实现的时。DS1302芯片是一种具有高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM作为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA;综合考虑制作难度及精度,故采用方案二。3.5 温度采集模块的设计与论证方案一:采用温度传感器(如热敏电阻或AD590),再经AD转换得到数字信号。虽然价格低廉,但精度不高,电路较复杂;方案二:采用数字式温度传感器DS18B20,它能直接读出被测温度,并且可根据实际要

21、求通过简单的编程实现9-12位的数字值读数方式,虽然价格较贵,但精确度高,误差在1左右;综合考虑,采用方案二,用DS18B20温度芯片,采用单总线访问,降低成本、降低制作难度且可节省单片机宝贵的GPIO资源。3.6 显示模块设计与论证方案一:采用LED的方法,虽然亮度较高、成本低,但电路连接复杂,;方案二:采用LCD的方法,具有硬件制作简单可直接与单片机接口,LCM1602可显示32个字符,采用LCD的缺点是亮度不够;比较以上两种方案,采用方案二,由于本多功能电子万年历是一种小型系统,采用独立电源供电,因此采用LCD显示也可以简单化电路连接。4 系统的硬件设计4.1 主控芯片STC89C52R

22、C与复位电路和时钟振荡电路4.1.1 STC89C52RC的概述 STC89C52RC 单片机是以52内核为主的单片机系列,STC单片机是宏晶公司生产的产品(单时钟/机器周期)的单片机,是具有特别强的抗干扰、高速、低功耗的新生代的8052单片机,它的指令代码是可以全部兼容传统8051,但速度比51快812倍,内部集成了MAX810的专门用的复位电路。4路PWM和8路的高速的10位A、D转换,针对电机/强干的扰控制场合。STC89C52RC单片机引脚如下图:图4.1 STC89C52RC单片机引脚如下图STC89C52RC单片机主要性能:(1)高速:1个时钟/机器周期,增强的8051,速度比传统

23、的8051快812 倍;(2)低功耗的设计:空闲模式,掉电模式(唤醒可由外部中断);(3)工作频率:040MHz,相当于频率为08MHz的一般8051;(4)时钟:可由外部的晶振或者内部的RC振荡器,在ISP环境下下载用户编程程序事设计;(5)16K的字节的芯片内部Flash程序存储器,擦出读写次数可以在10万次以上;(6)芯片内部RAM数据存储器:512个字节;(7)芯片内部有EEPROM 功能;(8)ISP / IAP,在系统和应用可编程时,无需编程器和仿真器;(9)16位定时器和2个硬件,兼容普通8051的定时器;(10)有WDT看门狗功能;(11)SPI的通信端口为高速的;(12)串口

24、为UART(双全工异步),和普通8051兼容的串口;(13)结构采用了较为先进的指令集,和8051普通指令集相兼容,4组8个8位通用的工作寄存器,有硬件乘除法指令;(14)通用I/O 口(27/23/15 个),复位后为: 准双向口/ 弱上拉(普通80C51 传统I/O 口);(15)有四种模式可供设置:准双向口/ 弱上拉,推挽/ 强上拉,仅为输入/ 高阻,开漏每一个I/O 口的驱动能力都可达到20mA,但是整个芯片的电流最大不能超过55mA。4.1.2复位电路和时钟振荡电路 (1) 复位电路:按键的手动式复位就是通过使复位端经电阻(R)与VCC接通而后来实现的,与单片机接口图如图4.2图4.

25、2复位电路与单片机接口图(2) 时钟振荡电路:本多功能电子万年历时钟振荡电路采用的是内部时钟方式的电路,此电路可以通过调节电容C0和C1的大小对频率进行微调,是之达到技术要求,与单片机的接口电路如图4.3:图4.3时钟振荡电路与STC89C52RC单片机的接口电路4.2 时钟芯片DS1302接口设计和性能分析4.2.1 DS1302性能简介DS1302是Dallas公司生产的一种实时时钟芯片。它通过串行方式与单片机进行数据传送,能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动进行调整;它还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也

26、能保持时钟的连续运行。另外,它还能提供31字节的用于高速数据暂存的RAM。DS1302的时钟芯片内部主要包括:振荡器、控制逻辑电路、移位寄存器。DS1302和单片机系统之间的数据传送依靠的是SCLK、RST、I/O,三根端口线就可以完成。它工作时的过程为:首先系统RST这个引脚驱动到高电平,然后在SCLK时钟脉冲作用下,通过I/O口向DS1302输入命令和地址字节,而后在SCLK时钟脉冲信号的配合下,从I/O引脚读出或写入相关的数据的字节。所以,它和单片机二者之间的数据传送是很容易实现的,DS1302的管脚排结构图如图4.2。DS1302引脚说明: 图4.4 DS1302引脚图脚X1,X2 3

27、2.768kHz晶振引脚GND 地线RST 复位端I/O 数据输入/输出端口SCLK 串行时钟端口VCC1 慢速充电引脚VCC2 电源引脚 4.2.2 DS1302接口电路设计(1)时钟芯片DS1302的接口电路和工作原理图4.5 DS1302与单片机的接口电路图4.5为DS1302的接口电路,其中VCC1为后备电源,VCC2为主电源。VCC1在单电源去提供电能的系统中可以采用提供低电源,而且可以提供低功率的电池的备份了。VCC2在采用双电源提供电能系统中就是充当主电源来运用,其在这一种运用地方式中VCC1就连接到备份地电源,以致于在没有主电源地情况之下能确保保存时间信息以及数据。DS1302

28、由VCC1或VCC2 两者中较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲。表1为DS1302的控制字,此控制字的位7必须置1,若为0则不能对DS1302进行读写数据。对于位6,若对时间进行读/写时,CK=0,对程序进行读/写时RAM=1。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;进行写操作时,该位为0。控制字节总是从最低位开始输入/输出的。表2为DS1302的日

29、历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,“WP”必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。(2)DS1032的控制字DS1302它的控制字由表-1所表示。控制字节的高有效位(位7)一定是逻辑1,倘若它为0,则就不可能把数据写入到DS1302中去。位6若为0,则表示的就是存取日历的时钟数据,为1,则表示存取的RAM数据。位5到位1指示的是操作单元地址。最低有效位(位0)若为1,则表示进行读操作,为0,则表示进行写操作。控制字节一直

30、是从最低位输出开始的。表1 DS1302的控制字格式(3)数据输入/输出(I/O口)从控制指令字输入之后的下一个时钟脉冲的上升沿,数据开始就被写入了DS1302,数据的输入从位0开始。同样的,从接下来的8位的控制指令字后的下一个时钟脉冲的下降沿,开始读出DS1302的数据,读出这些数据时从低位(0位)到高位(7)。如下图4.6所示。图4.6 DS1302读/写时序图(4)DS1302的寄存器DS1302的寄存器有12,其中的7个寄存器可以和日历以及时钟有关联,存放的形式就是以数据位为BCD码的形式,它的时间和日历的寄存器以及其控制字可以见表2。表2 DS1302的日历和时间寄存器此外,DS13

31、02 还有寄存年份的寄存器、充电量、控制等寄存器、与内外部的RAM相关的寄存器及和时钟突发的寄存器们等。时钟突发的寄存器可以一次性的顺序读写,除充电的寄存器之外的其他所有的寄存器的内容。 DS1302和RAM关联的寄存器是可以分成为两大类:其中之一就是单个的RAM单元(31个),每一个单元组由一个的8位的字节组成。它的命令 控制字是C0HFDH,这中间奇数为读操作,偶数则为写操作;而另一类是突发地方式下地(RAM)寄存器,这种方式下可以一次性的读/写出所有RAM的31个的所以字节,它的命令控制字是FEH(写)、FFH(读)。4.3 温度芯片DS18B20接口设计和性能分析4.3.1 DS18B

32、20的性能介绍(1)DS18B20的主要特性:DS18B20的温度传感器是由美国DALLAS半导体公司最新推出的,它一种改进型的智能温度传感器,和普通热敏电阻等元件相比,它可以直接的读出被测量的温度,而且能够根据实际情况的要求通过简单的程序编程来实现9-12位的数字值读取方式。在现场的温度可以直接以一线总线的数字方式来传输,很好地提高了系统的抗干扰的能力。它可以适应于恶劣地环境的现场的温度的测量。就像:雪地环境测量以及测量温度类消费电子产品等。和早前一代的产品不同的是新的产品可以支持3.3V5.5V的电压范围,使系统设计更灵活、更简单、更方便。它的性能特点可归纳如下: 独创的单线式接口仅需要一

33、个端口引脚进行通信; 测温范围在-55到125,分辨率最大可达0.0625; 采用了3线制与单片机相连,减少了外部硬件电路; 零待机功耗; 可通过数据线供电,电压范围在3.3V-5.5V; 用户可定义的非易失性温度报警设置; 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 负电压特性,电源极性接反时,温度计不会因发热烧毁,只是不能正常工作。(2)DS18B20工作原理:DS18B20的读、写时序与之测温原理和以前的DS1820相同,只不过是得到的温度的数值的位数因为分辨效率不同而不尽同的,而且温度转换时候的延迟时间由2s减少到750ms。图示中的低温系数的晶振的振荡的频率,它受

34、温度变化的影响非常小,运用在产生固定的其频率地脉冲送给其计数器1。高温度的系数的晶振随着温度的变化其振荡频率很明显发生了改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。4.3.2 DS18B20的接口电路设计如图4.7所示,该系统中采用数字式温度传感器DS18B20,具有测量

35、精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,用P2.3与DS18B20的DQ口连接,VCC接电源,GND接地。 图4.7温度传感器DS18B20接口电路4.4 闹钟模块系统设计于性能分析此部分硬件上利用AT24C02存储闹钟时间,普通蜂鸣器作为闹铃播放器件。4.4.1 AT24C02器件分析(1)AT24C02的特性: 与400KHz I2C 总线兼容; 到6.0 伏工作电压范围; 低功耗CMOS 技术; 写保护功能当 WP 为高电平时进入写保护状态; 自定时擦写周期; 1,000,000 编程/擦除周期; 脚DIP SOIC 或TSSOP 封装; 温度范围商业级工业级和

36、汽车级。(2)AT24C02功能说明AT24C02支持的是I2C 为总线数据的传送协议。I2C 的总线协议规定:发送器为把数据传输到总线的器件;接收器为接收总线数据的器件。数据传送的控制是由产生串行时钟以及所有起始停止信号的主器件决定的。主器件与从器件都是能够作为接收器或发送器的,但是由主器件控制传送、发送或接收数据的模式通过器件的地址输入端口A0、A1 和A2 可以实现将最多8个24WC01和24WC02 器件连接到总线上。引脚图脚描述如下:图4.8 AT24C02引脚图A0 A1 A2 器件地址选择SDA 串行数据和地址SCL 串行时钟WP 写保护 VCC +1.8V6.0GND 接地4.

37、4.2 接口电路的设计 AT24C02与单片机的接口电路如图4.7所示:4.9 AT24C02与STC89C52RC的接口电路4.5 LCD显示模块4.5.1 LCM1602的特性及使用说明(1)LCM1602的接口信号说明表表3 LCM1602的接口信号编号引脚符号功能说明编号引脚符号功能说明1VSS电源地9D2DATA I/O2VDD电源正极10D3DATA I/O3VL液晶显示的偏压信号11D4DATA I/O4RS数据/命令选择端(H/L)12D5DATA I/O5R/W读/写选择端(H/L)13D6DATA I/O6E使能信号14D7DATA I/O7D0DATA I/O15BLA背

38、光正极8D1DATA I/O16BLK背光负极(2)基本地操作时序如下: 读状态:RS=L,RW=H,E=H; 写指令:RS=L,RW=L,D0D7=指令码,E=高脉冲; 读数据:RS=H,RW=H,E=H; 写数据:RS=H,RW=L,D0D7=数据,E=高脉冲。(3)初始化地设置: 显示的模式设置如下表4表4显示的模式设置指令码功能00111000设置16X2显示,5X7点阵,8位的数据接口 显示开/关以及光标设置如表5表5 显示开/关以及光标设置指令码功能00001DCBD=1 开开显示; D=0 关掉显示C=1 显示出来光标;C=0 不会显示光标B=1 光标要闪烁;B=0 光标不会显示

39、000001NSN=1 当读或着是写一个字符之后地址指针就加1,并且光标也加1;N=0 当读或着是写一个字符之后地址指针就减1,并且光标也减1;S=1 当要写一个字符,整个的屏幕就会显示左移4.5.2 LCM1602与STC89C52RC单片机的接口电路接口电路如图4.8所示: 图4.10 LCM1602的接口电路图LCD的D0D7分别接单片机的的P0口,作为数据线,因为P0口内部没有上拉电阻,所以外部另外加上10K的上拉电阻;P2.0P2.2分别接LCD的RS、RW、E三个控制管脚;RV1用来调节LCD的显示灰度;BLK、BLA为背光的阴极和阳极,接上相应电平即点亮背光灯。4.6 按键模块设

40、计本系统用到了5个按键,其中一个用作系统手动复位,另外4个采用独立按键,该种接法查询简单,程序处理简单,可节省CPU资源,按键电路如图4.11所示,4个独立按键分别与单片机的P1.4、P1.5、P1.6、P2.7接口相连。图4.11 按键电路(1) 对以上4个按键作简要说明:S2SET(时间设置键),S3UP键,S4DOWN键,S5SET1(闹钟设置键)。SET键:按下SET键进入时间校准状态,按一下进入秒调整,两下分调整,依此类推可进行各年月日,时分秒以及星期的校准;UP键:当SET键按下时,UP进行SET选定项(如:小时)的加操作;DOWN键:当SET键按下时,DOWN进行SET选定项(如

41、:小时)的减操作;SET1键:当SET键按下时,此键功能为设置闹钟时间和开关闹钟功能。(2)按键消抖设置:由于从键按下到接触稳定要经过数毫秒的抖动,键松开时也有同样的问题,这样会引起一次按键多次读数,因此需要消除抖动来解决这个问题。解决键的抖动可使用软件或硬件的方法。键数较多时,采用软件延时的方法。本产品按键较少可实验R-S触发器来克服抖动,如下图所示:图4.12 R-S触发器按键消抖电路图4.7蜂鸣器设计为闹钟响铃而设计的蜂鸣器电路图如图4.13所示:图4.13蜂鸣器电路图在本设计中,蜂鸣器连接关系如图所示单片机T1脚输出接Q1基极,通过控制Q1导通或截止来控制蜂鸣器上是否有电流,从而发出声

42、音。当前的时间值等于设定的闹铃时间值的时候,蜂鸣器会发出声音报警。5 软件设计整个软件系统采用C语言编程,主要实现以下功能:(1)LCD的驱动;(2)按键的识别处理;(3)温度的采集;(4)时间数据的采集;(5)闹铃的设置。5.1 软件总体部分的设计程序从main()函数开始运行,随后对LCD、DS18B20、DS1302、闹钟模块等器件进行初始化操作并对标志位赋初值,随后进入while(1)循环中运行按键扫描程序及液晶显示程序,详细程序见附录B。(1)主程序流程图如图5.1初始化标志位DS1302初始化闹钟模块初始化LCD1602初始化DS18B20初始化模式标志位done=?调整模式LCD

43、显示模块闹钟模块按键扫描模块=0=1程序开始图5.1 主函数流程图5.2 LCD驱动及液晶显示LCD驱动:LCD的驱动包括初始化操作、写指令、写数据、显示模块的设定等操作。LCM1602有以下几个基本时序: 读状态:RS=L,RW=H,E=H; 写指令:RS=L,RW=L,D0D7=指令码,E=高脉冲; 读数据:RS=H,RW=H,E=H; 写数据:RS=H,RW=L,D0D7=数据,E=高脉冲;驱动函数是根据这几个基本时序来完成的,下面是LCD的几个主要驱动函数(详细见附录): LCD_Write() *功能:LCD写指令/数据; LCD_Initial() *功能:LCD初始化; Goto

44、XY(unsigned char x, unsigned char y)*功能:字符显示的位置; Print(unsigned char *str) *功能:输出字符串到LCD。5.3 按键识别及处理本设计中按键采用查询法识别按键,程序简单。本系统中含有四个调整按键,分别命名为SET、UP、DOWN、SET1。在主函数里面查询SET、SET1P两个按键是否按下,UP、DOWN键的功能由SET和SET1键激活。这样设计可以减少CPU的工作量,下面简单介绍本设计中键盘扫描程序(以伪代码的形式),详细见附录B中。5.4 温度数据采集由于DS18B20的单线通信功能是分时完成的,而且会有很严格的时隙的

45、概念,因此读/写时序就会显的很重要。整个系统对于DS18B20的每一种种操作必须按协议进行。操作协议为:初始化DS18B20(发复位的脉冲信号)发ROM的功能命令发存储操作命令处理此次数据。根据单总线操作协议,首先要对DS18B20进行初始化,而初始化有严格的时序控制,即总线控制器(TX)发出一个复位脉冲(至少480us的低电平),然后释放总线进入接收状态,总线由5.1K上拉电阻上拉为高电平,探测到I/O引脚上的上升沿后,DS18B20等待15us60us后,然后发出一个存在脉冲(60us240us的低电平信号)。下面是几个驱动函数:(1)Init_DS18B20(void) *功能:DS18

46、B20初始化(2)ReadTemp(void) *功能:读取温度值温度采集模块流程图如图5.2所示:开始DS18B20初始化温度采集送STC89C52RC处理LCM1602显示是否超范围?YN图5.2温度采集模块流程图5.5 时间数据采集串行的DS1302时钟芯片的期中主要包括了控制逻辑、移位寄存器、实时时钟、振荡器以及内、外部RAM。要是任意的数据传送初始化,就应把RST置为高电平,而且还应该给移位寄存器装入8位的提供地址和命令信息。数据应该串行输入在脉冲信号(SCLK)的上升沿。不管是发生读周期还是写周期,也不管是传送的方式是单个字节的传送或是多字节的传送,开始时候的8位指定的四十个字节中

47、的那一个将被其访问。在初始八个时钟周期之后就把命令字装入到移位的寄存器,之外的时钟正在读操作时的输出/输入的数据。时钟脉冲(SCLK)的数量在单个字节方式下应该8加8,其在多个字节的方式下最大可以能够达到248的数。(1)DS1302的时钟部分子程序主要涉及以下几个主要函数:void DS1302InputByte(unsigned char d); *功能:实时的时钟写到里面一字节(内部函数)unsigned char DS1302OutputByte(void); *功能:实时的时钟读取一个字节(内部函数)Write1302() *功能:DS1302写到里面数据函数Read1302() *

48、功能:读取DS1302某某地址地数void DS1302_GetTime(SYSTEMTIME *Time)。 *功能:获取时钟芯片的时钟数据到自定义的结构型数组(2)时间程序的流程图如图5.3所示:开始结束初始化DS1302读时间和日期调整时间和日期NLCM1602显示需要调整时间吗?Y是否继续显示NY图5.3时间程序的流程图5.6 闹钟程序这一部分的实现是采用E2PROM存储器来储存闹钟信息,因为它具有掉电仍能保存数据的特性。所以本设计中把闹钟信息写先写入AT24C02存储器中,然后在程序中读出数据与当前时间进行比较,如果相等则发出闹钟警告。如果要对闹钟值进行修改,可通过几个按键进行,系统

49、能根据用户的设定自动更新闹钟信息。闹钟程序的流程图如图5.4所示:将所定时间写入存储器响铃继续响铃停止响铃是否停止闹铃当前时间与所定时间是否相等闹铃是否响够10sYYYNNN开始图5.4闹钟程序的流程图6 系统的测试本多功能电子万年历实物如图6.1和6.2所示图6.1 多功能电子万年历实物图图6.2 初始开启实物图(1)时间、日期和闹铃设置的测试:打开开关显示器显示初始化数据,按时间调节按钮,光标会从秒位开始闪烁,进入设定调整状态。此时按加按钮,当前数字就可改变。按一次,数字加1。此时,调整的位一直在闪烁,直到再次按时间设置按钮,光标跳到下一位闪烁。调整顺序依次为:秒、分、时、星期、日期、月份

50、、年。当年份点整结束后按时间设置按钮退出,光标停止闪烁,退出设定调整状态。按下闹铃设置按钮,光标从闹铃开关状态“ON”开始闪烁;接下来的调整与前面时间日期设置相同。测试实物图如图6.3、6.4所示:图6.3 实物调试时间、日期、星期、温度显示图图6.4实物调式闹铃显示图计时器最关键的是计时的精度。电子万年历中DS1302电路使用专用的晶振,经测试制作的电子万年历,一个小时快了1s左右,误差较大,实验设计中可换用标准晶振或用软件进行修正。(2)闹铃设定的响铃测试:测试地点五号楼613,2013年5月10号:表6闹铃设定的响铃测试比较表时间本产品时间设置闹铃时间14点20分闹铃开始响铃时间14点2

51、0分1秒(3)温度的测试:测试地点五号楼613,2013年5月10号:表7 间隔5分钟同一地点温度采集比较时间实际测量本产品测量14点23.523.114点5分23.223.9通过比较本产品采集的温度和温度计采集的温度,两者之间温度值相差不大,因此本产品可以完成温度采集的要求。通过调式证实本系统可以完成上文介绍的有共能,但在测试过程中发现本系统没有记忆功能。总 结论文首先对本设计作了简要描述,随后提出了不同的设计方案,经过论证最后确定该设计采用电源模块、时钟模块、显示模块、键盘接口模块、温度测量模块和闹钟模块共六个模块组成,接着分别从硬件系统和软件系统两方面对基于单片机的电子万年历设计作了详细

52、论述,另外还简要介绍了一下系统的调试。在整个设计过程中,硬件方面主要设计了STC89C52RC单片机的最小系统、DS1302接口电路、DS18B20接口电路、闹钟及LCD显示;软件方面借助各个渠道的资料,主要设计了阳历数据读取程序、阳历转阴历程序、温度采集程序、闹铃程序以及LCD显示程序;系统的调试主要是通过一块STC89C52RC开发板,再借助于Keil、STC以及少许自己搭建的外围电路实现的;再此过程中,分步调试时显示出了阳历的日期及时间,还有实时温度,集中调试时没有达到预期效果。但在此过程中培养了自己的动手能力。此多功能电子万年历具有读显示直观、功能多样、电路简洁、成本低廉等诸多优点,符

53、合电子仪器仪表的发展趋势,具有广阔的市场前景。致 谢经过几个月的探索与努力,在指导老师的精心指导写,终于完成了毕业设计及论文。在论文完成之际,我的心情万分激动。从论文的选题、资料的收集到论文的撰写编排整个过程中,我得到了许多的热情帮助。其中无不凝聚着指导老师王老师的汗水和心血,在此本人深表感谢!首先我要感谢我的毕业论文指导老师王涛老师,从论文最初的选题,到后来的开题报告,直到论文完成的整个过程都的到了王老师的精心指导。王老师认真仔细的学风、踏实勤俭的工作态度每时每刻都激励着我要努力的学习,并将鞭策我在未来的工作中锐意进取、奋发努力。导师的指导将使我终生受益。还要对所有授课老师表示深深的谢意!感

54、谢我的各位同学和朋友,只因为有你们我的论文写作才能顺利文成!再者我要感谢各位到场老师,是你们在百忙之中抽出时间来对我的论文进行指导,你们的意见和建议将是我一生的财富!最后,再次向所有关心我、帮助我、支持我的人们表示深深的谢意!参考文献1张萌.单片机应用系统开发综合实例M. 北京:清华大学出版社,2007.7.2楼然苗.单片机课程设计指导M. 北京:北京航空航天大学出版社,2007.7.3沈德金.MCS51系列单片机接口电路与应用程序实例M. 北京:北京航空航天大学出版社,1991.4.4 朱思荣51单片机实现公历与农历、星期的转换Z.当当电子网.5 AT24WC01/02/04/08/16 1

55、K/2K/4K/8K/16K 位串行E2PROMD.广州周立功单片机有限公司.6 DS1302 Trickle Charge Timekeeping Chip datasheetD.7 马忠梅.籍顺心等单片机的C语言应用程序设计M北京航空航天大学出版社, 2001年.8 陈明荧,8051单片机课程设计实训教程M北京:清华大学出版社.9 何立民单片机高级教程M北京:北京航空航天大学出版社,2003年.10 新编单片机原理与应用(第二版).西安电子科技大学出版社,2007.2.11 李广弟. 单片机原理及应用M 北京航空航天大学出版社,2004年.12 王越明.电子万年历的设计J.黑龙江科技信息,

56、2004年.13 SCM1602 LCM 使用说明书DB.长沙:长沙太阳人电子有限公司.14 赵亮. 单片机C语言编程与实例M 人民邮电出版社,2003年.15 . 16 .17 .附 录附录A 源程序:#include #include intrins.h#include 24c02.h#define uchar unsigned char#define uint unsigned intuchar code tabe1=20 - -; /液晶一直显示的字符uchar code tabe2= : : ;uchar code tabe3=Alarm set:;uchar miao,fen,sh

57、i,nian,yue,ri,week,wendu_shi,wendu_ge,wendu_shu,variate,alarm_shi,alarm_fen,alarm_miao;uchar flag=1,count=0,flag_up=0,flag_down=0,flag_alarm=0,alarm_on,alarm_count=0,done=0;uint wendu;/定义IOsbit DQ = P10; /ds18b20温度传送数据IO口sbit ds1302_rst = P11; /1302复位sbit ds1302_io = P12; /数据输入输出sbit ds1302_sclk= P1

58、3; /串行时钟sbit alarm_out = P36;sbit lcd1602_rs = P20; / 1602命令、数据选择sbit lcd1602_rw = P21; / 1602写sbit lcd1602_e = P22; / 1602使能sbit set = P24;/选择按键sbit up = P25;/加sbit down= P26;/减sbit nao = P27;sbit ACC0=ACC0;sbit ACC7=ACC7;/延时void delay(uchar x)uchar y,z;for(z=x;z0;z-)for(y=110;y0;y-);void delay1()_nop_();_nop_();ds18b20_delay(uchar xus) /延时xuswhile(xus-);/*ds18b20*/void ds18b20_init() /DS18B20初始化uchar x=0; DQ=1;ds18b20_delay(8);DQ=0;ds18b20_delay(80);DQ=1;ds18b20_delay(14);x=DQ;ds18b20_delay(20);void write_onechar(uchar dat) /写一字节uchar i;for(i=8;i0;i

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!