经产观察
IT资讯
IT产业动态
业界
网站运营
站长资讯
互联网
国际互联网新闻
国内互联网新闻
通信行业
通信设备
通信运营商
消费电子
数码
家电
数码

用8255和8253使发光二极管按一定规律轮流点亮

作者:habao 来源: 日期:2018-1-28 0:15:34 人气:

  课 题 用 8255 和 8253 使发光二极管轮流点亮 学 院 计算机与信息学院 班 级 物联网工程 10-1 班 姓 名 吴超 学 号 指导老师 石磊 高妍妍 日 期 2013.1.5

  班级: 物联网工程 课程设计名称 姓名:吴超 学号: 用 8255 和 8253 使发光二极管按一定规律轮流点亮 发光二极管点亮方式:将发光二极管分为 n 组,每组 12/n 个灯管, 从左到右依次点亮这 些灯管,每组灯管发光时间为 t 。设有 4 种发光组合: (1 )n=12,t=1s :每个灯管间隔 1s 循环点亮。 (2 )n=12,t=2s :每个灯管间隔 2s 循环点亮。 (3 )n=6 ,t=1s :每两个灯管间隔 1s 循环点亮。 (4 )n=6 ,t=2s :每两个灯管间隔 2s 循环点亮。 这四种方式分别对应按键“A” “B” “C” “D” 、 、 、 。按对应按键后进入 对应方式。 退出:按“E”键后,所有灯管灭,七段数码管显示初始“P. ”状态。 1 掌握《微机原理与接术》的内容 2 掌握可编程并行接口 8255A,可编程定时/计数器 8253,及数码管的 用法和原理 3 掌握汇编语言程序的设计 一. 系统所选用的个芯片介绍 1. Intel8253 可编程定时/计数器 2. 可编程并行接口芯片 8255 3. 八段数码管显示 二. 系统选用各芯片的工作方式 1. Intel8253 可编程定时/计数器工作方式 2. 可编程并行接口芯片 8255 工作方式 一.基本的工作原理 二.硬件总体的设计 1.系统总的方案 2.键盘及其功能的定义 3.系统所实现的功能 三.软件总体设计 1.程序代码(带注释) 2 程序分析

  《微机原理与接术》是计算机,电子等专业的一门 专业基础课程。在课程体系中占有重要的地位课程设计的内 容不仅很好的配合了所学习的内容及实验,而且通过课程设 计将平时所学的内容运用到实际应用中。

  发光二极管点亮方式:将发光二极管分为 n 组,每组 12/n 个灯管,从左 到右依次点亮这些灯管,每组灯管发光时间为 t 。设有 4 种发光组合: (1 )n=12,t=1s :每个灯管间隔 1s 循环点亮。 (2 )n=12,t=2s :每个灯管间隔 2s 循环点亮。 (3 )n=6 ,t=1s :每两个灯管间隔 1s 循环点亮。 (4 )n=6 ,t=2s :每两个灯管间隔 2s 循环点亮。 这四种方式分别对应按键“A”“B”“C”“D” 、 、 、 。按对应按键后进入对应方 式。 退出:按“E”键后,所有灯管灭,七段数码管显示初始“P. ”状态。

  1 掌握《微机原理与接术》的内容。 2 掌握可编程并行接口 8255A,可编程定时/计数器 8253, 及数码管的用法 和原理。 3 掌握汇编语言程序的设计。

  1 片 8253 内部有 3 个计数器, 分别称为计数器 0、1、 2,其结构完全相同, 互相之间工作完全。每个计数器有三个引脚和外部联系:

  CLK:计数脉冲输入,计数器对该引脚出现的信号进行计数,最高计数速率 为 2.6MHZ。 Gate:门控输入,用于控制计数器是否对 CLK 计数。 OUT:输出信号端。 每个计数器内部都有 1 个 8 位的控制寄存器, 三个控制寄存器使用同一端口 地址,在编程结构图中,画为 1 个控制寄存器。 每个计数器内部还有 1 个计数初值寄存器(CR) 个计数执行部件(CE) 、1 和 1 个输出锁存器(OL) ,它们都是 16 位的。 执行部件(CE)是 1 个 16 位减法计数器,其起始值等于初值寄存器(CR) 的值。CR 的值通过程序设置。输出寄存器(OL)用来锁存执行部件(CE)的值, 以便 CPU 读出。

  8253 有两根地址线 个端口地址,各寄存器的端口地址分配如 下: (PC 机中口地址 40H-43H) 。

  系统中的 8255 线 的数据线片选信号线、地址线、读写控制线等分别与系统总线相连, 其 A、B、C 三个端口以排针形式引出,供 8255 实验使用。 可编程并行接口 Intel8255A, 其内部结构如图所示,由以下 4 个部分组成: ① 数据总线缓冲器。这是一个三态双向 8 位缓冲器,它是 8255A 与 CPU 系统数 据总线的接口。所有数据的发送与接收,以及 CPU 发出的命令字和从 8255A 来的 状态信息都是通过该缓冲器传送的。 ② 读/写控制逻辑。读/写控制逻辑由读信号 RD,写信号 WR,选片信号 CS 以及端 口选择信号 A0、A1 等组成。读/写控制逻辑控制了总线的、关闭和信息传 送的方向,以便把 CPU 的控制命令或输出数据送到相应的端口;或把外设的信息 或输入数据从相应的端口送到 CPU。8255A 的基本操作及在 TP86A、PC/TX 和扩展 板上的端口地址如下表所示。 ③ 输入/输出端口 A、B、C。8255A 包括 3 个 8 位输入输出端口(port) 。每个端 口都有一个数据输入寄存器和一个数据输出寄存器, 输入时端口有三态缓冲器的 功能,输出时端口有数据锁存器功能。在实际应用中,PC 口的 8 位可分为两个 4 位端口(0 方式下) ,也可以分成一个 5 位端口和一个 3 位端口(2 方式下)来使 用。 ④ A 组和 B 组控制电。控制 A,B,C 三个端口的工作方式,A 组控制 A 口和 C

  口的上半部(PC4-PC7),B 组控制 B 口和 C 口的下半部(PC0-PC3)的工作方式 和输入输出。A 组和 B 组的命令寄存器还接收按位控制命令,以实现对 PC 口的 按位/复位操作。

  1.计数器 0,计数器 1,计数器 2 这 3 个计数器互相,各自可按不同的方式工作。计数器的内部结构如 前面所述,每个计数器包含一个 16 位的初始寄存器,一个计数执行部件和一个 锁存器。 计数执行部件从初始值寄存器中获得计数初值, 便进行减 1 计数, 此时, 锁存器跟随记数执行部件的内容而变化,当有一个锁存命令来到时,锁存器便锁 定当前计数,直到被读走以后,又跟随计数执行部件的动作。 3 个计数器的工作方式都决定于控制寄存器中的控制字,对此,后面还要作 专门的讨论。 各计数器的外部输入输出信号如下: 计数器 0:CLK0—计数器 0 的时钟输入。 GATE0—计数器 0 的门脉冲控制输入。 OUT0—计数器 0 的输出。 计数器 1:CLK1—计数器 1 的时钟输入。 GATE1—计数器 1 的门脉冲控制输入。 OUT1—计数器 1 的输出。 计数器 2:CLK2—计数器 2 的时钟输入。 GATE2—计数器 0 的门脉冲控制输入。 OUT2—计数器 0 的输出。 2.数据总线-

  数据总线缓冲器有三个方面的功能,即: (1)往计数器设置记数初值; (2)从计数器读取计数值; (3)往控制积存器设置控制字。 3.读/写逻辑电 读/写电从系统控制总线接收输入信号,经过组合,产生对 8253 各部分的控 制。 具体为: A1、A0—用来对 3 个计数器和控制积存器进行寻址。 RD—读信号。当 RD 为低电平时有效,此时,表示 CPU 正在对 8253 的一个计数 器进行读操作。 WR—写信号。当 WR 为低电平时有效,此时,表示 CPU 正在对 8253 的几个计数 器进行写操作。 CS—片选信号。只有在 CS 为持续低电平的情况下,RD 和 WR 才会受到确认, 否则会被忽略。 4.控制积存器 当 A1A0=11 时,通过读/写控制逻辑电选中控制积存器,此时,CPU 可以写 入控制字。 下面是 CPU 对 8253 各积存器访问时,信号和功能之间的对应关系。

  8255A 基本操作与端口地址 1.数据端口 A、B、C 共提供 24 条数据线,与外设相联结,可以用软件将它们分别编程为输入端 口或输出端口。 端口 A: ①1 个 8 位的数据输入锁存器:PA 作输入时,有锁存功能。 ②1 个 8 位的数据输出锁存器缓冲器:PA 作输出时,有锁存功能。 端口 B: ①1 个 8 位输入缓冲器:PB 作输入时,不对数据锁存。 ②1 个 8 位输出锁存器缓冲器:PB 作输出时,有锁存功能。 端口 C: ①1 个 8 位输入缓冲器:PC 作输入时,无锁存功能。 ②1 个 8 位输出锁存器缓冲器:PC 作输出时,有锁存功能。 2.A 组控制和 B 组控制 8255 在使用中,PA 和 PB 常作为的输入/输出端口,端口 C 则配合 PA、 PB 的工作。因此,把 PA、PB、PC 分为两组。 A 组:PA、PC 的上半部(PC7-PC4) B 组:PB、PC 的下半部(PC3-PC6) 这两组端口的工作方式分别由 A 组控制和 B 组控制逻辑进行控制。 3.读写控制逻辑 该部分控制 8255 与 CPU 的数据传输。它接收 CS、A1、A0,WR、RD 及 reset 信号。

  通过 Intel8253 可编程定时/计数器的方式 3 方波发生器与方式 0 计数结束 时产生中断风别产生的方波和中断来计数,配合可编程并行接口芯片 8255 来控 制流水灯的循环点亮,通过键盘扫描来接受外部控制 .并通过八段数码管 将 A,B,C,D 显示,并且转入相应的模式执行。

  通过键盘扫描来获取外部控制信号,此时通过八段数码管显示出 A, B , C, D 字母并分别转入相应的模式来控制流水灯的不同点亮方式和亮灯时间。 2.键盘及其功能的定义 (1 )n=12,t=1s :每个灯管间隔 1s 循环点亮。 (2 )n=12,t=2s :每个灯管间隔 2s 循环点亮。 (3 )n=6 ,t=1s :每两个灯管间隔 1s 循环点亮。 (4 )n=6 ,t=2s :每两个灯管间隔 2s 循环点亮。 这四种方式分别对应按键“A”“B”“C”“D” 、 、 、 。按对应按键后进入对应方 式。

  在程序中分别设计了几种 MODE: 其中 MODE1 对应按下键 A 时所 进入的控制模式; MODE2 对应按下键 B 时所进入的控制模式;MODE3 对应按下键 C 时所进入的控制模式;MODE4 对应按下键 D 时所进入的 控制模式;首先让所有流水灯都灭,然后扫描键盘是否有按键按下, 当按下按键则判断是否在 A-E 的范围内,不在此范围则不会有影响, 如果在此范围则跳转到相应的键所对应的模式下,控制流水灯的亮 灭。 其中用 8255 的 PB 口与 PC 口输出来控制灯的亮灭, 8253 来控 用 制时间及延时。按下键 A 是将进入 MODE1 此时小灯分为 12 组,每隔 1 秒循环显示一个 LED 灯亮。按下键 B 是将进入 MODE2 此时小灯分为 12 组,每隔 2 秒循环显示一个 LED 灯亮。按下键 C 是将进入 MODE3 此时小灯分为 6 组,每隔 1 秒循环显示一个 LED 灯亮。按下键 D 是将 进入 MODE4 此时小灯分为 6 组,每隔 2 秒循环显示一个 LED 灯亮。 按 下键 E 后,所有灯管灭,七段数码管显示初始“P. ”状态并且退出。

  此次课程设计让我加深了对《微机原理与接术》的学习与 认识,同时也是我对 Intel8253 可编程定时/计数器,可编程并行接 口芯片 8255 和八段数码管显示有了更加深入的理解和运用。对 8253 编程定时/计数器的三个计数器及其控制字和方式命令字的编写更加 熟悉,平时在课程中学到的东西运用于课程设计中使得记忆更加深 刻, 运用更加熟练。对 8253 编程定时/计数器的六种工作方式分别可 运用在不同的场合有不同的作用,提供了很好的定时与计数的功能; 可编程并行接口芯片 8255 有三个数据端口 A,B,C 分别分为两组 A 组: PA、PC 的上半部(PC7-PC4)和 B 组:PB、PC 的下半部(PC3-PC6) , 由以下 4 个部分组成:① 数据总线缓冲器 ② 读/写控制逻辑 ③

  输入/输出端口 A、B、C ④ A 组和 B 组控制电。 通过课程设计不仅让我熟练掌握几种芯片的工作方式及其控制 字和命令字的书写,而且也是我学到了更多的东西, 加深了汇编语言 程序的编写与设计,提高了动手能力及团队协作能力。

  1.刘乐善等《微型计算机接术原理及应用》第一版 社 2.戴梅萼等《微型计算机技术及应用》第二版 大学出版社 3.黄玉清等《微机原理及接术》 电子工业出版社 华中理工大学出版

  

推荐文章