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. Linux与JVM的内存关系分析
  2. python常用内置模块-Python内置模块和第三方模块
  3. 南通儒通软件上机面试题
  4. 96秒100亿!如何抗住双11高并发流量?
  5. HTTP系列学习(笔记三):HTTP的发展历程思维导图
  6. 【机器学习】机器学习中的异常值的识别和处理
  7. mach-o hook
  8. 进制转化(二进制,八进制,十进制,十六进制)详细教程
  9. spark学习之执行计划explain
  10. Ubuntu下可以使用的微信
  11. 浅谈opencv3.2中各个模块的简介
  12. RFID固定资产盘点系统给企业带来哪些便利?
  13. 技术债务的高息信用卡:深入了解那些知名的端到端机器学习平台
  14. 算法:Climbing Stairs(爬楼梯) 6种解法
  15. 电子书下载:人一生要看的60部电影
  16. 掌机发展简史及未来趋势分析
  17. 干货 | 分段的人脸检测在移动段的应用
  18. 双电阻差分电流采样_不同的泄露电流法特性介绍 多功能电气安规测试仪SECUTEST PRO...
  19. 小火狐进化_神奇宝贝第一到第八代中,小智不拥有的御三家是哪几只?
  20. 机器学习 keras+flask(或者Django)问题

热门文章

  1. 关于淘宝联盟的接口调用报错问题
  2. java使用jna修改桌面_java - Java JNA获取桌面项目位置 - 堆栈内存溢出
  3. 2019 Google物体挑战赛结果正式揭晓 极链科技获得金牌
  4. python猜随机数游戏
  5. Cesium 设置背景
  6. Talend抽数工具使用整理
  7. 8月第四周 | shell date、TGI衡量用户偏好
  8. iOS杂谈14—iOS设备的UDID是什么?苹果为什么拒绝获取iOS设备UDID的应用?如何替代UDID?
  9. vscode更换主题的插件_01-vscode主题及插件
  10. 移远5G模组RM500U-CN在Win11下的短信和通话演示