8255LED流水灯控制

实验四 8255 LED流水灯控制实验

一、实验目的

1、认识8255接口芯片、学习其在微机系统中的应用

2、8255编程要点指南

8255是一个通用的可编程的并行接口芯片,它提供有三个I/O口,每个口都可以通过编程设置为多种工作方式,在中小系统中应用广泛,其组成结构如下图。

★三个I/O口,分别是PA口、PB口和PC口。每个口提供八根数据线,如PA口线(PA0~PA7),用于连接外设。

★DB、CB和AB总线用于连接CPU三总线,DB用于接收来自CPU的控制命令字或数据,CB用于选择对8255数据口读或写操作,AB用于选择对哪个口读写操作。

★A组和B组控制电路用于编程控制PA口、PB口和PC口的工作方式选择。见下图控制命令字格式。

若采用A口的方式0来控制LED灯,则控制字为1000 0000B = 80H 。

★编程控制方法

a.设置控制命令字,使A口工作在方式0下——向控制口写控制命令字。

b.输出要点亮的LED数据——向A口写点亮数据。

c.8255基地址为0FF28H,则A口地址0FF28H,B口地址0FF29H,C口地址0FF2AH,控制口地址0FF2BH。

3. 实验系统搭建与使用

a.键盘显示器设置:JK开关置“系统”处,进入监控状态。

b.通讯选择设置:KB6开关置“88”处,并将随机配送的串行通讯线,一端与实验仪的RS232D型插座CZ1相连,另一端与PC机COM1或COM2串行口相连。

c.电路连接:将8255A芯片A口的PA0-PA7依次接Ll-L8,B口的PB0-PB3依次接L9-L12。

d.接通实验仪电源,+5V LED指示灯正常发光,实验仪数码管显示闪动P.,说明实验仪初始化成功,处于待命状态。(否则应及时关闭电源,待修正常后使用)

e.打开PC机电源,执行DJ8086K的集成调试软件,关于该软件的详细说明请参阅《DJ-8086K实验系统与PC机联机操作》。

4.LED流水灯程序设计

1)、实验要求

要求利用L1~L12灯实现LED流水灯。

2)实验分析

通过不断的延时点亮下一个LED灯。需要延时函数。

3)实验程序清单

① 控制LED1→LED8轮流点亮。

CODE SEGMENT

ASSUME CS:CODE

IOAPT EQU 0FF28H

IOBPT EQU 0FF29H

IOCPT EQU 0FF2AH

IOCONPT EQU 0FF2BH

ORG 1000H

START:CLC

MOV AL,80H

MOV DX,IOCONPT

OUT DX,AL ;设置控制字80H

MOV AL,0FEH

MOV DX,IOAPT

NEXT: OUT DX,AL ;点亮L1

CALL DELAY1

ROL AL,01H ;循环左移

JMP NEXT

DELAY1: PUSH AX ;延时程序

PUSH CX

MOV CX,0030H

DELY2: CALL DELAY2

LOOP DELY2

POP CX

POP AX

RET

DELAY2: PUSH CX

MOV CX,500H

DELA1: LOOP DELA1

POP CX

RET

CODE ENDS

END START

② 修改程序控制LED1→LED12轮流点亮。

提示:a.将指令MOV AL,0FEH改为MOV AX,0FFFEH

b.将指令OUT DX,AL 改为OUT DX,AX

C. 将指令ROL AL,01H 改为ROL AX,01H

四、实验报告要求

根据“LED流水灯程序设计”内容,修改程序,择其一实现其他I/O口控制、反向流水、间隔流水等效果。要求报告上有程序代码、操作方法和运算结果。

c语言8255控制流水灯程序,8255LED流水灯控制.doc相关推荐

  1. 西门子1200 总线控制V90伺服程序模板 两种控制模式 1.基于111报文自己编写的PN通讯控制V90伺服程序

    SIEMENS/西门子1200 总线控制V90伺服程序模板 两种控制模式 1.基于111报文自己编写的PN通讯控制V90伺服程序. 2.基于工艺对象轴程序PROFIdrive配置的PN通讯控制V90伺 ...

  2. C语言设计流水灯程序,花式流水灯c语言程序.pdf

    /*************************************************************/ /* [类型]流水灯各种用法 */ /* [现象]流水灯按各种不同样式闪 ...

  3. C语言开定时器做呼吸灯程序,[求助]呼吸灯的编程思路(C语言)

    /*************************************************************** * 程序说明:使用P3.2和P3.4来控制P0端口的LED灯,达到手动 ...

  4. 适合学习的基于stm32系列--按键控制心形红绿流水灯的转换

    一.硬件设计 1,按键电路 在这次设计中,用到的按键只有WK-UP和KEY2两个按键,按下WK-UP按键红灯闪烁,按下KEY2按键绿灯闪烁. WK_UP电路采用的是下拉模式,常态下是低电平,当按键按下 ...

  5. 西门子1200 总线控制V90伺服程序模板

    西门子1200 总线控制V90伺服程序模板 两种控制模式 1.基于111报文自己编写的PN通讯控制V90伺服程序. 2.基于工艺对象轴程序PROFIdrive配置的PN通讯控制V90伺服程序 程序可以 ...

  6. SIEMENS/西门子1200 总线控制V90伺服程序模板

    SIEMENS/西门子1200 总线控制V90伺服程序模板 两种控制模式 1.基于111报文自己编写的PN通讯控制V90伺服程序. 2.基于工艺对象轴程序PROFIdrive配置的PN通讯控制V90伺 ...

  7. 单片机 c语言 p1控制流水灯,单片机控制的流水灯程序

    我们前边学了点亮LED小灯,然后又学了LED小灯闪烁,下边我们要进一步了解一下如何让8个小灯依次一个一个点亮,流动起来. 图1 LED小灯电路图 通过前面的课程,我们可以了解到控制引脚P0.0通过了7 ...

  8. c语言流水灯程序详细讲解,用c语言编写单片机流水灯程序详解

    用C语言编写的单片机流水灯程序 一.硬件电路 因为电路用单片机控制,所以电路非常简洁.其电路原理图见下图,印制板图如下图所示. ? 电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组 ...

  9. 单片机c语言程序编写步骤,用c语言编写单片机流水灯程序详解

    用C语言编写的流水灯程序 一.硬件电路 因为电路用单片机控制,所以电路非常简洁.其电路原理图见下图,印制板图如下图所示. 电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组I/O口, ...

最新文章

  1. 【camera】5.相机内嵌图像处理(ISP)介绍
  2. Python的零基础超详细讲解(第七天)-Python的数据的应用
  3. javap(反汇编命令)详解【转】
  4. android 后台Activity移到前台
  5. yolov5训练自己的数据集(缺陷检测分类——看了就懂系列)
  6. mysql查询_MySQL基础,查询语句详解
  7. Java基础day16
  8. boost::python::detail::copy_ctor_mutates_rhs相关的测试程序
  9. selenium:反反爬拖动验证码
  10. Reference 字段的详情弹窗icon显示或者隐藏
  11. ubuntu 14 安装XML::Simple 模块
  12. 【theano-windows】学习笔记八——预备知识
  13. java 应用分模块_在Java 11中创建一个简单的模块化应用教程
  14. mysql实现内容加密_简单为mysql 实现透明加密方法
  15. 软件测试基础 - 系统测试
  16. 自动化测试工具selenium 之Selenium-IDE
  17. 一封来自华尔街 Quant 的信
  18. c计算机软考中级考什么,计算机软考中级考试内容
  19. java 条件运算符_Java条件运算符
  20. 从零到一学Mycat:入门及配置文件详解

热门文章

  1. 创建一个 Rectangle类,添加width和lenght两个成员变量 在 Rectangle类中添加两种方法分别计算矩形的周长和面积 编程利用Rectangle输出一个矩形的周长和面积
  2. iOS获取UDID问题
  3. PL/SQL 查询的字段显示不全
  4. 主流应用系统的进化路线
  5. Editplus修改调节字体大小的快捷键
  6. Rviz和Gazebo联合仿真运动(一)
  7. 【论文研读】GAN 逆映射 综述 GAN Inversion: A Survey 关键部分翻译 研读思考
  8. Linux 下bin格式软件的安装与卸载
  9. 面试百问:App的Push推送原理测试点
  10. 使用ETH测试网发布NFT流程