好文档 - 专业文书写作范文服务资料分享网站

精编【电子行业企业管理】基于C的数字电子钟设计

天下 分享 时间: 加入收藏 我要投稿 点赞

接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。

图3-5 键盘电路 各按键对应的功能如下:

(1)K1键为功能移位键,依据按下的次数对应选中调节年、月、日、时、分、秒或者星期,具体在键盘子程序中详细介绍。

(2)K2键为数字“+“键,按一下则对应的数字加1。 (3)K3键为数字“-”键,按一下则对应的数字减1。 (4)K4键为总返回键。

3.6 显示电路

显示电路中用到的元器件介绍: (1)数码管LED

LED显示器由若干个发光二极管组成,当发光二极管导通时,相应的一个笔画或一个点就发光。控制相应的管导通,就能显示出对应字符。各段LED显示器需要由驱动电路驱动。在七段LED显示器中,通常将各段发光二极管的阴极或阳极连在一起作为公共端。将各段发光二极管连在一起的叫共阳极显示器,用低电平驱动;将阴极连在一起的叫共阴极显示器,用高电平驱动。静态显示有并行输出和串行输出两种方式。

静态显示就是每一个显示器各笔画段都要独占具有一个锁存功能的输出口线,CPU把要显示的字形代码送到输出口上,就可以使显示器上显示所需的数字或符号,此后,即使CPU不在去访问它,因为各笔画段借口具有锁存功能,

显示的内容也不会消失。

数码管动态显示是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划\、b、c、d、e、f、g、dp \的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。 (2)译码器74LS138

74HC138译码器是通过3条线来达到控制8条线的状态,就是通过3条控制线A0、A1、A2不同的高低电平组合来控制Y0~Y7的输出状态,其中4和5为使能地端,与8引脚共同接地,当接高电平时Y0到Y7输出高电平。6号脚为使能端,为高电平时有效。74HC138封装如图3-6-1所示。当需要级联时只需要改变使能端信号引脚即可,连接方法简单。

图3-6-1 74LS138封装图

(3)8D锁存器74573

74573与74373功能相似,都是8D锁存器,可驱动数码管。其功能如下: ·三态总线驱动输出 ·置数全并行存取 ·缓冲控制输入

·使能输入有改善抗扰度的滞后作用

原理:74LS573 的八个锁存器都是透明的D 型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。

这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。74573的引脚图如下:

图3-6-2 74573引脚图 显示电路设计:

本设计采用16个共阴极数码管,其中DS1-DS4显示年,DS5-DS6显示月,DS7-DS8显示日,DS9-DS10显示时,DS11-DS12显示分,DS13-DS14显示秒,DS15显示星期,DS16用于整点报时时的闪烁位。在显示部分硬件电路设

计中用两个74573分别驱动前8个数码管和后8个数码管,采用总线的连接方式,并在74573与LED之间加上限流电阻,阻值为100欧姆。两个74573的输入端均与P0口相连,即P0口为LED的段选端,用于向LED输入数型码,并接上拉电阻,阻值均为10K欧姆。

P3口的低3位分别接两个74LS138译码器的A、B、C端,用P3.3、P3.4分别接两个译码器的使能端E3。两个译码器的16个输出端分别接16个数码管,用于LED的位选端。

图3-6-3 显示电路

3.7 整点报时电路

整点报时电路由PNP型三极管8550、电阻与蜂鸣器构成,当P1.7输出低电平时,蜂鸣器就会发声,其设计电路如下图所示。

图3-7 整点报时电路

4 系统软件设计

软件的设计是设计控制系统的应用程序。其任务是在整体设计和硬件设计的基础上,确定程序结构,分配片内RAM资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整的应用程序,再与硬件相结合完成相应功能。

4.1 主程序软件设计

流程图如图4-1所示,可以看到主程序采用模块化设计。

从主程序流程图看出,主程序的组成是通过分别调用各子程序组成总体系统功能,能很直观的看出主程序所要完成的功能,首先是初始化各模块,之后调用键盘完成时间的调整,调用日历子程序完成日历时钟的初始化和时间数据的读写,调用显示子程序显示数据,最后又转到键盘程序来回循环。

初始化部分主要有初始化定时器部分和和一些寄存器、标志位、初始化时间等。

(1)对定时器T0初始化时,首先置初值,CPU开中断,定时器T0开中断,并且开始计数,而对定时器T1初始化时,首先置初值,定时器T1关中断,并且停止计数,只有收到命令时才能产生中断。

(2)寄存器的初始化主要是初始化执行程序时用到的部分RAM空间,防止程序执行时带来混乱。

(3)标志位初始化是对时间调整时判断是调分还是调时,以及整点报时等而专设的位标志,初始化过程中标志位全部置0,即开始时是处于显示状态,而不是调整状态或者整点报时状态,这一点在程序中相当明了。

(4)初始化时间是开机时显示的时间,并通过调用日历时钟的写程序来完成时间的置初值。

图4-1 主程序流程图

4.2 键盘子程序设计

多功能键盘程序的设计是本设计的难点,也是完成本设计的重点,由于本设

精编【电子行业企业管理】基于C的数字电子钟设计

接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。图3-5键盘电路各按键对应的功能如下:(1)K1键为功能移位键,依据按下的次数对应选中调节年、月、日、时、分、秒或者星期,具体在键盘子程序中详细介绍。(2)K2键
推荐度:
点击下载文档文档为doc格式
27bks4quio6i8ss1c8w102tjb2ixwe014is
领取福利

微信扫码领取福利

微信扫码分享