欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于单片机的数字时钟设计大学论文.doc

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

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

    基于单片机的数字时钟设计大学论文.doc

    铜陵学院毕业论文(设计)学 号 1109111029 毕 业 论 文(设计)课 题 基于单片机的数字时钟设计 学生姓名 院 部 电气工程学院 专业班级 2011级自动化(1) 班 指导教师 二 一 五 年 四 月目录第一章 绪论11.1 数字时钟设计的背景11.2 集成电路11.3课题来源1第二章 时间计数原理22.1时钟计时的方案选择22.2时钟显示的方案选择2第三章 系统的硬件设计43.1硬件的整体设计43.2主控制模块的方案选择和设计43.2.1单片机STC89C52简介43.3时钟模块的方案选择与设计73.3.1DS12887时钟芯片简介73.3.2时钟模块电路93.4按键电路的设计103.5显示模块的方案设计103.5.1图形点阵液晶显示器103.5.2显示模块电路123.6通信模块电路方案选择设13 3.6.1通信电路设计13第四章 系统软件设计144.1汇编语言的选择144.2系统主程序及流程图144.3 DS12887时钟芯片的读操作流程154.4液晶模块的写操作流程图164.5按键调整模块流程图174.6通信模块流程图17第五章 实验与调试195.1硬件测试195.2软件调试195.3实物调试20总结22参考文献23致谢24插图清单图3-1 系统硬件设计框图3图3-2 STC89C52 PDIP管脚封装4图3-3 STC89C52结构图5图3-4 单片机的最小系统结构图6图3-5 24个引脚图7图3-6 时钟模块电路8图3-7 按键电路9图3-8 显示模块12图3-9 通信电路12图4-1 主程序流程图14图4-2 DS12887时钟芯片的读操作流程图14图4-3 时间显示流程图15图4-4 时间调整显示流程图15图4-5 按键调整模块流程图16图4-6 主机端通信子程序流程图16图4-7 从机端通信子程序流程图17图5-1 整体电路实物图18图5-2 测试程序显示结果19图5-3 正确程序显示结果19图5-4 按键调整显示19表格清单 表3-1 液晶模块12864的管脚说明9表3-2 字符显示RAM在液晶模块中的地址表11基于单片机的数字时钟设计摘要最近几年,单片机在许多地方都得到了广泛的使用。不管是在在工业生产中或者是生活中,很多产品都是由单片机进行控制的。其由于体积小,低功耗,高性能,广泛受到人们的喜爱单片机作为这些设备的核心,再相应的外围设备(液晶显示器,键盘电路,复位电路,报警电路)结合,再使用相关的软件来设计一个数字时钟,数字时钟在我们的日常生活中的应用是非常广泛的,到处都是,可谓是无处不在。上班要看时间,开会要看时间,工业生产要看时间,所以我们对于时间的把握可谓非常重要。本次设计的数字时钟要求能够显示实时时钟,能够显示年、月、日、时、分、秒以及实时气温还能够有远程通信的功用。在这些中硬件部分中最困难的地方就在于元器件的筛选、排版以及线路的焊接上。关键字:单片机;数字时钟; 定时Design of Digital clock based on MCUAbstractIn recent years, SCM has been applied in many fields. Whether in industry or in life, many products are controlled by the microcontroller. SCM to its small size, low power consumption and high performance widely loved by the people. This paper combined with a microcontroller core some related peripheral devices (LCD, keypad circuit, reset circuit, alarm circuit) and use the appropriate software to achieve the purpose of making a digital clock, a digital clock in our daily lives application is very wide, it can be everywhere. Time to look for work, meetings depends on time, industrial production depends on time, so we can be described as a very important time for sure. The design of the digital clock requires the ability to display real-time clock, can display year, month, day, hour, minute, second, and real-time temperature also features remote communications. Difficulties in the hardware part is that the selection, placement and soldering components.Keywords: single-chip-microcontroller. ;digital clock; timingV第一章 绪论1.1 数字时钟设计的背景单片机最早是在1976年由Inter公司开发的MCS-48开始的。但当时的单片机发展的不太成熟,然后经过二十多年的发展单片机已经具有价格低、性能好、体积小、方便使用等一系列优点。并且十分广泛的运用在我们的生活生产的各个环节。很多半导体芯片生产厂家都是从Inter公司得到8051内核的核心技术,这里面有ATMEL公司、PHILIPS公司等。所以,这些公司所生产出来的单片机的引脚及指令系统可以说都是互通的。从目前来看我们把这些微控制器可分为基本型,增强型,低功率型,特殊型,LED闪存型和超8位型。 本文论述了数字时钟是单片机作为编程定时系统的核心与外围设备的配置不仅可以满足需求,还可以扩展很多功能,在实践领域有着广泛的应用。1.2 集成电路本次设计我们要用到集成电路,它是一种微型的电子器件,这里面每一个芯片所集成的元件舒叫集成度,规模小的集成度的限度是1100,规模中等的集成电路的集成度是1001000,规模大的集成电路的集成度范围是1000100000,最后集成度大于1000000为极大规模的集成电路。集成电路的体积小,引线焊接点少,成本高,性能也可靠,广泛应用于卫星,弹道导弹,移动电话,液晶显示。所以无论是生活还是生产环节都离开不了集成电路。1.3课题来源在生活中,工作中,我们通常会使用定时控制,如在打印过程中,曝光时间等。早期的控制单位的做法是用模拟电路来设计和生产的,所以复制的准确度和精密度不是很好,但是经过发展,到了现在基本上都是在数字技术的基础上的新一代产品。伴随单片机性能的越来越好,价格也越来越便宜,新一代的应用就会越来越多,大到可以构成比较复杂的工业过程控制系统,满足复杂的控制功能。小到可以在家电控制,儿童的玩具中进行应用。它的体积小,性能好,稳定性高,使用方便,再配上相应的接口芯片就可以构成各种各样的小型电子产品。最近几年电子技术得到了飞速的发展,家用电器盒电子设备的使用也越来越多,但是每个设备都有自己的控制器,这样就会给我们的使用带来很大的不方便。就与此,设计一个基于单片机的定时系统就可以改善这种不方便的状况。我们使用一个控制器来控制多个电器,也可以进行时钟校正和定点报警,还可以任意设定时间。这种根据人们的实际需要设计的智能产品可以给我们的生活带来很大的方便。第二章 时间计数原理我们知道数字信号是单片机的接口信号,如果我们要以单片机来得到这些非电信号的一些相关参数,那么就要用到芯片,把时间信号转变为电流的方式也可以转变成电压输出的方式。但是一旦发现转变之后我们看到的电流或者是电压输出时模拟信号的话,那么我们还要完成下一步,那就是还要采取A/D转换,从而达到单片机的接口需要的条件。如果是数字信号,那么我们就不用那么麻烦,不需要任何处理就能够送到单片机处理。 2.1时钟计时的方案选择 第一种方案:相对以前老式的基于单片机的数字时钟的设计选用的是在里面的晶振来产生脉冲,紧接着再经过内部的计时器通过分频来得到秒脉冲,接着再用软件编程实现时钟的显示来说,此方案的特点就在于它的外围器件比较少,电路结构也非常简单和清晰,焊接也会相对来说比较容易一点,所以出现问题的概率就会比较小。不过这中设计方案也有它自己的缺点,例如该方案要用软件编程来得到秒脉冲,还有就是编程会复杂一点,这样就会对排除故障带来不方便。此外还有便是由单片机的内部时钟而得到的秒脉冲因为遭到温漂和所在程序实行的时候所产生的副作用,从而会对计时有着一定的影响。此外, 这个方案的另一个要求就是此次设计所用的晶振一定要通过分频来得到秒秒冲。 最后,尚有一个很大的缺陷:如果发生单片机断电,那么这时的时间计时就会立即停止计时,这样通电后进行新的计时的时候就要重新调整时间,从而使得会非常不方便。 第二种方案:对在一些老式的基于单片机的数字时钟的设计进行一些修改和增加或删减一些东西,然后再加入12887的时间芯片,这样,电路的控制部分和计时部分就会分离开来,在这其中,所用的12887时间芯片的内部有一个锂电池,这样就会给时钟的操作带来很大的方便,还有就是这样设计方案会更加环保,当要观察的时候例如日间时给主电路供电,当在晚间时将主电路进行断电,从而就会节省很多电能。 综上所述,后一种方案会比较准确并且电路的硬件设计不是很难,软件设计也是比较简单,所以最后我选择了后一种方案。2.2时钟显示的方案选择 第一种方案:时钟显示将用多位七段LED数码管。其中七段LED数码管的显示消耗的能量会比较多,并且位数也是有限制的,当我们需要加一位就会使得程序的设计及硬件设计方面增加许多困难以及消耗时间,就会给电路的扩展带来麻烦,还有就是不能够显示年、月、日、星期,这样就不够直接。不过这种方案的性价比很高然后就是价格也相对便宜。 第二种方案:使用点阵式数码管。八行八列的发光二极管是点阵式数码管的最主要的特色,设计之中字符的显示相对较少,还有就是这种方案损耗的能量比较多,不能够满足现代节能的要求,这样就不能用这种显示。 第三种方案:使用LCD液晶显示器进行显示。用LED液晶显示,这样耗能就会比较少,也可以进行年、月、日、星期等的显示,这种方案在显示的方面会比较灵活。能够在不改变电路的情况下,能够把电路的扩展变得相对容易。还有,该设计的硬件也相对比较简单。但是这种方案的不足就是显示的位数少,费用也会较贵。 将上述的三种方案进行比较可以看出来第三种方案比较适合,它的显示很灵活,便于电路的扩展,无论是软件设计和硬件设计相对来说都简单一点。 基于此,我的这次设计将用独立计时以及使用时钟芯片12887的设计方案和选用LCD液晶显。第三章 系统的硬件设计基于实时时钟所需要的功用,在采用单片机的设计的基础上,我们可以选用集成的时钟芯片,从而完成记录实时数据的要求 ,并且在同一时刻记录下实现的数据和呈现这类数据的时间。实时时钟的要求: (1)基本的要求a) 具有显示年、月、日、星期、时、分、秒等功能;a) 具备年、月、日、星期、时、分、秒校准的功能;b) 具备远程通信的功能(2)创新的要求能够对时钟进行及时的掌控,而后还可以利用远程电脑对时间校准和读取,从而达到远程操纵和掌控。 3.1硬件的整体设计主控芯片使用的是STC89C52单片机,它内置电池使用时钟DS12887作为时钟芯片。我们为了计时的精准,所以使用DS12887为主要的时钟芯片。整个体系是由主控制器STC89C52、时钟芯片DS1302、键扫描电路、LCD液晶显示电路以及通信系统模块电路构成的。设计框图如图3-1所示。 图3-1 系统硬件设计框图3.2主控制模块的方案选择和设计 我们要使系统的设计得到成功,就要既能够选用数字电路同时也要能够选取单片机来实现。如果采用前者,那么它的电路设计就会比较麻烦,它的功用也必须要依靠数字电路的各个模块来得以实现。如果采用后者,因为它是通过软件编程来实现其主要功能的,所以这种设计就会必然降低其电路的复杂程度。再有就是这样的毕业设计所用到的软件程序会比较容易,所以就能够不必用到功能强的单片机,只需相对功能比较少的单片机就行。所以我选择了STC89C52单片机。3.2.1单片机STC89C52简介我采用的STC89C52 单片机是电压比较低以及具有功能较高的CMOS8位单片机,和那些标准的MCS-51指令系统和8052的引脚都是能够互通的。STC89C52单片机具有40引脚双列直插芯片,I/O口也有四个,而且,这里的每一个I/O线都能够自己单独的输入及输出。其中STC89C52 PDIP管脚封装如图3-2所示。 图3-2 STC89C52 PDIP管脚封装STC89C52有以下几个部分,它的结构图如图3-3(a)8位的微型处理器CPU (b)内部的时钟电路(c)4个8位的可编程的I/O口,即可输出也可以输入(d)中断控制系统(e)片内程序存储器ROM(f)片内数据存储器以及特殊功能寄存器SFR(g)定时器和计数器T0、T1(h)1个串行端口,可以用在数据的串行通信 图3-3 STC89C52结构图3.2.2主控制模块电路 单片机STC89C52的P0口是输入端口。时间数据的收集是由DS12887的AD是与P0口的连接来完成的,然后13引脚的CS (DS12887)与P2.7连接,最后14脚AS(DS12887)和30引脚ALE相连。虽然我们的外部电容器不是很严格,但稳定的振荡器,高和低的频率温度稳定性和振荡的快慢都将受到电容的大小的影响。因此,振荡器的价值体系是11.0592MHz以及电容如果可能的话,尽量选择陶瓷电容器,值约22 F。接地端是20脚,电源端是40引脚再加上+5V电压接在31脚上就会构成单片机的最小系统,如图3-4。 图3-4 单片机的最小系统结构图3.3时钟模块的方案选择与设计第一种方案:有家公司生产的串行时钟DS1302芯片便是一种性能较高而且还可以自动的进行计数的芯片,电压工作时的限度是2.5V5.5V,当电压为2.5V时的耗电小于300nA,不妨与单片机连接,如此就克服了并行实时芯片形成电路很麻烦的问题,然而这个芯片无内置电池,这样就会导致当电路突然断电的时候就要停止计时,供电恢复后又要重新进行校正时间,这样就会给我们带来不便。 第二种方案: 串行时钟芯片DS12887具有很高的性能,可以自动定时芯片,有一个内置的电池,因此不需要关闭电源后重新校准,所以我最终选择了此芯片。 3.3.1DS12887时钟芯片简介 DS12887是由DALLAS公司研发出来的一款芯片,首先它是一个时钟芯片,并且有24个引脚。这款芯片自己内部自带电池还有内部集成芯片。它既能够选用MTOROLA总线模式也可以选用INTEL总线模式。采用的是地址总线,模式为复用,它的內键含有128个字节的RAM,这其中的128个字节的前14字节是时钟控制寄存器,剩下的就全部是通用的RAM。这个芯片能产生3种可编程的中断;中断一,时间中断;中断二,周期性中断;中断三,时间更新结束中断。该芯片有24个引脚如图3-5。 图3-5 24个引脚图(1) MOT为总线类型选择管脚(2) ADO-AD7为数据复用总线(3) CS为片选信号(4) AS为ALE信号管脚(5) R/W在INTEL总线模式下是WR(6) DS在INTEL总线模式下是RD(7) RESET为复位信号(8) IRQ为中断请求输出(9) SQW为方波输出引脚(10) VCC为电源引脚。(11) NC为空引脚DS12887芯片地址分布图如图3-7所示,包含114字节的通用RAM,日历和RAM和4字节的控制报警信息,其中10个字节记录时间,所有的字节可以直接读写除非以下状态。1,寄存器A的第七位为只读2,秒字节的高位为只3,寄存器C、D为只读。寄存器A的功能描述(a)UIP:更新进行标志。(b)DV2- DV0:为 010 时晶振工作,其他组合停止。(c)RS3- RS0:频率选择。寄存器B的功能描述(1) SET:1 为禁止更新。0 为正常。(2) PIE:1为允许周期中断。(3) UIE:1为允许更新结束中断。(4) DM:当为0时是BCD码,当为1时是二进制(5) SQWE:1为允许方波输出(6) 24/12:当是0的时候为12小时进制,当是1的时候为24小时进制。(7) DSE:置0寄存器C的功能描述(1)IRQF:为中断申请标志。(2)PF:为周期中断标志。(3)AF:为警报中断标志。(4)UF:为更新结束中断标志。寄存器DVRT:当为 0的时候表示的是内部锂电池的电量已经用完了。3.3.2时钟模块电路AD接口和芯片DS12887和P0端口连接,以日历时间和输出,同时它的其他功能如端口按前面我所说的,所以不会有重复。不过要说明的是DS12887的24引脚是应该和电源相连接的,另一个12引脚和电源地连接,端口MOT与电源地连接。电路图如图3-8。 图3- 6 时钟模块电路3.4按键电路的设计由于此次所设计的系统的需要,此系统只需要4个按键以及1个拨码开关就能够实现对时间的矫正,再由于电动式按钮比较简单,所以按键可以用它,然后再由I/O口来开始对它扫描,从而来得到该系统的按键功能。在这里,单片机STC89C52的P3.5口是和时间调整按钮相连接的。它们的作用是我们按下按钮时,立即为年,月,日,星期,小时,分钟,秒调整,当我们点击按钮会对对应位置的作出调整;单片机的STC89C52的P2.5接口是和加法按钮相连接的,它的作用就是每当我们按一下这键时就开始将相应的需要改变的位自动加一;单片机STC89C52的P2.6口是和减法按钮相连接的,它的作用就是每当我们按下这键时就会将需要改变的位减一;电路图如图3-9。 图3- 7 按键电路3.5显示模块的方案设计这个方案我用的是LCD液晶显示,这就表示此次这个设计就不太要显示过多的内容,所以就可以选择12232F图形点阵液晶显示器。 3.5.1图形点阵液晶显示器数字电路中的数据是通过0和1来保存的。在显示的英文的操作过程中,英语的字母的种类就会比较少,所以只需要8位的字节就行了。如果要显示中文,就要常常压迫至少6000,这样比我们先前的设计者们就想出了一个解决办法,就是用ASCII表的128个用到的比较少的数值中以两个位一组来表示汉子也就是它的内码。剩下的就给那些英文字符。汉字的内码得到之后又怎么样才能得以显示呢?这样就会牵扯到字模,尽管字模的本身是数字,但是根本概念却发生了本质的变化,因为这时的它记录的英文或者是汉子的形状要用到数字的各位信息。 12864LCD的引脚说明如表3-2所示。表3-1 液晶模块12864的管脚说明管脚号管脚名称LEVER管脚功能描述1VSS0电源地2VDD+5.0V电源电压3V0-液晶显示器驱动电压4D/I(RS)H/LD/I=“H”,表示DB7DB0为显示数据D/I=“L”,表示DB7DB0为显示指令数据5R/WH/LR/W=“H”,E=“H”数据被读到DB7DB0R/W=“L”,E=“HL”数据被写到IR或DR6EH/LR/W=“L”,E信号下降沿锁存DB7DB0R/W=“H”,E=“H”DDRAM数据读到DB7DB07DB0H/L数据线8DB1H/L数据线9DB2H/L数据线10DB3H/L数据线11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15CS1H/LH:选择芯片(右半屏)信号16CS2H/LH:选择芯片(左半屏)信号17RETH/L复位信号,低电平复位18VOUT-10VLCD驱动负电压19LED+-LED背光板电源20LED-LED背光板电源我们必须首先了解12864LCD的功能后才能够进行编程。它的各部分器件及功能如下:(1) 指令寄存器(IR)IR是用于寄存指令码,若是D/I=0的时候,而且是E信号又处于下降沿的功能,此时指令代码就会写入IR。(2) 数据寄存器(DR) DR是用于寄存数据的,如果D/R=1而且处于下降沿的作用的时候,这时候图形显示数据就会写入DR。(3) 忙标志(BF)标志BF的用处是提供内部工作的情况的,当BF=1,这时候表达的意思示是模块在内部的操作,这个时候就不会接收外部的指令以及数据。如果BF=0的时候,就可以任何时候都能够接受外部的指令以及数据。(4) 显示控制触发器DFF这个触发器是用于模块屏幕显示开和关的控制上的,DFF=1的时候表示的是开显示,DFF=0的时候表示的是关显示。(5) XY地址计数器 XY地址计数器是DDRAM的地址指针。(6) 显示数据RAM(DDRAM) DDRAM负责保存图形和显示数据的,当数据是1的时候表达的意思是选择, 当数据是0的时候表示的是非选择。(7) Z地址计数器 它是一个6位的计数器,功能主要用在显示的是行扫描同步。如果扫描完一行时,这个计数器就会主动的加1并且再指向下一行的扫描数据。当RST复位之后,0才会被显示出来。这样就表示显示屏幕的起始行就是有这个指令进行控制的。(8) 字符显示 FYD12864-0402B每一个屏都可以显示4行8列的汉字,1个中文字符或还可以是2个16×8点阵全高ASCII码字符,FYD12864-0402B的里面可以供给128×2字节的字符来显示RAM缓冲区(DDRAM)。为了实现字符的显示,要将字符显示编码写入该字符来显示RAM。字符显示的RAM是和32个字符显示区域有着相互对应的关系的。对应关系表如表3-3。表3-2 字符显示RAM在液晶模块中的地址表80H81H82H83H84H85H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH3.5.2显示模块电路显示模块电路如图3-10,电源地接液晶模块的1管脚、15管脚和19管脚。然后,2管脚用于接电源从而给液晶显示器提供电源,3管脚也是和电源连接供给液晶显示器的显示驱动电压。单片机的P1.3口和4管脚相连接从而实现接收数据和指令,单片机的P1.4口和6管脚相连接用在提供锁存信号上面。 图3-8显示模块3.6通信模块电路方案选择设通信模块电路的方案选择:RS-232、RS-422和RS-485是串行数据的接口标准。此中RS-232是在1962年时公布并命名EIA-232-E为工业标准从而能够与各个厂家生产的产品通用。不过,RS-232也有它的弊端,比如说它的通讯不太好,此外速率也比较低。RS-485在此基础上改进了通信的功能,也就是可以将很多发送器连接在一条总线的上面,另外还增强了保护能力以及发送器的驱动功能,从而就会扩大总线的共模的范围,传输速度最大时是10Mb/s以及最大的传输距离大约为1219米。经过各个方面的考虑,最后还是选用RS-485的通信方案。 3.6.1通信电路设计通信模块电路选用RS-485,这类芯片的1脚是和单片机的10脚连接,如此就很好的可以和软件相配合从而达到远程通信的功能。电路图如图3-11。 图3- 9 通信电路第四章 系统软件设计系统的主要组成成分是软件,同时也是最重要的构成部分和所有调试的困难点和核心点。这次的设计我选用的是汇编语言,因为它和机器语言比较相近,不需要任何变动就能够存取寄存器和I/O,并且执行编写的代码也很准确。所以,我根据此次的要求,选择了汇编语言。 4.1汇编语言的选择可以说的是,它和机械语言的本质是相同的,相同点是都是能够对硬件进行直接操作,不同的地方就在于汇编用的标识符是英文缩写的,这样就会更加容易记住。一般来说,指令,伪指令和宏指令是汇编程序的三个主要组成部分。在操作的时候,它的每一句指令只对应的动作都是很小的。然而汇编语言也有它自己的优点,便是汇编语言可以完成一些高级语言所不能够进行的操作,执行文件的大小比较小而且速度也很快。 那么就来举几个例子来说明一下,不过它们也不是绝对化的。 (1)适用的领域如果是执行的效率比较高,反应也很快的领域就比如说工业控制,实时系统,操作系统内核等; 如果是和硬件资源密切相关的一些软件的研发就比如说是设备驱动程序等; (2)不宜使用的领域 一般关于大型的软件的整体开发以及一些没有特殊要求的一般应用系统的开发一般来说,汇编语言的特点是显而易见的,就是它的标准非常严格。缺点,就是它的“与机器相关”和“执行的高效率”也能够引发调试的困难以及可移植性差。至此,当我们在选取汇编语言的时候一定要和实际的应用环境相符合从而最大限度的避免影响整个系统。4.2系统主程序及流程图显示日期和时间的信息是主程序的的主要的功能,首先是将LCD显示系统进行自动的复位,随后开始把时钟芯片DS12887初始化。主程序流程如图4-1。图4-1 主程序流程图这个程序就表示,主程序一旦运行,我们应该首先将液晶显示器清屏然后开始将时钟芯片初始化。 4.3 DS12887时钟芯片的读操作流程起首将芯片DS12887进行初始化,而后再经由状态寄存器的判断之后才能够开始进行读操作,读操作是使用时钟日历的地址是相邻的这一特点,这样就可以使得的地址得到增加,最后再判断数据有没有已经读完。如果已经完成了,就会回到主程序,如果还没有完成,就还得增加地址,直到完成为止。如图4-2。 图4-2 DS12887时钟芯片的读操作流程图4.4液晶模块的写操作流程图本设计将采用液晶显示模块12864液晶显示模块,其可以串行通信,还能够并行通信。但是因为单片机的口线的限制,所以我在这里就用串口设计的四路,其流程图分别如图4-3、4-4。 图4-3 时间显示流程图其中,在显示流程图画面,设置成全屏显示液晶显示,显示界面不对光标进行显示。最后,从第二行第一个字符开始的显示日期,再从第三行第一个字符开始时分钟的显示。 图4-4 时间调整显示流程图4.5按键调整模块流程图调试时间是有按键调整程序的模块来控制的,当我们按键按下时间调整界面的时候,随后就立刻的适时的调整一些参数。在选择好了调整的位的时候然后再按下P3.5,这样就会出现相应的位加一的情况。整个调整结束之后,按下P3.4可以返回到显示界面,从调整好的时间开始计时。流程图如图4-5。 图4-5 按键调整模块流程图4.6通信模块流程图主机程序和从机程序是通信模块的两个主要两部分。主程序是在电脑上运行的,在很远的地方就可控制时钟,并且还能够对当前的时间进行读写和调整的操作。另一个程序从机是在单一的操作,通过终端命令,接收来自上位机的命令,发送到电脑。其流程图分别如图4-6,4-7所示。 图4-6 主机端通信子程序流程图 图4-7 从机端通信子程序流程图第五章 实验与调试 实践是验证理论的最好的方法,所以我们要通过实践来进行检验此次设计。一般的情况下,我们都是通过仿真来进行验证的,不过,我觉得这样还是会有一些误差。基于此,为了能够将这次的检验做到足够的精确,决定还是选择实物来对此次的设计进行检验。所以为了更好的检验此次设计,所以本次设计将会采用实物来进行验证。 5.1硬件测试我全部按照上述的理论来焊接此次设计的硬件的验证电路。焊接实物图如图5-1。由于此次设计的这个电路比较简单,所以焊接起来就没有遇到什么很大的麻烦,不过也遇到一些问题,比如就是在焊接电路时,要解决地线和电源线排布的问题有些困难。由于这个电路的电源线和地线的连接点比较多,所以在实际中,地线一般会是环绕板子并且比较粗的一些铜线,基于这个思路,我就把电源线和地线分别的布置在电路板的两边上。 图5-1 整体电路实物图当我们把电路板焊接完成之后,还要测试各个连接的线路有没有什么问题,电路是不是通路,有没有短路、短路等。我们用万用表的来对此次的设计进行测试,方法是将万用表的两个表笔来测试连线的两端,如果万用表显示是零,则说明连接是对的,如果不是零,就说明有的地方连接肯定是出了问题。比如会出现虚焊,以及有的焊接点离的比较近,所以如果焊接的不小心就会造成短路。因此,要仔细检查是否有两相邻节点短路。 5.2软件调试此次设计用的编译软件是伟福编译软件,这个软件是目前单片机开发软件中应用最广泛的软件,它将源程序编辑和程序调试集成于一体,同时也支持汇编语言的编译,还可以翻译C语言和PL/M语言。 编写源程序:开始先将新建一个文件,然后再从文件中选择所用的单片机的型号,同时将语言设置为伟福汇编器;确定后新的文件就建立完成了。然后再进行编辑、修改等操作。编译:必须先加载编译文件,然后找到编译按钮,可以在工具栏的右上角,然后按下一个按钮,开始编译。编译好了就会提示你编译是否通过,如果通过就能够对程序进行下载了。实验:如果出现编译没有通过,这就说明所编写的程序有问题,如图5-3。此时就要双击错误提示,这样软件就会将光标自动移到有错误的地方方便与修改。如果编译通过就会显示编译成功。 5.3实物调试如果要进行实物调试,那么就可能会遇到软件问题或者是硬件问题,所以就要制定一个调试原则。此次设计在调试的时候最先遇到的问题是液晶显示器不能够显示,这样我就先用一个原本可以正常运行的程序来检测电路能否正常显示,结果可以,如图5-2,这就可以说明电路没有问题。我立即检测软件是否有问题,到最后发现是程序中查询日历芯片地址赋值错误,排除错误就可以显示了。如图5-3。 图5-2 测试程序显示结果图5-3 正确程序显示结果等到可以显示了之后就能够对子程序进行调试了,这个时候还要检测按键的效果和功能是否完好。因为计时跳转比较麻烦,所以就有了一点小问题(按键调整之后不能够正常的返回界面),最后经过排查是因为返回显示程序的跳转标号写错了,改正之后,最终成功了。如图5-4。 图5-4 按键调整显示总结 此次的毕业设计让自己学到了许多知识,收获也很大。让我们本科生做毕业设计时为了把我们大学四年学的理论知识和实践紧密的联系在一起。梳理了我们大学四年在书本上学的知识,又能够提高我们的实际动手能力。为我们以后参加工作打下基础从而能够更好的适应以后的工作。 这次设计主要用到了本科学习的C语言程序设计和单片机原理及应用这两门课的主要知识,同时又涉及了许多关于接口技术等许多其他的领域。是对我以前所学的知识的一种总结同时又让我增加了许多以前没有学过的知识点。所以,这次的毕业设计对我的帮助很大,有着很重要的意义。 为了完成此次的毕业设计,我到图书馆查阅了很多关于此次设计的资料,认真的研究了各个方面的细节知识从而成功的设计了此次所用的数字时钟电路。这让我明白了以后考虑问题要全面的道理,从而巩固了我所学的知识同时也锻炼了我对信息的取舍能力。 本次所设计的数字时钟电路让我知道了要完成一个电路的设计需要哪些步骤,以及加强了我对所设计的数字时钟的原理和概念的把握。知道了首先要设计好电路,然后才可以去连线。不过这只是理想的情况,实际当中可能并没有这么顺利,会遇到各种各样的麻烦,所以要学会在实践中检验电路,排除困难从而成功的设计出产品。         这次设计让我切切实实的感觉到自己所学的东西实在是很有限,还有很多我们在以后工作很可能会遇到的情况都不会解决。所以让我感觉到我的动手能力还需要大大的加强,以后要在这方面多多的锻炼。 其实,我并没有在乎此次设计的成功与否,我真正在意的是我在此次设计的过程中学到了什么,掌握了什么,懂得了什么。在整个过程中设计占用的时间最多,所以给予我们的锻炼也是最多的。刚开始的时候,我对此次的设计真的是一点思路都没有,也有段时间想过放弃,但最后我还是坚持了下去。通过去图书馆查阅相关的资料以及请教老师。最终,我明白了,要想设计好一个电路,出了要有扎实的基础知识外还要能在实际的情况中善于分析问题的能力,然后一步步的去解决问题。后来当我选

    注意事项

    本文(基于单片机的数字时钟设计大学论文.doc)为本站会员(知****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开