当前位置:范文大全 > 教学设计 > 用8088设计电子时钟

用8088设计电子时钟

发布时间: 2021-10-22 09:24:53

 - 1 利用8088设计电子时钟的设计报告 目 目 录 录

 一、设计任务和要求 -------------------------------- 2 二、设计方案的选择与论证 -------------------------- 3

  2.1 方案比较 ------------------------------------ 3

  2.2 方案选择 ------------------------------------ 4 三、程序设计计算与分析 ---------------------------- 4

  3.1 实现时钟计时的基本方法 ---------------------- 4

  3.2 电子钟的时间显示 ---------------------------- 5

  3.3 硬件设计电路图 ------------------------------ 6

  3.3.1 主电路模块 ------------------------------ 6

  3.3.2 LED 显示模块 ---------------------------- 6

  3.3.3 按键模块 -------------------------------- 7

  3.3.4 总体电路图 ------------------------------ 7

  3.4 硬件设计所用芯片介绍 ------------------------ 8

  3.5、软件设计 ---------------------------------- 12

  3.5.1 主程序流程框图 ------------------------- 12

  3.5.2 键扫子程序流程框图 --------------------- 13

  3.5.3 中断处理程序流程框图 ------------------- 14

  3.6 电子时钟总体程序 --------------------------- 15 四、总结及体会 ----------------------------------- 15 五.附录 ----------------------------------------- 16 六.参考文献 ------------------------------------- 25

 - 2 一 、 设计任务和要求

 时钟就是一种对时间进行累计的工具,即计时。计时的本质就是计数,只不过这里的“数”的单位是时间单位,如果把一小片一小片计时单位累计起来,就可获得一段时间。因此,使用计数器对时钟脉冲进行计数,就是时钟实现的基本原理;再用 LED数码管显示出来,并设计出几个按键用于对时钟进行调整,这样,一个完整的时钟就设计完成了。

 本次课程设计要求利用 8253 定时器设计一个具有时、分、秒显示的电子时钟,并定义一个启动键,当按下该键的时候,时钟从当前的设定值(可以在缓冲区中设置)开始走时。同时,再定义三个按键,分别对时、分、秒进行校正。

 可调整运行的电子钟具有三种工作状态:“P.”状态、运行状态、调整状态。

  (1)“P.”状态:依靠上电进入,在此状态下,按 B, C, D 键均无效,按 A 键有效,进入运行状态。

  (2)运行状态:按奇数次 A 键进入,在此状态下,按 B, C, D键均无效,只有按 A 键有效,按下 A 键后,退出运行状态,进入调整状态。

  (3)调整状态:按偶数次 A 键进入,在此状态下,按 A, B, C, D 键均有效。如按下 A 键,则退出调整状态,进入运行状态;按下B, C, D 键,则分别对时、分、秒加 1,调整结束后必须按 A 键,即可退出调整状态,进入运行状态口

  基本功能要求:

  “P.”稳定地显示在 LED 显示器的最左端数码管上,无 A 键

 - 3 按下(在“P.”状态下,按下 B, C, D 键无效),则不进入电子钟的运行状态,继续显示“P.”。

  按下 A 键后,电子钟从当前的设定值开始走时。

  再次按下 A 键后,电子钟退出运行状态,进入调整状态,利用 B, C, D 键把电子钟的显示时间修改为当前实时时间,时间修改正确后可再次按下 A 键,电子钟则退出调整状态,进入运行状态。

 二 、 设计方案的选择与论证

 1 2.1 方案比较

 方案一:利用 AT89S52 单片机内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时:AT89S52 的 PO 口和P2 口外接 LED 数码管构成显示器;P1 口外接四个按键 A, B, C, D构成键盘电路。如图 2-1 所示。

  图 2-1 AT89S52 单片机设计方案框图

 方案二:以 8088 微处理器作为 CPU, 8253 做定时计数器产生时钟脉冲,8255A 做可编程并行接口,接 LED 显示时钟和扩展调

 - 4 整按键。如图 2-2 所示。

  图 2-2 以 8088 为 CPU 设计方案框图

 2 2.2 方案选择

 就方案一用单片机来设计电子时钟,从主要芯片耗材上来说比方案二要少,但是用单片机来设计电子时钟,需要做的其他模块,如单片机最小系统,相对方案二要复杂很多,而且就程序上的编写来说,方案二也比方案一简单。因此,本设计采用方案二来做。

 三 、 程序 设计计算与分析

 1 3.1 实现时钟计时的基本方法

 利用8253的16位可编程定时/计数器及8088中断系统实现时钟计数。

  (1)计数初值计算:

  选用 8253 的定时/计数器 1,把定时器设为工作方式 2.输入250kHz,输出 200Hz,定时时间为 5 毫秒,则计数溢出 200 次即得

 - 5 时钟计时最小单位一秒.

  (2)采用中断方式进行 fly 出次数累计,计满 200 次为秒计时(1 秒);

  (3)从秒到分和从分到时的计时是通过累加和数值比较实现。

  8253 的初始化程序段:设置 8253, t1,方式 2,输入 250kHz,输出 200Hz。计数初值计算公式 t=1/f*TC,t 为设定时间,TC 为计算初值。

  mov dx,233h

 mov a1,74h;设置控制字

 out dx,al

 mov dx,231h

 mov ax,1250;设置初值

 out dx,al

 mov al,ah

 out dx,al 2 3.2 电子钟的时间显示

 电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAN 中设置显示缓冲区共 6 个单元。电子钟设置 4 个按键通过程序控制来完成电子钟的启、停及时间调整 A 键控制电子钟的启、停:

  B 键调整时

  C 键调整分 D 键调整秒

 - 6 3 3.3 硬件设计电路图

 3 3 .31 .1 主电路模块

 主电路模块由 8088, 8253, 8255A 构成,电路如图所示。

 3-3-1 主电路模块电路 3.3D .2 LED 显示模块

 显示部分由 6 个 LED 组成,用 8255A 的 A 口作 LED 的段码输出口,B 口作六个 LED 数码管的位控输出线。电路如图 3-3-2

 - 7

 3-3-2 显示模块电路 3.33 .3 按键模块

 四个按键 A, B, C, D 分别完成各自功能,由 8255A 的 C 口控制。电路如图 3-3-3

 3-3-3 按键模块电路 3 3. . 3.4 4 总体电路图

  总体电路图见附录 l

 - 8 4 3.4 硬件设计所用芯片介绍

 1.8088 的芯片引脚介绍 在本系统中,8088 工作在最小模式下。负责对 8255A,8253等芯片进行工作方式控制和数据处理,对时钟信号进行响应并控制 LED 数码管进行显示。

 1.AD7~AD0(双向。三态)为低 8 位地址/数据的复用引脚线。采用分时的多路转换方法来实现对地址线和数据线的复用。在总线坐骑的 T1 状态。可见对复用信号使用时间来加以划分的。它要求在 T1 状态线出现低 8 位地址时,用地址锁存器加以锁存。这样在随后的 T 状态,即使这些线用作数据线,而低 8 位地址线的地址在个体却被记录保存下来,并送到地址总线上。在 DMA 方式时,这些引线被浮置为高阻状态。

 2.A15~A8(输出,三态)为 8 位地址线。在读写存储器或外设端口的总线周期内,都作为地址线输出高 8 位地址。

  在 DMA 方式时,这些引线被浮置为高阻。

  3.A19/S6~A16/S3(输出。三态)为地址/状态复用引脚线,在总线周期的 T1 状态,这些线表示为最高 4 位的地址线,在总线周期的其他 T 状态,这些线用作提供状态信息,同样需要地址锁存器对 T1 状态出现的最高 4 位地址加以锁存。

  状态信息 S6 总是为低电平,S5 反映当前允许中断标志的状态。S4 与 S3 一起指示当前哪一个段寄存器被使用。

  在 DMA 方式时,这些引线被浮置为高阻。

  4.RD(输出,三态)读信号,当其有效时表示正在对存储器或 I/O 端口进行读操作。若 IO/M 为低电平,表示读取存储器

 - 9 的数据,若 IO/M 为高电平,表示读取 I/O 端口的数据。

  在 DMA 方式时,这些引线被浮置为高阻。

  5.READY(输入)为准备就绪信号。低电平有效。本信号由等待指令 WAIT 来检查。我们知道当 CPU 执行 WAIT 指令时,CPU处于等待状态,一旦检测到 TEST 号为低,则结束等待状态,继续执行 WAIT 指令下面的指令。

  6.TEST(输入)

  为检测信号,低电平有效。本信号由等待指令 WAIT 来检查。我们知道当 CPU 执行 WAIT 指令时,CPU 处于等待状态,一旦检测到 TEST 号为低,则结束等待状态,继续执行 WAIT 指令下面的指令。

  7.INTR(输入)可屏蔽中断请求信号,高电平有效。CPU 在执行每条指令的最后一个 T 状态时,去采样 INTR 信号,若发现有效,而中断允许标志 IF 有为 1,则 CPU 在结束当前指令周期后响应中断请求,转去执行中断处理程序。

  8.NMI(输入)非屏幕中断请求信号,为一个边缘触发信号,不能由软件加以屏蔽。只要在 NMI 线上出现由低到高的变化信号,则 CPU 就会在当前指令中,转去执行给屏蔽中断处理程序。

  9.RESET(输入)

  复位信号,高电平有效,复位时该信号要求维持高电平值到4 个时钟周期,若使初次加电,则高电平信号至少要保持 50us,复位信号的到来,将立即结束 CPU 的当前操作,内部寄存器恢复到初始状态。

  当 RESET 信号从高电平回到低电平时,即复位后进入重新启动时,CPU 执行从内存 FFFF0H 处的指令,通常在 FFFF0H 存放一

 - 10 条无条件转移指令,转移到系统程序的实际入口处。这样只要系统被复位启动,就自动进入系统程序。

 10.CLK(输入) 时钟信号,它为 CPU 和总线控制电路提供基准时钟,对时钟信号要求:1/3 周期为高电平,2/3 周期为低电平。8088 的标准时钟频率为 5MHz。

 11.电源和地 VCC 为电源引线,单一的为+5V 电源。引脚为 1和 20 为两条 GND 线,要求均要接地。

 12.IO/M 访问存储器或 I/O 端口的控制信号。若 IO/M 为高电平,则访问的是 I/O 端口;若 IO/M 为低电平,则访问的是存储器。

 13.WR 写信号。当其有效时表示 CPU 正在对存储器或 I/O 端口进行写操作,具体对谁进行写操作,有 IO/M 信号决定。本信号在总线周期的 T2,T3。TW 状态有效。在 DMA 方式时,此线被浮置为高阻。

 2. 8253 芯片的内部结构及引脚 8253 有 3 个独立的十六位计数器,计数频率范围为0-2.6MHz。它所有的计数方式和操作方式都通过编程控制。

 8253 的功能用途是:(1)延时中断;(2)可编程频率发生器;(3)事件计数器;(4)二进倍频器;(5)实时时钟;(6)数字单稳;(7)复杂的电机控制器。

 8253 引脚图以及功能说明:

 - 11

 图 3-4-1 8253 引脚 3.8255A 芯片的内部结构及引脚 8255A 可编程外围接口芯片是 Intel 公司生产的通用并行I/O 接口芯片,它具有 A, B, C 三个并行接口,用+5V 单电源供电,能在以下三种工作方式下工作:方式 0-基本输入/输出方式,方式 1-选通输入/输出方式,方式 2-双向选通输入/输出方式。

 8255A 引脚图如图 4-6 所示,各引脚功能如下 : D7-DO—与 CPU 连接的双向数据线; WR(低电平有效)—写输入信号; RD(低电平有效)—读输入信号; CS(低电平有效)—片选输入信号: A0, A1—片内寄存器选择输入信号;

  PAO—PA7 A 口外 PA7-PAO A 口外设双向数据线;

 PB7-PBO B 口外设双向数据线; PC7-PCO C 口外设双向数据线 RESET—复位输入信号

  图 3-4-2 8255A 引脚

 - 12 3.5 5 、 软件设计

 1 3.5.1 主程序流程框图

  图 3-5-1 主程序流程框图

 - 13 3.52 .2 键扫子程序流程框图

 如图 3-5-2 所示

 图 3-5-2 键扫子程序流程框图

 - 14 3.53 .3 中断处理程序流程框图

  图 3-5-3 中断处理程序流程框图

 - 15 6 3.6 电子时钟总体程序

 总程序见附录 2 四 、 总结及 体会

 随着计算机技术的飞速发展,微机接口技术作为计算机技术的一门学科,它是一门应用性、综合性、实践性都较强的课程,通过本次课程设计过程,我基本熟悉和掌握了微机系统的软件、硬件设计的方法、设计步骤,是一次微机开发应用方面的初步训练;通过本次课程设计使我熟练掌握了微机系统与接口扩展电路的设计方法,并熟练应用 8088 汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。

 通过本次设计,不但使我的专业知识得到巩固和开拓,而且能使我将所学与实践联系起来,我对所学的知识有了更深刻的了解和掌握,使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。计算机技术的发展日新月异,其接口技术应用十分广泛,我不但要经常跟踪专业新技术、新动态,时刻走在时代的前列;还要注重积累经验,积累一些通用俗语,才能使自己慢慢地融入专业之中,更快地进入工作角色。此外,还要注重养成终身的学习习惯,扩大自己的知识面,才能促进自己不断进步。有了这次的设计经验,在以后的学习设计实践过程中,我会继续努力。

 - 16 五. 附录

 附录 1

 - 17

 附录 2

 电子时钟程序 ;8255A用作读键盘信息;8253提供时钟信号;LED采用动态显示;8088 工作在最小模式下 stack 50 data; 数据段 buf db 0,0,0,0,0,0

 ;显示缓冲区 led db 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,80h;数码管笔形码 0,1 等 hour db 08h

  ;时缓冲单元 min db 30h

 ;分缓冲单元 sec db 30h

 ;秒缓冲单元 msec db 0

  ;毫秒缓冲单元 dex db 0

 ;笔形码索引值 keytab dw 57FH,5BFH,5DFH,5EFH,5FEH,5FDH,5FBH,5F7H

 dw 67FH,6BFH,6DFH,6EFH,6FEH,6FDH,6FBH,6F7H

  ;键盘编码表 keyend dw 7ffh agekey db 12

 ;键龄 oldkey dw 0

  ;键码字保存 keynum db 0

  ;...

相关热词搜索: 时钟 设计 电子

版权所有:杨帆范文网 2010-2024 未经授权禁止复制或建立镜像[杨帆范文网]所有资源完全免费共享

Powered by 杨帆范文网 © All Rights Reserved.。鲁ICP备16030136号