河北工程大学毕业设计
4.3 计时时钟实现的基本方法
时钟的最小计时单位是秒,使用定时器的方式1,最大的定时时间也只能达到131毫秒。可把定时器的定时时间定为50毫秒,这样,计数溢出20次即可得到时钟的最小计时单位─秒。计数20次可以用软件实现,对定时器溢出次数进行计数,计满20次即为1秒。从秒到分,从分到时,以及日、月、年都是通过软件累加并进行比较的方法实现的。
4.4 本章小结
本章主要对系统的软件设计进行了说明,从设计原理及程序流程图的实现,到各子程序模块的实现方法,以及对时钟按键功能分析、定义,以及处理软件编写遇到的问题。
29
河北工程大学毕业设计
第五章 电子时钟的仿真调试
5.1 单片机调试仿真软件
5.1.1源文件编译软件
源文件的输入:
Keil单片机模拟调试软件内集成了一个文本编辑器,用该文本编辑器可以编辑源程序。打开”FILE”“NEW”就打开的此编辑器。在图5.1中已经完成了汇编语言源文件的输入,并且完成了源程序向当前工程的添加。然后再创建工程的步骤如下:打开”project”“new uvision project”然后显示一个对话框,在对话框里选择ATMEL,在ATMEL的下拉框中找AT89C51选择后点击“OK”就创建了一个工程,注意:创建时把此工程保存在熟悉的文件夹里,以便于后面的查找使用。
图5.1 Keil单片机模拟调试软件的集成开发环境
完成c语言源文件的输入后,接着需要把c语言源文件加入工程之中。选择图5.1中的工程管理器窗口的子目录Source Group 1,再单击鼠标右键打开快捷菜单。在快捷菜单中选择“Add File to Group“Source Group 1”,加入文件对话框被打开。在这个对话框的“查找范围”下拉列表框中选择存储汇编语言源文件的文件夹,在“文件类型”下拉列表框中选择Asm Source file(*.a*;*.src),这时存储的d语言源文件将显示出来。双击要加入的文件名,或者选择要加入的文件名再单击Add按钮即可完成把d语言源文件加入工程。这时工程管理窗口的文件选项卡中子目录Source Group 1下出现一个c语言源文件,如图5.1所示。
30
河北工程大学毕业设计
5.1.2仿真软件
Proteus软件:
Proteus 是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。PROTEUS软件由Labcenter公司开发,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台,可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计等功能,是目前唯一能够对各种处理器进行实时仿真、调试与测试的EDA工具。微控制器系统相关的仿真需建立编译和调试环境,可选择Keil C51uVision2 软件。该软件支持众多不同公司的芯片,集编辑、编译和程序仿真等于一体,同时还支持PLM、汇编和C语言的程序设计。它的界面友好易学,在调试程序、软件仿真方面有很强大的功能。 其革命性的功能是:将电路仿真和微处理器仿真进行协同,直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器件如电机、LED、LCD、开关等,实时看到运行后的输入、输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等, Proteus为我们建立了完备的电子设计开发环境。
5.2 电子时钟的仿真
选择仿真元器件
在进行仿真之前对所需的仿真的元器件的选择也是很重要的,所需仿真元器件的好坏直接影响到仿真的效果,如果选择的元器件比较不太合理可能使仿真的结果不理想,甚至会导致仿真的失败。下表列出本次设计中用到的元器件【14】:
31
河北工程大学毕业设计
在进行元器件的选择后,并且在keil上完成程序的编写测试后我们就可以着手进行电子时钟的仿真了。在数字电子时钟程序初步编完之后,利用单片机硬件仿真软件进行仿真和调试,同时对程序进行适当的修改[11]。该设计在仿真及调试过程中应注意以下几点:
1.单片机时间基准振荡电路中振荡晶体频率的选择必须要和程序中的时间基准相一致。
2.由于单片机处理数据过程中要响应中断等原因,而中断服务程序所花费的时间必须在中断返回后在计时单元中扣除掉,否则精确度会变差。
3.在仿真调试中调试数码管的发光时间时,需要反复修改程序中的给定的时间,直到整体上的显示效果较好,不会有闪烁的现象产生[12]。
在proteus软件中进行电子时钟电路原理图的绘制,绘制结果如5.2所示。
图5.2 电子时钟仿真的原理图
此图中的核心部分是左边的89c51单片机中部有显示驱动芯片MAX7219,右上部分是一个八段的数码管显示屏,数码管下面为四个按键,图中的左下部的那个芯片为时钟芯片DS1302,时钟芯片右部为蜂鸣器,原理图中还有单片机的晶振电路和单片机的复位电路。
DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~
32
河北工程大学毕业设计
5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
MAX7219是MAXIM公司生产的串行输入/输出共阴极数码管显示驱动芯片,一片MAX7219可驱动8个7段(包括小数点共8段)数字LED、LED条线图形显示器、或64个分立的LED发光二级管。该芯片具有10MHz传输率的三线串行接口可与任何微处理器相连,只需一个外接电阻即可设置所有LED的段电流。。它的操作很简单,MCU只需通过模拟SPI三线接口就可以将相关的指令写入MAX7219的内部指令和数据寄存器,同时它还允许用户选择多种译码方式和译码位。此外它还支持多片7219串联方式,这样MCU就可以通过3根线(即串行数据线、串行时钟线和芯片选通线)控制更多的数码管显示。
各器件的作用:89c51单片机是总体的控制器(整个电子时钟的CPU),源程序的加载、电路的控制、数据的加载、传送等都在单片机这一部分。显示驱动芯片MAX7219是连接单片机和数码管的芯片。数码管显示屏其显示作用,是信号的显示,是本设计中唯一的显示设备。按键是对时间、日期等的调整或输入,其具体操作方法下节有具体介绍。时钟芯片DS1302是系统中的计时芯片,它对年、月、日、时、分、秒等的计时,它采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号。蜂鸣器起闹钟扬声功能。另外单片机的晶振电路和复位电路属于电路部分,是信号数据的传输。
5.3 整机的仿真及调试
把编写完的源程序放在KEIL软件中,先自行检查下程序是否有误,更改有误的部分,再创建工程进行程序一个一个地调试,把调试结果显示有误的部分找出,检查错误的原因然后再进行更改,更改后再进行调试,再找出错误进行更改,依次循环进行,至到程序调试成功为止。
仿真是把KEIL中生成的源程序找出,并加载到单片机内,检查原理图的设计仿真: 是否有误,更改有误的部分,然后进行仿真,看仿真结果是否正确,如果不正确或
33
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库万年历电子时钟温度毕业设计(7)在线全文阅读。
相关推荐: