1 / 12
文档名称:

基于单片机LED显示器的数字钟设计.doc

格式:doc   大小:112KB   页数:12
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于单片机LED显示器的数字钟设计.doc

上传人:一花一世 2019/2/13 文件大小:112 KB

下载得到文件列表

基于单片机LED显示器的数字钟设计.doc

相关文档

文档介绍

文档介绍:基于单片机LED显示器的数字钟设计本设计基于8031单片机控制,采用LED显示器设计一数字钟的设计方案。该数字钟能稳定显示时分秒,同时实现时分秒的数值调整。本文详细讨论了具体硬件电路,相关原器件的选择以及软件实现过程。比较时钟调整的查询方式和中断方式,对数字钟的稳定性和计时的精确性作了相关的讨论。在实验室通过硬件电路和仿真器进行模拟实验,验证电路和程序的正确性。最后给出采用中断方式实现的数字钟的源程序。,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,肝胆俱全”,单片机的学习和研究是对微机系统学习和研究的简捷途径。单片机以其体积小,使用灵活方便,成本低,易于产品化,抗干扰能力强,可在各种恶劣环境下工作等特点,广泛的应用于工业控制,智能仪表,家用电器,机器人,医疗仪器,军事装备等方面。为了加深对单片机应用的认识,巩固所学的单片机知识,本次科研训练特选题“基于单片机数码管显示的数字钟设计”,尝试基本电路设计和汇编语言编程以及锻炼实践动手能力。数字钟的实现方法多种多样,简单的可以由一些集成电子电路实现,精确点的可以通过某些时钟芯片,如MSM5832,DS1216,以及MC146818,结合相应的硬件电路和软件实现。本次科研训练本着锻炼为主的原则,不采用任何现成的时钟芯片,通过简单的硬件电路,通过编写相应程序进行计时与时间调整。本文采用8031单片机,以8255A作其扩展,LED显示器采用共阴极的七段数码管,驱动器采用74LS07芯片,以及普通的按键作为基本元器件。。单片机8031与8255A的硬件连接如图3所示:,在微型计算机系统中,可不需要附加外部逻辑电路就可直接为CPU与外设之间提供数据通道。在单片机8031与8255芯片连接中应接一个74LS373译码器,8255A作为8031的数据扩展口,输出所显示的段码及位选信号。,,所以8255A的控制口地址为:EFFFH,相应的,A口的地址为:EFFCH,B口的地址为:EFFDH。8255A的读写信号分别与8031的读写信号相连,使其有效时CPU从8255A读取数据或状态信息,或向8255A写入数据或控制字。RESET是复位控制信号,高电平有效。该信号有效时,将8255A控制寄存器内容都清零,并使所有饿断口都置成输入方式。当引脚悬空时,芯片默认为高电平,所以,为了让8255A在电路中正常工作,将RESET接地,强制使复位控制位失效。8255A驱动数码管的电路如图4所示:,根据CPU输出的BCD码得到A口相对应的段码,A口将段码通过一个同相驱动器(图中因未找到同相驱动器而用反相驱动器代替)给数码管的abcdefg,同时,由B口输出位选信号,因为本次设计中使用的数码管都是共阴极的,所以,当B口输出为高电平时,经过74LS00与非门后得到低电平,即选中数码管。数字钟显示中有八个这样的数码管,他们的数据端都是通过A口获得,其位选信号分别接B口的八个口线。这样,使PB0置1,则最高位选中,然后将B口数据循环左移,则可依次使各个数码管选中显示。,显示模块和调整模块组成。定时部分采用经典的定时器定时,结合相应的时钟软件实现计时功能。显示模块是实现数字钟的另一重要部分,其模块的独立程度直接影响到数字钟的可视化程度。调整模块采用中断方式,通过按键可以调整数字钟时分秒的数值。,一直处于运行状态,也就是说定时器是理想运作的,,在理想状态下,定时器定时是没有系统误差的,但由于定时器中断溢出后,定时器从0开始计数,直到被重新置数,才开始正确定时,这样中断溢出到中断响应到定时器被重新置数,其间消耗的时间就造成了定时器定时的误差。如果在前述定时器不关的情况下,在中断程序的一开始就给定时器置数,此时误差最小,误差大约为:,误差7—12个机器周期。,由以上分析,如果数字钟设计为查询的方式或是在中断的方式下将定时器中断设置为最高级,我们在定时值设置时,可以适当的扣除9个机器周期的时间值。但如果在中断的情况下,没有将定时器中断设置为最高级,那就要视中断程序的大小,在