logo资料库

数字闹钟唐都设计.doc

第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
资料共23页,剩余部分请下载后查看
1 设计思路
1.1 设计原理
1.2 设计环境及设备
1.3 设计系统框图
2 设计流程图
2.1 主程序流程图
2.2 部分设计流程图
3 设计所用芯片
3.1 8086简介
3.1.1 8086主要特性
3.1.2 8086CPU寄存器结构
3.3 8255芯片的内部结构及引脚
3.3.1 8255引脚功能
8255的控制字
3.4 8254芯片的内部结构及引脚
3.4.1 8254引脚功能
3.4.2 8254的内部结构 图3.7是8254芯片的内部结构图
图3.7 8254的内部结构图
4 数字闹钟硬件接线图
图4.1 硬件接线图
5 源程序清单及注释
总结
致 谢
参考文献
[1] 王慧中。 微机原理及其应用。 武汉:武汉大学出版社,2011
[2] 邹逢兴。 微型计算机原理与接口技术实验指导。北京:清华大学出版社,2009
[3] 赵全利,吕建平,邹雪艳。微型计算机原理及接口技术。北京:机械工业出版社,2009
[4] 何宏,微型计算机原理与接口技术。陕西:西安电子科技大学出版社,2009
沈阳工程学院微机原理及应用课程设计 1 设计思路 1.1 设计原理 此次设计是通过对计数器 8254 设定计数值对脉冲进行计数,在程序里,8254 工作于计数器 0,方式 3。产生 1ms 的方波,设计数初值为 1000,产生的记数时 间正好是时钟每秒走过的时间。通过对中断控制器 8259 设置初始化命令字初值 来控制中断。程序中通过移位指令来实现时、秒、分的个位和十位的独自存储, 将分、秒的个位十位分别存入指定的寄存器中。比较转移指令来完成秒和分的累 加。当秒的个位累加到 10 时十位加一并将个位清零,当秒累计到 60 时,分的个 位就开始计一位,同时秒清零,当分和秒都记到 60 时,开始计一位,同时分和 秒清零,当分与秒都记到 60,小时个位加 1,同时分和秒清零。小时计到 24 时 就调用子程序使秒、分、时清零从新开始计时。通过可编程并行接口芯片 8255 将要显示的位内容送到端口 A 保存起来并将累加好的记数值经过変址寻址方式 将记数值转换成数码管所要显示值。与此同时,还对显示的时间进行比较,看是 否和设定的时间一致。当与设定的时间一致的时候,通过 8254 的控制,使扬声 器发声,从而达到数字闹钟的功能。 程序由以下五个模块组成:主控模块,定时模块,中断模块,显示模块以及 发声模块。 主程序模块:主控模块是系的核心模块,对 8254、8255、8259 进行初始化, 设置中断向量。调用中断子程序和显示子程序由软件实现。该时钟程序由 00: 00:00 开始计时,通过 8254 的分频产生 1ms 的方波。 定时模块:定时模块是为 8259 提供中断请求信号的。由一片 8254 实现,选 用定时器 0,工作在方式 3,由于时钟应该 1 秒走动一次,所以输出值应为 1S, 其输出信号可作为 8259 的中断请求信号。 中断处理模块:中断模块实现动态显示的。中断程序为时间按秒增加,并显 示,只要开中断,便可实现每秒显示时间增加一秒,从而达到动态显示的效果。 显示模块:显示模块是将显示缓冲区的数值送到 LED 显示的功能模块,显 示缓冲区是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位, 秒钟的高位和低位。硬件上由六个 LED 构成,软件上由扫描显示的方法实现。 发声模块:通过比较,当显示时间与设定时间一致时,使扬声器发声。 1
沈阳工程学院微机原理及应用课程设计 1.2 设计环境及设备 PC 机一台、windows 98 系统、实验箱,导线若干。 8254 定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送 MIR7。 8255 并口:用做接口芯片,与数码管相连。 8259 中断控制器:用于产生中断。 LED:六个 LED 用于显示时:分:秒值 1.3 设计系统框图 显示模块 六个 LED 显 示 缓 冲 的 值 8255A 主控模块 中断模块 秒脉冲 8259 定时模块 8254 图 1.1 设计系统框图 2
沈阳工程学院微机原理及应用课程设计 2 设计流程图 2.1 主程序流程图 开始 初始化小时、分钟、秒,都赋初值为 0 关中断 初始化 8253、8255、8259 开中断 进入中断,时间判断及其相应的变化 分别析出时分秒的个位十位 调用 display 函数显示 时间 与设定时间相同,闹 钟响 发中断结束命令,中断返回 图 2.1 主程序流程图 3
沈阳工程学院微机原理及应用课程设计 2.2 部分设计流程图 开始 开中断 N 秒小于 60 Y 秒加 1 分加 1 时加 1 秒清零,分加 1 N 分小于 60 N 分清零,时加 1 N 时小于 24 秒、分、时清零 发中断结束命令,中断返回 图 2.2 中断流程图 4
沈阳工程学院微机原理及应用课程设计 3 设计所用芯片 3.1 8086 简介 由于此系统最终要在西安唐都科教仪器出品的 32 位微机机教学实验系统 TD-PITE/PITC 上进行实验,故设计硬件配置时采用 Intel8086,整个实验的硬件 配置都以此为原则进行设计选用。Intel8086 是 16 位的微处理器(理论学习中为 8088,其内部总线为 16 位,外部总线为 8 位,故称为准 16 位微处理器),它采 用 HMOS 工艺 40 条引脚封装。8086 工作时使用 5V 电源,时钟频率 5MHz(8086-1 为 10MHz,8086-2 为 8MHz)它有 20 根地址线,故可寻址的内存空间为 1MB。 3.1.1 8086 主要特性 Intel8086/8088CPU 是 Intel 公司推出的高性能的微处理器,具体如下主要 特性: (1) 8086CPU 数据总线为 16 位,8088CUP 数据总线为 8 位。 (2) 地址总线都是 20 位,低 16 位用于数据总线复用,可直接寻址为 1MB 的存储 空间。 (3) 有 16 位的端口地址,可以寻址 64KB 的 I/O 端口。 (4) 有 99 条基本指令,指令功能强大。 (5) 有 9 种基本寻址方式。 (6) 可以处理内部和外部中断,外部中断源多达 256 个。 (7) 兼容性好,与 80*86,8085 在源程序一级兼容。 (8) 8086/8088 标准主频为 5MHz,8086/8088-2 主频为 8MH。 (9)支持单处理器或多处理器系统工作。 3.1.2 8086CPU 寄存器结构 8086CPU 中有 14 个 16 位的寄存器,其中有 4 个 16 位的通用寄存器,2 个 16 位指针寄存器,2 个 16 位变址寄存器,1 个 16 位指令指针及 1 个 16 位标志寄存器。 通用寄存器包括累加器 AX,基址寄存器 BX,计数寄存器 CX,数据寄存器 DX 四个寄存器,位于 CPU 的 EU 中,每个数据寄存器可存放 16 位操作数,也可拆成 两个 8 位寄存器,用来存放 8 位操作数。 指针和变址寄存器包括:堆栈指针 SP、基址指针 BP、源变址寄存器 SI、和 5
沈阳工程学院微机原理及应用课程设计 目的变址寄存器 DI 四个 16 位寄存器,可以来存放数据和地址。段寄存器包括: 代码段寄存器 CS,数据段寄存器 DS,附加段寄存器 ES,堆栈段寄存器 SS。 3.2 8259 简介 中断控制器 8259 是 Intel 公司专为控制优先级中断而设计开发的芯片。它将 中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需 附加任何电路,只需对 8259 编程,就可以管理 8 级中断,并选择优先模式和中 断请求方式,即中断结构可以由用户编程来设定。在 MD 微机系统中,8259 芯 片工作于单片方式。 8259 引脚图如图 3.1,各引脚功能如下。 D7-D0——八条双向数据线; WR(低电平有效)——写输入信号; RD(低电平有效)——读输入信号; CS(低电平有效)——片选输入信号; A0——地址信号; INT——中断请求信号; INTA(低电平有效)——中断响应信号; CAS0-CAS2——级联信号,形成一条专用 8259A 总线,以便多片 8259A 的级联; SP/EN——从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器 的接收和发送。在非缓冲方式中,作为输入信号用于表示主片还是从片; IR0-IR7——外部中断请求输入线。要求输入的中断请求信号是由低电平到高电 平的上升沿(并保持高电平到 CPU 响应时为止)或者是高电平。 8259 中断矢量地址与中断信号之间的关系如表 3.1 所示: 表 3.1 8259 中断矢量表 6
沈阳工程学院微机原理及应用课程设计 中断序号 0 功能调用 08H 20H 矢量地址 ~ 1 09H 24H ~ 2 0AH 28H ~ 3 0BH 2CH ~ 4 0CH 30H ~ 23H 27H 2BH 2FH 33H 5 0DH 34H ~ 37H 6 0EH 38H ~ 3BH 7 0FH 3CH ~ 3FH 说明 时钟 键盘 可用 可用 串行口 可用 可用 可用 3.3 8255 芯片的内部结构及引脚 图 3.1 8259 引脚图 8255 可编程外围接口芯片是 Intel 公司生产的通用并行 I/O 接口芯片,它具 有 A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种工作方式下工作, 下面将具体说明这三种工作方式: 方式 0—基本输入/输出方式; 方式 1—选通输入/输出方式; 方式 2—双向选通输入/输出方式。 3.3.1 8255 引脚功能 图 3.2 是 8255 芯片的引脚图。 7
沈阳工程学院微机原理及应用课程设计 图 3.2 8255 芯片引脚图 PA0~PA7:端口 A 输入输出线,一个 8 位的数据输出锁存器/缓冲器, 一个 8 位的数据输入锁存器。 PB0~PB7:端口 B 输入输出线,一个 8 位的 I/O 锁存器, 一个 8 位的输入输 出缓冲器。 PC0~PC7:端口 C 输入输出线,一个 8 位的数据输出锁存器/缓冲器, 一个 8 位的数据输入缓冲器。端口 C 可以通过工作方式设定而分成 2 个 4 位的端口, 每个 4 位的端口包含一个 4 位的锁存器,分别与端口 A 和端口 B 配合使用,可作 为控制信号输出或状态信号输入端口。 CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许 8255 与 CPU 进行通讯。 RD:读信号线,当这个输入引脚为低电平时,允许 8255 通过数据总线向 CPU 发送数据或状态信息,即 CPU 从 8255 读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,允许 CPU 将数据或控制字写 8255。 D0~D7:8255 的数据线。8255 与 CPU 数据传送的通道,当 CPU 执行输入输 出指令时,通过它实现 8 位数据的读/写操作,控制字和状态信息也通过数据总 线传送。 图 3.3 是 8255 芯片的内部结构图。 8
分享到:
收藏