基于单片机多功能电子时钟的设计.docx

上传人:可****阿 文档编号:30672871 上传时间:2022-08-06 格式:DOCX 页数:42 大小:315.35KB
返回 下载 相关 举报
基于单片机多功能电子时钟的设计.docx_第1页
第1页 / 共42页
基于单片机多功能电子时钟的设计.docx_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《基于单片机多功能电子时钟的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机多功能电子时钟的设计.docx(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、课 程 设 计 说 明 书课程名称: 单片机技术 设计题目:基于单片机多功能电子时钟的设计 学 院: 学生: 学 号: 专业班级: 指导教师: 2016年 4月22 日课 程 设 计 任 务 书设计题目基于单片机多功能电子时钟的设计学生所在学院专业、年级、班设计要求:1、具有电源开关及指示灯,有调节键;2、本次设计完成电子时钟年、月、日、时、分、秒的显示及环境温度测量等功能的基础上完成定时闹钟的功能。硬件电路包括单片机最小系统电路、DS12887实时时钟芯片电路模块、LCD1602液晶显示模块、按键模块、DS18B20温度传感器模块、蜂鸣器报警电路模块;软件部分主要通过c程序的编程实现对时钟芯

2、片进行时间数据的读和写,然后通过液晶显示程序将时间显示出来。设计中结合硬件、软件的分步调试,到达要求的控制效果。3、系统具有调时间及闹钟定时温度显示功能,可以调节时间、定时报时提醒,显示环境温度。学生应完成的工作: 完成电子时钟系统设计,调试烧制程序,利用Altium Designer软件绘制电路原理图,设计制作电路的PCB板,对系统进行安装、调试,并提交课程设计报告。肖显在本次课程设计中应完成的任务是绘制电路原理图,系统的安装,元器件的焊接等工作。参考文献阅读: 1微机原理与应用M.陈继红,徐晨,王春明,徐慧北京:高等教育出版社,2014. 2单片机原理与应用王艳编著北京航空航天大学出版社,

3、2009.5.3单片机原理与实践高卫东、辛友顺、韩彦征编著北京航空航天大学出版社,2008.1.4 张毅刚,彭喜元,彭宇.单片机原理及应用M.北京:高等教育出版社,2013.5 谷树忠.Altium Designer教程-原理图、PCB设计与仿真M.北京:电子工业出版社,2010.电脑原理接口及其应用M.北京:中国科学技术大学出版社,2000.工作计划: 4月11日4月15日,介绍课程设计整体情况拟定课题并确定优化档案;4月16日4月19日学生根据程序流程图编写程序制作硬件电路并检查课程设计报告撰写进度;4月20日4月21烧录程序系统调试;4月22日,提交课程设计报告并集中收取实物。任务下达日

4、期:2016 年4月 11 日 任务完成日期:2016 年4月 22 日指导教师签名: 学生签名: 基于单片机多功能电子时钟的设计摘 要:设计了一个多功能电子时钟,该系统具有定时、报时、温度显示功能,到设定时间时蜂鸣器会响。该电路主要由时钟芯片模块、液晶显示模块、按键模块、温度传感器模块、蜂鸣器报警电路模块、复位模块构成。软件部分主要通过C程序的编程实现对时钟芯片进行时间数据的读和写,然后通过液晶显示程序将时间显示出来。利用Altium Designer软件对电路图进行了原理图的设计和PCB板的设计,并对电路进行了安装和调试,调试结果与设计预期一致。关键词:电子时钟、温度显示、Altium D

5、esigner、PCB目录1.设计背景11.1 电子时钟的研究背景1数字电子时钟的发展趋势12.设计方案22.1 系统的设计思路22.2 系统硬件描述22.3 系统软件描述32.4 设计程序及预期结果33. 方案实施4主要器件介绍4单片机的功能43.3 单片机最小系统7电源电路8液晶显示电路8键盘电路10时钟芯片电路10温度测量电路13蜂鸣器电路13原理图的绘制及PCB的布线134. 系统调试14 PCB板的安装14 最小系统的调试154.3 液晶显示模块和蜂鸣器报警模块的调试154.4 整体调试155. 软件设计15 软件设计总体说明15主程序流程图16主程序代码166.结果与结论177.

6、致 谢188.参考文献198. 附件20附件I电路原理图20附件II PCB布线图20附件III实物图21附件IV元器件清单22附件V子源程序23学习文档 仅供参考1.设计背景1.1 电子时钟的研究背景1957年,Ventura发明了世界第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分,小时进一,满二十四小时,小时位清零。从而到达计时的功能。传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低。随着系统设计复杂度的不断

7、提高,用传统时钟系统设计方法很难满足设计需求。20世纪末,电子技术得到了极速的发展,毫无疑问,在其推动下,现代电子产品以及各种高科技产品几乎渗透到了社会的各个领域,这有力地推动了社会生产力的发展和社会信息化程度以及综合科技水平的提高,但产品更新换代的频率也越来越快。多功能电子钟不管在性能还是在样式亦或是用途上都发生了重大的变化,许多电子钟都已具备电子万年历、电子秒表、温度检测等功能。同时单片机在多功能数字钟中的应用已是非常普遍的。多功能电子时钟除了具有时钟的功能外还可以包含对环境温度检测的功能,温度是一种最基本的环境参数。目前,典型的温度检测控制系统由模拟式温度传感器、A/D转换电路和各种单片

8、机组成。以DS18B20为代表的新型单线总线数字式温度传感器集温度测量和A/D转换于一体,这类传感器可以直接输出数字量,同时与单片机接口电路结构非常简单,可以广泛用于距离远、节点分布多的场合具有较强推广应用价值。 数字电子时钟是采用数字电路实现对时,分,秒数字显示的装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可或缺的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,数字时钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。例如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘

9、箱、通断动力设备、甚至各种定时电器的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用,有着非常现实的意义。数字电子时钟,自从它发明的那天起就成为人类的朋友,给人们的生活、学习、工作、娱乐带来极大的方便。但随着时间的推移,社会的进步,人们对时间计量的精度要求越来越高,应用越来越广,可以说时间的准确已成为各行各业安全运行的基础。电子时钟的设计方法有多种,可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用对单片机编程来实现电子钟。其中,利用单片机实现的电子时钟具有硬件结构简单、编程灵活、便于功能扩展等特点。由

10、单片机作为数字钟的核心控制器,可以通过它的时钟信号实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。 智能温度传感器(亦称数字温度传感器是上世纪90年代中期问世的。此类传感器是微电子技术、电脑技术和自动测试技术的结晶。21世纪后,智能温度传感器毫无疑问正朝着高精度、多功能、总线标准化、高可靠性及高安全性等高科技的方向迅速发展,开发虚拟传感器和网络传感器、研制更先进的单片测温系统已是刻不容缓,在日常生活和自动控制系统中,我们时常会遇到对时间和温度实时监控的需求。这就给具有多种功能的时钟提供了市场,也有了市场开发的前景。本文给出了一种基于单片机实现带温度检测的电子时钟的设计方法和实现过程

11、。2.设计方案 系统的设计思路本次设计完成电子时钟年、月、日、时、分、秒的显示及环境温度测量等功能的基础上完成定时闹钟的功能。由于DS12887时钟芯片内含一个锂电池,所以断电情况可以运行十年以上不丧失数据,重新上电后不用校正时钟。硬件电路包括单片机最小系统电路、DS12887实时时钟芯片电路模块、LCD1602液晶显示模块、按键模块、DS18B20温度传感器模块、蜂鸣器报警电路模块;软件部分主要通过c程序的编程实现对时钟芯片进行时间数据的读和写,然后通过液晶显示程序将时间显示出来,通过按键操作实现功能的转换和屏幕的切换。设计中结合硬件、软件的分步调试,到达要求的控制效果。2.2 系统硬件描述

12、基于单片机系统的电子时钟基本结构框图如图2-1所示该系统所需要的器件包括单片机AT89S52芯片一块,实时时钟芯片DS12887一块,温度传感器DS18B20一块,液晶显示屏LCD1602一块,双4输入与门芯片74LS21一块,蜂鸣器一个,12mHZ的晶振一个,排针排线假设干组,电容电阻假设干,导线假设干,发光二级管一个,三极管一个,按钮5个。电源单片机温度传感器DS18B20液晶显示模块晶振,复位电路时钟芯片DS12887蜂鸣器声响模块按键模块系统基本结构图2.3 系统软件描述系统程序实现三部分功能:时钟部分实现年、月、日、时、分、秒、星期显示和设置、闹钟功能;温度测量部分实现环境温度测量及

13、显示;键盘部分主要为时钟和闹钟设置。单片机及各变量初始化判断模式 时间设置闹钟设置日期设置温度读取 退出模式选择键盘操作 键盘操作LCD1602显示时间,日期,闹钟,温度DS18B20的数据输出DS12887数据的写入或输出2.4 设计程序及预期结果 该设计的主要流程如下:首先阅读大量参考文献,进行设计方案确实定,然后在Altium Designer上进行原理图的绘制和修改,在基本电路原理检查无误的情况下,统计所需要的元器件清单(元器件应考虑裕量)。接着把元器件焊接到各个功能电路的模块上,并结合程序进行调试。最后将各个功能的电路程序组合起来,然后再进行总体调试直到成功。本设计能到达以下结果:1

14、显示年、月、日、星期等日历相关信息。通过按键设置年月日和星期,以及定时闹钟。2掉电后时钟芯片正常运行,重新上电后不用校正时钟。3定时时间到达时,蜂鸣器报警;手动按任意键报警停止;如无人工按键,报警在1.5min后停止。4时时温度显示。3. 方案实施本系统采用AT89S52单片机作为控制器,用LCD液晶显示器作为显示模块,调节时间按键模块,时钟芯片模块,用DS18B20作为温度测量输入模块,用蜂鸣器作为闹钟输出。的功能中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出

15、功能等操作。 数据存储器(内部RAM):数据存储器用于存放变化的数据。AT89S52中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。程序存储器(内部ROM): 程序存储器用于存放程序和固定不变的常数等。通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。AT89S52内部配置了4KB闪存。图3.1 AT89S52引脚图定时/计数器(ROM): 定时/计数器用于实现定时和计数功能。AT89S52共有2个16位定时/计数器。 并行输入输出(I/O)口:AT89S52共有4组8位I/O口(P0、P1、P2或P

16、3),用于对外部数据的传输。每个口都由1个锁存器和一个驱动器组成。它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。全双工串行口:AT89S52内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。时钟电路:时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。中断系统:中断系统的作用主要是对外部或内部的终端请求进行管理与处理。AT89S52共有5个中断源,其中又2个外部中断源和3个内部中断源。引脚功能如下:VCC:电源电压。GND:地。P0口:P0口是一组8位漏极开路型双向I0口,也即地址数据总线复用口。作

17、为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址低8位和数据总线复用,在访问期间激活内部上拉电阻。P1口:Pl是一个带内部上拉电阻的8位双向IO口,Pl的输出缓冲级可驱动吸收或输出电流4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流IIL。Flash编程和程序校验期间,Pl接收低8位地址。P2 口:P2 是一个带有内部上拉电阻的8 位双向IO 口,P2 的输出缓冲级可驱动吸收或输出电流4

18、个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流IIL。在访问外部程序存储器或16位地址的外部数据存储器例如执行MOVXDPTR指令时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器如执行MOVXRi 指令时,P2 口线上的内容也即特殊功能寄存器SFR区中P2寄存器的内容,在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。 P3 口:P3 口是一组带有内部上拉电阻的8 位双向I0 口。P3 口输出缓冲级可驱动吸收或输出电流4 个TTL逻辑

19、门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流IIL。P3口除了作为一般的I0口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位地址8EH可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。 ALEPROG:当访问外部程序存储器或数据存储器时,ALE地址锁存允许输出脉冲用于锁存地址的低8位字节。即使

20、不访问外部存储器,ALE 仍以时钟振荡频率的输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲PROG。如有必要,可通过对特殊功能寄存器SFR区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN程序储存允许PSEN 输出是外部程序存储器的读选通信号,当AT89S51 由外部程序存储器取指令或数据时,每个机器周期两次PSEN 有效,即输出两个脉

21、冲。当访问外部数据存储器,没有两次有效的PSEN 信号。 EAVPP:外部访问允许。欲使CPU仅访问外部程序存储器地址为0000HFFFFH,EA端必须保持低电平接地。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平接VCC端,CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。 XTAL1:振荡器反相放大器及内部时钟发生器的输入端。3.3 单片机最小系统本设计的单片机最小系统主要包括AT89S52芯片,晶振电路和复位电路。一时钟电路 最小系统晶振电路如图3.2所示。 图3.2 时钟电路STC89C52内部有一个用于构

22、成振荡器的高增益反相放大器,引脚XTAL0和XTAL1分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图3-9所示,在XTAL0和XTAL1引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。单片机晶振两个电容的作用:这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十pf。它会影响到晶振的谐振频率和输出幅度。晶振的负载电容=(Cd*Cg)/(Cd+Cg)+Cic+C式中Cd,Cg为

23、分别接在晶振的两个脚上和对地的电容,Cic集成电路内部电容+CPCB上电容经验值为3至5pf。二复位电路无论使用哪种类型的单片机,总要涉及到单片机复位电路的设计而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的16。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经过一定的延时才最小系统复位电路如图3.3所示: 图3.3 复位电路撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位

24、。单片机复位电路参数的选定须在振荡稳定后保证复位高电平持续时间大于2个机器周期。单片机复位电路主要有四种类型:微分型复位电路;积分型复位电路;比较器型复位电路;看门狗型复位电路。电路图3.4 AC12V变DC5V伏电路采用桥堆及LM7805将12V交流电转化为该系统需要的+5V直流稳定电压,电路中器件选择可以通过计算和实验确定,也可以参考一些典型电路参数。如图3.2所示,P5接口为输入12V交流电,VCC为输出+5V直流稳压电压为系统供电。液晶显示电路液晶LCD1602的D0-D7引脚与AT89C52芯片的P2口相接,而控制引脚RS、R/W、CS则分别接P1.6,P1.5,P1.4。引脚3接一

25、个1K的电位器来调整比照度,从而到达合适的背光灯比照度。液晶显示模块由于具有低功耗、寿命长、体积小、显示内容丰富、价格低、接口控制方便等优点,因此在各类电子产品中被极广泛地推广和应用。字符型液晶显示模块是一类专门用于显示字母、数字、符号等点阵式液晶显示模块。本系统设计采用字符型液屏显示模块LCD1602 作为显示器件,这样不仅简化了系统的硬件设计,而且极大地提高了系统的可靠性。字符型液晶显示模块LCD1602是单片机应用设计中最常用的信息显示器件。LCD1602 可以显示两行,每行16 个字符,采用5V 电源供电,外围电路配置简单,价格廉价,具有很高的性价比。1602LCD主要技术参数:显示容

26、量:162个字符,芯片工作电压:4.55.5V, 工作电流:2.0mA(5.0V), 模块最正确工作电压:5.0V ,字符尺寸:2.954.35(WH)mm 。引脚功能说明:第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器比照度调整端,接正电源时比照度最弱,接地时比照度最高,比照度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整比照度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W

27、为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。 LCD1602 读写操作时序总体上来说是比较简单的,掌握其有两种方法:一种是直接看时序图,另外一种方法是直接记忆和总结读写时电平高低和变化。很显然第二种更简单、直接,下面就列出典型读写的时序要求,以方便编写程序。读状态-输入:RS=L,R/W=H,E=H 输出:D0-D7=状态字写指令-输入:RS=L,R/W=L,D0-D7=指令码,E=高脉冲 输出:无读数据-输入:

28、RS=H,R/W=H,E=H 输出:D0-D7=数据写数据-输入:RS=H,R/W=L,D0-D7=数据,E=高脉冲 输出:无LCD1602初始化过程:(1)延时15ms(2)写指令38H(不检测忙信号)(3)延时5ms(4) 写指令38H(不检测忙信号)(5)写指令5ms(6) 写指令38H(不检测忙信号)(7)之后每次写指令、读/写数据操作之前均需检测忙信号(8)写指令38H:显示模式设置(9)写指令08H:显示关闭(10) 写指令01H:显示清屏幕(11) 写指令06H:显示光标移动设置(12) 写指令0CH:显示及光标设置。键盘电路74LS21芯片为两组 4 输入与门正逻辑。本设计中的

29、四个按键分别接到74LS21芯片的1A,1B,1C,1D,即4输入与门的4个输入。而74LS21的输出1Y则接到AT89S52芯片的P3.2(INT0)引脚,由于该引脚为低电平有效,当警报发生时按下四个按键中任意一个都会使输出1Y变为低电平,则芯片发生中断,报警停止。同时,四个按键key1-key4也接到AT89S52芯片的P1.0-P1.3起到调节时间日期等功能。四个按键中S1为切换键,S2为设定键,S3为上调键,S4下调键。(一)DS12887功能特点:DS12887是美国达拉斯半导体公司推出的时钟芯片,此芯片是基于CMOS技术的,把时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部,这无

30、疑大大简化了外围电路,同时它与目前IBM AT电脑常用的时钟芯片MC146818B和DS1287芯片引脚兼容,可直接进行对等交换。其主要功能如下: (1) 内含一个锂电池,断电可运行十年,并且不会丧失数据,时间功能正常运行。(2) 可计时至2100年前的秒、分、时、星期、日、月、年等日历信息并带有闰年补偿功能。(3) 可通过编程选择BCD码或者二进制数表示日历和定时闹钟。(4) 可通过编程选择12小时或24小时制,12小时时钟模式带有PM和AM提示,此外还有有夏令时功能。(5) 可选择MOTOROLA和INTEL总线时序。 (6) 内部共有128个RAM单元,这在常用的实时时钟中属于较大的。其

31、中14个字节作为时钟和控制寄存器,114字节为通用RAM,所有ARAM单元数据都具有掉电保护功能。 (7) 可编程并选择的方波信号输出。 (8) 中断信号输出(IRQ)和总线兼容,定时闹钟中断、周期性中断、时钟更新周期结束中断可分别由软件屏蔽,也可分别进行测试。(9) 三种可供选择的中断方式 -时间性中断 -周期性中断-时钟更新结束中断二DS12887的原理图显示了DS12887管脚排列图。下面说明管脚功能:GND:电源地 图3.9 DS12887管脚VCC:直流电源+5V电压。假设外部提供的VCC电源小于4.25V,读写会即刻被禁止,但芯片内部的计时仍在继续,重新通上+5V电源后,通过编程即

32、可显示当前时间;假设外部提供的VCC电源小于3V,电源方式切换为内部锂电池提供,同样可以保持芯片内部计时仍然继续。 MOT(模式选择):接VCC+5V时,芯片在MOTOROLA时序下工作,接GND地时,芯片在INTEL时序下工作。 SQW(方波信号):通过15个分频器抽头中的13个提供方波输出。 AD0AD7(双向地址/数据复用线):数据和控制指令都通过此8个引脚来于单片机等控制器传输。AS(地址选通输入):地址锁存引脚。 DS(数据选通或读输入):该引脚有两种操作模式,视该芯片是出于MOTOROLA模式或者INTEL模式,当使用MOTOROLA时序时,DS是一正脉冲,出现在总线周期的后段,称

33、为数据选通;假设为INTEL时序,DS称作(RD),RD与典型存贮器的允许信号(OE)的定义相同。 R/W(读/写输入):R/W管脚同样也有两种操作模式。此引脚的两种模式与DS相似。 CS(片选输入):在访问DS12887的总线周期内,片选信号必须保持为低。 IRQ(中断申请输入):低电平有效,可作微处理的中断输入。没有中断条件满足时,IRQ处于高阻态。IRQ线是漏极开路输入,要求外接上拉电阻。 RESET(复位输出):假设要保证DS12887有效复位,必须让该脚保持低电平时间大于200ms。温度传感器DS18B20的接法很简单,它的DQ引脚与STC89C52芯片的P1.7引脚相连接。这里只用

34、到一个温度传感器,假设要使用多个则只需将所有的DS18B20的I/O口接在一起即可,在具体操作时,通过读取每个芯片的内部序列号来识别。蜂鸣器报警电路的作用:当定时闹钟时间到时,P3.5引脚会发送一个高电平,蜂鸣器发出预设的声音,而发光二极管则会随着音乐闪烁。本电路采用PNP三极管为蜂鸣器放大电流,基极通过4.7k电阻与单片机STC89C52的闲置引脚P3.5相连接,集电极直接接地,发射极接发光二极管和蜂鸣器。在分析完各种模块电路之后,接下来将用Altium Designer绘制原理图。打开Altium Designer软件新建工程文件,原理图文件,PCB文件,并分别命名保存在C盘下的新建文件夹

35、下,方便自己在使用时很快自己找到该工程文件。建好以上文件之后就可以在元件库里面查找本次系统所能使用到的元件(像单片机. DS1820. DS12C887. 电阻.电容等等).把所有的元器件找到并放到Schematic里在使用工具栏里的放置线功能,按之前分析论证后的模块间连接方式连线。可以把单个模块单独放在一块,而模块与模块之间则用网络标号的方式进行连接。这样模块之内连接与模块之间连接就比较清晰可辩。画好原理图使用【Tools】/【Annotate Schematics.】自动标号,之后检查是否有漏的元器件,错误和漏画线及虚画线的地方并及时更正。检查原理图没有错误后,保存原理图。再生成PCB板之

36、前应检查各个元器件是否都有封装及封装是否正确等,检查并改正确认没有错误后保存原理图。在原理图编辑器中,选择菜单命令【Design】/【Import Changes From danpianji.prjpcb】单击【Validate Changes】在没有错误后,单击【Execute Changes】执行按钮,系统开始执行将所有的元器件信息和网络信息的传送,完成后假设无错误,勾选Done状态并关闭。这是把元器件按模块在PCB板上摆放整齐紧凑,接着自动和手动结合布线,并调整线的宽度这里线宽用25mil焊盘孔径为30mil外直径为60mil的圆形焊盘。通过不断的调整元器件的摆放的位置尽可能的减少跳线

37、的使用。布好线后一检查是否有错误布线的地方并及时更正。二要检查布线是否合理,把线线距离靠得太近的地方改变线的宽度为了制版时能别离开来不会连到一块造成短路的情况。检查没有错误后保存。接着裁板,板要尽可能小点。裁好板保存就完成了PCB的制作。4. 系统调试4.1 PCB板的安装完成打孔后将各个匹配的元器件从铜板的反面将两个或多个引脚引入,然后利用焊接工具将元器件焊接到铜板上。焊接工作完成后,对整个电路板进行全面的测试工作,如果在测试过程中出现问题,就需要通过第一步设计的原理图来确定问题的位置,然后重新进行焊接或者更换元器件。当测试顺利通过后,整个电路板就制作完成了。任何组装好的电子PCB电路,在通

38、电调试之前,必须认真检查PCB电路连线是否有错误。对照PCB电路图,按一定的顺序逐级对应检查。特别要注意检查电源是否接错,电源与地是否有短路,二极管方向和电解电容的极性是否接反,集成PCB电路和晶体管的引脚是否接错,轻轻拔一拔元器件,观察焊点是否牢固,等等。4.2 最小系统的调试使用Altium Designer设计完电路图后,首先在电路板上焊制了单片机最小系统,通过向芯片中写入让每个引脚持续规律地在1和0电位转换的程序,将引脚接到发光二极管之后,发光二极管可以规律地亮或者灭,这说明实现了最小系统的测试。这样可以继续焊制后面的模块。4.3 液晶显示模块和蜂鸣器报警模块的调试液晶模块的显示是通过

39、普中科技单片机箱来调试的,由于该试验箱中同样有STC1602芯片,所以向此芯片中写入简单的显示0,1,2的小程序,可以正常显示。蜂鸣器报警模块的调试同样是通过最小系统的那个小程序,写入之后,报警模块的蜂鸣器规律的响,同时发光二极管随着规律的亮灭。4.4 整体调试进行整体调试的时候发现,液晶显示无法定格在一个画面,而是一直跳动。经过仔细检查焊点,并重新接线之后问题仍然存在。所以判断是按键模块出了问题,比方虚焊或者某个按键接错了变成长导通的状态。但是将按键模块剔除出系统后,发现问题仍然存在。然后判断是时钟模块出现问题,但是将时钟芯片拔除后发现问题仍然存在。最后判断应该是最小系统及周边电路出现问题。

40、所以我重新焊制了一个最小系统,重新接线后,画面可以定格,日历和温度信息正常显示。至此,系统调试成功。5. 软件设计5.1 软件设计总体说明本系统的程序采用C语言编写,为了便于修改和调试,系统软件采用模块化设计,程序的编写编译在keil uVision4软件中完成。首先对STC89C52、DS12887、LCD1602、DS18B20进行初始化,日历和温度信息通过LCD1602显示出来,当当前时间与设定的闹钟时间相同后,LCD1602上显示的时间停止,但,实际上芯片内部的时间仍然在走。时钟芯片向单片机发出中断请求,单片机通过报警模块进行警报,此时,假设按下四个按键中的任意一个,报警停止,LCD1

41、602显示的时间继续精确显示。系统中有四个按键,即:设置键S1、切换键S2、上调键S3、下调键S4。1按下S1键,系统进入设置状态,再按下S2键可在除了温度外的项目,如年、月、日、时、分、秒、星期、闹钟上停留,此时再按下上调键S3即可进行加一操作,按下下调键S4即可进行减一的操作。2同时按下S1键和S2键会将当前的时间恢复到程序中设定的默认时间。3同时按下S3键和S4键可对闹钟进行开启和关闭的操作。图5.1 主程序流程图void main()lcd_init(); /LCD初始化Start_calendar (); /日历开启initial_irq (); /中断开启enable_set =

42、F; /设置禁止while(1)if ( enable_play_song ) /铃声使能play_song(); /播放铃声enable_play_song = F; /禁止铃声update_display_data (); /更新显示数据display_calender_and_temp (); /显示日历及温度if (enable_set) /设置使能delay (100); /延时100msupdate_set_display (cur_set_pos); /更新设置的信息display_calender_and_temp (); /显示日历及温度信息delay (100); /延时1

43、00msdate_timeTIME_SIGN_POS = :; /时间的时和分之间显示:continue; /继续循环delay (200); /延时200msflash_time_sign (); /:闪烁 1.本次选择电子时钟为的设计完成了我们预期的结果,系统具有时时温度显示,定时提醒功能。把元器件焊接到各个功能电路的模块上,并结合程序进行调试。1显示年、月、日、星期等日历相关信息。通过按键设置年月日和星期,以及定时闹钟。2掉电后时钟芯片正常运行,重新上电后不用校正时钟。3定时时间到达时,蜂鸣器报警;手动按任意键报警停止;如无人工按键,报警在1.5min后停止。(4) 时时温度显示。2.在

44、为期两周的课程设计过程中我们小组选择电子时钟课题是经过大家一致的意见。虽然在本次的项目制作的过程中我们也遇到了不少问题,一部分是自身专业知识不足而导致的错误,如软件的设计过程中未能设计完整的程序致使定时器不能正常的工作。在段老师的悉心指导下成功解决程序循坏定时的问题。另一部分问题是可以防止的马虎,例如在画原理图时不小心漏掉一个部件导致仿真时出错,后来发现问题解决了。还有就是在PCB布线时没有合理得控制布局导致设置的不合理从新布线所以在以后的工作中要养成细心的习惯。通过这次的课程设计这个项目的学习我时刻认识到了这一点,在以后的项目制作中我会努力做好这一点,将自己的不足加以改正。3.通过本次的单片机课程设计,不仅丰富了我的理论知识,而且在实践过程中更令我学会了坚持、耐心和努力。此次单片机课程设计需要运用到许多之前所学过的知识,令我认识到自己以前学习的一些不足之处,例如对以前所学知

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com