基于单片机的简易灯光时钟设计-电子信息工程毕业论文.docx
《基于单片机的简易灯光时钟设计-电子信息工程毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的简易灯光时钟设计-电子信息工程毕业论文.docx(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、宜宾学院本科毕业设计(论文)宜宾学院YIBIN UNIVERSITY 本科毕业论文(设计)题 目: 基于单片机的简易灯光时钟设计 专 业: 电子信息工程 学生姓名: 学生学号: 院 系: 物理与电子工程学院 年级、班: 指导教师: 2014年 5 月 6 日摘要本文介绍了一个基于单片机的简易灯光时钟的设计,它具有显示年、月、日、时钟、分钟和秒、星期的显示功能,还具有闰年补偿等功能,时钟芯片采用的是DS1302,DS1302能存储时间信息,并且可以掉电保存。单片机通过读取DS1302的信息后通过LCD1602显示在液晶屏幕上面。本设计包含4个按键,编号分别为1、2、3、4,每个按键的功能分别为功
2、能选择、光标移动、加按键以及减按键,可以设置闹钟,当DS1302上面的时间跟单片机所设定的闹钟时间一致后,单片机可以驱动蜂鸣器进行闹铃提醒。除此之外,系统还附带整点报时,以及任何时候通过按键语音报时功能。关键词:单片机; LCD1602;蜂鸣器;DS1302;闹钟;语音报时;IIAbstract This paper is aim to introduce a design which is based on simple chip microcomputer clock. It owns two main functions, namely, showing time, including
3、year, month, day, hour, minute and second; and compensation of the leap year. The chip of this design is called DS1302, which can save time information even when the electricity was cut down accidently. The Single-Chip Microcomputer is also capable of reading the information on DS1302 and reflects t
4、he data on the LCD screen through the LCD1602. The design includes four buttons, numbered 1,2,3,4, respectively, each button function selection, cursor movement, plus buttons and minus buttons, you can set the alarm. The Microcontroller can drive the buzzer to make the clock alarming when the time o
5、n these two equipments the same are. Besides, the basic functions in this microcontroller, such as: Chime on every hour and the time speaking by telephone, are also included in this design.Key words: chip microcomputer, LCD1602, buzzer, DS1302, alarm clock.IV目录摘要IABSTRACTII第一章 绪论11.1 目的和意义11.2 本系统实现
6、的主要功能1第二章 总体方案论证与设计22.1主控模块的选型和论证22.2显示模块的选型和论证22.3时钟芯片的选型和论证22.4温度检测模块的选型和论证32.5整点报时模块的选型和论证32.6 电源模块32.7系统整体设计概述3第三章.系统硬件电路设计53.1主控模块53.1.1 单片机的最小系统设计53.2 LCD液晶显示器简介63.2.1 液晶原理介绍63.2.2液晶模块简介63.2.3液晶显示部分与STC89C52的接口63.3键盘模块设计73.4蜂鸣器模块设计83.5时钟模块的设计83.6温度检测模块设计103.6.1温度传感器工作原理103.6.2 DS18B20硬件电路设计113
7、.7 语音模块设计11第四章.系统软件设计124.1系统软件总体设计124.2程序设计原理165.系统调试185.1硬件调试185.2软件调试18参考文献20致谢21附录22系统整体原理图22系统PCB图22元件清单24系统源程序25第一章 绪论1.1 目的和意义现代社会已经迈上了信息化的步伐,微电子技术的发展也越来越快,单片机的运用也日渐广泛。无论是通信业的学生,老师或者是研发人员,对于单片机的运用均青睐有加,因此单片机已成为研发人员必须掌握的能力之一,而且单片机也会发展成为一个高薪行业。而时钟作为电子类的一个小设计,不仅深受人们的喜爱,也是单片机实验中一个非常常见的题目。由于单片机给人有很
8、大的发挥空间,是以会对制作人以高要求对待,并且在掌握设计的同时程序要以简洁为主,功能上要能满足人们需求,显示界面要大胆创新,标新立异。LCD显示的数字时钟清晰直观的显示准确时间、而且精度很是高、并且有夜视功能,还扩展出多种与人方便功能。本设计中的简易灯光时钟既是一个时间控制系统,又包含温度检测系统,既能准确无误的显示出正确的高精度的时间又能检测当前的温度本文提出了以STC51系列单片机为核心,采用DS1302作为电子时钟的核心芯片的设计方案,与温度传感器DS18B20、LED显示、时钟芯片DS1302、按键等模块组成硬件的电子电路系统。显示采用LCD,以实现显示年、月、日、时、分钟、秒、星期、
9、温度。设计过程中使用Keilc51软件,采用C语言编程;此外,还要从多方面保障系统的稳定性,提高系统的性能指标本设计可以对时间进行实时的校准,读取时间方便、能直观显示实时时间、功能方面体现多样话、简单明了的电路、低廉的成本都是该设计的优点,满足未来电子设计的发展要求,市场前景好。1.2 本系统实现的主要功能本系统设计制作一个基于单片机的简易灯光时钟。能实现以下几种功能:(1)键盘扫描,设计按键扫描程序下载到单片机,每个按键赋予一个功能,单片机通过扫描程序检测用户按键,确定后实现功能。(2)通过单片机的ds1302的数据采集,并实时显示年,月,日,时,分,秒,和星期在液晶屏上,并且可以设置时间,
10、系统不供电的情况时钟芯片依然可以由后备纽扣电池供电,使其掉电时间保存。(3)用户可以设定闹钟时间,当时间到了之后,系统自动驱动蜂鸣器发响。(4)系统附带有整点报时功能,以及任何时候通过按键报时功能。(5)系统还带有测温功能,单片机可以实时读取DS18B20的温度数据并在液晶上显示。第二章 总体方案论证与设计本系统可以由主控、显示、时钟、温度检测、电源等模块组成,以下是讨论这几个模块的选型和论证。2.1主控模块的选型和论证方案一:采用MSP430F149,MSP430F169系列单片机,该单片机是TI公司1996年开始推向市场的一种16位超低功耗的混合信号处理器。其内部集成了很多模拟电路、数字电
11、路和微处理器,提供12位ADC,具有采样、保持、自动扫描,有2个16位计数器等强大的功能。但芯片价格昂贵,不适合一般的设计和开发。方案二采用52系列的单片机,该单片机具有可靠性高,价格成本低,解密难,高性能的特点,32个IO口,且STC系列的单片机可以在线编程、调试。因此选用方案二中的52系列单片机作为主控芯片。2.2显示模块的选型和论证方案一:用点阵式数码管显示,它是由发光二极管八行和八列显示文本,更适合用于显示文字,如进行数字显示使用就太浪费了,而且价格比较高,所以不用此种作为显示。方案二:使用LED数码管动态扫描,LED数码管虽然价格适中,最适合数字显示,采用动态扫描的方法与单片机连接,
12、单片机口线占用得少。但是由于数码管动态扫描需要借助74LS164移位寄存器,74LS164在调试的时候,电路方面常出故障,所以不采用LED数码管作为显示。方案三:选用LCD液晶显示屏,它可以清晰可见的显示文字,图像,功能很是强大,关于本设计的要求,我们使用一个LCD1602即能满足要求,成本低,虽然接口线有点多,但是调试会很方便。所以本设计中方案三中的LCD1602液显示屏作为显示模块。2.3时钟芯片的选型和论证方案一:用程序控制单片机实现时间计数。采取该方案虽然能够缩小时钟芯片的使用量,节省成本开支,但是,误差会非常大。方案二:采用DS1302时钟芯片实现时钟,DS1302是美国DALLAS
13、公司推出的一种性能比较高、性价比高,功耗较低、带RAM的实时时钟电路,它可以对年、月、日、时钟、分钟、秒以及星期进行计时,还能进行闰年补偿,工作电压为2.5V5.5V。DS1302里面含有一个8*31的RAM存储器,用于临时存放数据。DS1302主要特点是采用串行数据传输,具有可编程充电和掉电保护功能,采用普通32.768KHz晶振作为标准时钟。因此本设计中采用方案二中的DS1302作为时钟模块2.4温度检测模块的选型和论证方案一:AD590感温电流源的输出电流与绝对温度成比例。电源电压在4 V30 V范围内,AD590可充当一个高阻抗,调节系数为1 A/K为恒流调节器。通过激光调整的片内薄膜
14、电阻,用于校准装置,使该器件在25C时有298.2 A的输出电流。由于该芯片输出为模拟量还同时需要AD转换器对其进行采集。因此不适用于本设计方案二: DS18B20数字温度传感器耐磨耐碰,体积小,主要根据应用场合的不同而外观不同,DS18B20用途广泛,如电缆沟测温,机房测温,弹药库测温、农业大棚测温,高炉水循环测温,锅炉测温,洁净室测温等场合。使用场合广,价格低,实用性强。因此本设计采用方案二中的DS18B20芯片进行温度采集。2.5整点报时模块的选型和论证整点报时模块集成的语音芯片NY3P035,NY3P035是一款具有PWM输出的OTP语音标准芯片,该芯片内部集成了09以及一些常用单位的
15、录音。使用时只要根据录音存放的位置依次读出就能播报出当前的重量和价格。2.6 电源模块方案一: 选用以下两块芯片LM337和LM317自制一个可调的电源模块,LM317和LM337分别是三端可调式输出正电压稳压器和三端可调式输出负电压稳压器。通过这2块芯片,我们可以很容易的得到正负5V,正负12V和正3V电压,但由于本设计需求各模块体积小,而自制电源体积较大,故不采用此方案。方案二: 采用USB接口供电,既能够下载程序,也能供电,一举两得,故采用此方案。2.7系统整体设计概述图2.7 系统结构框图本系统是以STC89C52单片机为核心,首先要对系统进行初始化,然后单片机对键盘,DS18B20等
16、模块进行扫描,实现对键盘的响应,实时显示分钟、秒等,对1602液晶显示,闹钟、温度测量等功能,其中,单片机起到控制和协调各功能模块的工作。系统的结构框图见图2.7。第三章.系统硬件电路设计3.1主控模块单片机在全部设计中起到了统领全局,承前启后的作用,在该设计中单片机需要完成的任务主要有对键盘扫描,对DS18B20进行及时的检测,驱动蜂鸣器,驱动液晶显示需要显示的内容,所以,在本设计中我们选用52系列的单片机作为系统的总控制模块。如图3.1所示为STC89C52单片机的结构框图。图3.1 STC89C52单片机结构框图3.1.1 单片机的最小系统设计图3.1.1 单片机最小系统电路图图3.1.
17、1所示的电路图是单片机在本设计中的最小系统,时钟电路选用12M的晶振,作用是为单片机提供一个时钟基准,其执行一条指令需要一个机械周期,单片机的复位电路是让单片机的状态回到刚上电的状态,因为P0口是一个漏极准双向的I/O口,所以需要上拉电阻才能正常工作。3.2 LCD液晶显示器简介由于本设计中要求显示界面显示一些参数,因此这里选用了LCD1602作为界面显示,可以把一些相关的参数进行显示。 3.2.1 液晶原理介绍显示部分选用LCD1602字符型液晶,辅以必要的外接电路组成显示模块,单片机控制带字符的LCD1602查找其字符库,从中选出要显示的字符,设置光标,将之前查找到的字符在此对应即可。3.
18、2.2液晶模块简介LCD1602液晶模块的引脚图如图3.2.2所示。图3.2.2 LCD1602引脚图液晶寄存器选择控制如表1。表1寄存器选择控制RSR/W操作说明00写入指令寄存器(清除屏幕内容显示等)01读位地址计数器(DB0DB6)和busy flag(DB7)10写入数据寄存器(显示各字型等)11从数据寄存器读取数据3.2.3液晶显示部分与STC89C52的接口 如图3.2.3所示。用STC89C52的P0口作为数据线,用P1.2、P1.1、P1.0分别作为LCD的EN、R/W、RS。其中EN作为片选信号,在出现下降沿的时候触发,RS是寄存器选择信号,R/W是读写信号,在整个显示模块中
19、,我们主要设计步骤如下:首先进行清屏,显示模块初始化。然后将接口数据位设置为8位,显示行数设置为2行,设定字型为57点阵,然后取消光标和字体闪烁, 显示设置为整体显示,最后设置为正向增量方式且不移位。将要显示的字符送到对应的数组中,最后进行统一显示。图3.2.3 LCD1602与STC89C52的接口3.3键盘模块设计本按键模块按键一端接单片机的I/O口,另一端接地,由于单片机的I/O口内部都有上拉电阻,所以在没有按键按下的时候,我们会检测到高电平,当按键被按下,I/O口与地面等电势,此时为低电平,因此通过I/O端口的状态变化检测即可知道按下了哪个按键。4个按键分别代表以下功能,第一为功能选择
20、按键,可以切换不同参数设置界面,第二个为切换按键,可以切换时、分、秒等参数进行设置,第三个为增加按键,第四个为减少按键。其中按键还可以设置闹钟,重置时间等功能。键盘模块电路图如图3.3所示。图3.3键盘模块电路图3.4蜂鸣器模块设计本设计还带有闹钟功能,用户可以通过按键设定好闹钟,当当前时间跟闹钟时间一致的时候,单片机就可以驱动蜂鸣器发声。通过试验,发现单片机的I/O口无法直接驱动蜂鸣器,是因为蜂鸣器的工作电流一般比较大,所以我们利用三极管开关电路来提供足够大的驱动电流。本处选用的是8550三极管,它是一个PNP型的三极管,当基极给低电平的时候三极管导通,这时候蜂鸣器发声,当给高电平的时候,三
21、极管关闭,蜂鸣器不发声。蜂鸣器模块的电路图如图3.4所示。图3.4 蜂鸣器驱动电路电路图3.5时钟模块的设计在本设计中,时钟模块的设计,我们把DS1302这块串行日历时钟芯片作为核心,因为DS1302具有与单片机的连线很少,节省单片机的系统资源的有点,单片机通过I/O读取DS1302上的数据可以得到实时时间。由于采用单片机作为计时模块会占用硬件资源,而且采用中断、查询等方式也要耗费单片机的资源,可能会造成很大的浪费,而采用DS1302却可以很好的解决这类问题。DS1302是美国DALLAS公司推出的一种带RAM、高性能、能对年、月、日、星期、时、分、秒进行计时,并且低功耗,可以进行闰年补偿的时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 简易 灯光 时钟 设计 电子信息工程 毕业论文
限制150内