`
ErinToJerry
  • 浏览: 56632 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

8255接8只发光二极管,编程使之依次亮灭

阅读更多

这是一个简单的“微机原理与接口技术”的趣味实验。实验要求的完整表述为:将8255C口接上8个发光二极管,编程使之依次亮灭。已知8255端口地址为39CH~39FH。(39FH为控制端口地址,39CH,39DH,39EH分别为A端口、B端口、C端口的端口地址)

我们知道,可编程外围接口芯片8255PC有很多作用,可以扮演多种角色:

1.          做数据口。8255工作于方式0(基本输入输出方式)时,PC可做数据口。高四位PC7~PC4PA组成A组,低四位PC3~PC0PB组成B组。

2.          做状态口。8255工作于方式1(选通输入/输出方式)或者方式2(双向总线方式)时,PC做状态口。

3.          按位控制。引脚按位控制输出高低电平。这要借助于8255的按位置位/复位控制字,按位置位/复位控制字是专门用来设定PC某一位电平高或者低的。

 

显然,我们需要用到PC的作用3。我们利用这样的方式实现“流水灯”:依次(按位)对PC的引脚置位(即置为1)使二极管发光,再写入复位字(即置为0)是二极管熄灭。

流程图如下:

   

 

注意:

1.  写端口即是写寄存器。每一个端口背后都有一个寄存器!82552类控制字:方式选择控制字和按位置位/复位控制字。对8255进行编程时,这2中控制字都被写入8255控制字寄存器中。所以39FH实际上是控制字寄存器的端口地址。

2.  按位置位/复位控制字虽然都是对PC的操作,但是属于控制字。要写入命令口(39FH)而不是C口(39EH)。

 

程序有几部分关键代码(汇编语言编写)如下:

1.  向命令口写入工作方式控制字

MOV DX,39FH  ;39FH为控制字寄存器地址

MOV AL,10000000B  ;方式控制字(即80H

OUT DX,AL

解析:

工作方式控制字格式如下

 

 

 

对于工作方式,PC7~PC4PAPC3~PC0PB,所以不需要单独设定。

对于输入输出,PC7~PC4 PC3~PC0需要单独设定。

 

2.  写入PCi的置位字,点亮二极管、

MOV AL,1  ;00000001B

MOV DX,39FH  ;仍然是39FH

MOV DX,AL

DELAY_1000MS  ;延时1s

解析:

按位置位/复位控制字格式如下

 

 

 

 

3个无效位!!!

  • 大小: 68.9 KB
  • 大小: 38.4 KB
  • 大小: 25 KB
2
0
分享到:
评论
1 楼 coolspeed 2010-12-04  
牛刀了。不都单片机或者中规模时序芯片做吗。

相关推荐

    用P1口做输出口,接八只发光二极管 编写程序,使发光二极管循环点亮,循环点亮时间间隔为1秒,该时间间隔用定时器中断实现

    在这个实例中,我们将P1口配置为输出模式,连接八只发光二极管,每一只对应P1口的一个位。 为了实现定时器中断,我们需要设置单片机的定时器工作模式。常见的定时器工作模式有模式0、模式1、模式2和模式3。这里我们...

    8255并行I/O扩展实验

    要求:利用8255可编程并行口芯片,实现输入、输出,实验中用A口读取开关状态输入,用B口控制发光二极管输出。

    单片机 发光二极管 流水灯 kiel proteus仿真

    单片机控制的发光二极管流水灯是一个常见的电子工程实验项目,它是通过编程实现LED灯按照特定顺序依次亮灭,形成流动效果。这个项目主要涉及以下知识点: 1. **单片机基础**:单片机是微型计算机的一种,集成在单一...

    51单片机8位流水灯式控制发光二极管Keil代码(内附仿真系统电路图+源代码)

    标题中的“51单片机8位流水灯式控制发光二极管Keil代码”指的是使用51系列单片机,通过编程实现8个发光二极管按照特定顺序依次亮灭,形成流水灯效果的项目。这个项目的核心是编写Keil C语言的源代码,以控制单片机的...

    可编程并行接口8255输入输出实验

    1. 流水灯实验:通过8255A的Port A循环输出数据,驱动连接的发光二极管依次亮起,形成流水灯效果,以验证Port A的输出功能。 2. 交通灯实验:模拟交通信号灯的控制,使用Port A的不同组合点亮代表红绿黄灯的二极管,...

    四个开关控制led亮灭

    在电子工程领域,LED(Light Emitting Diode)的控制是一项基本操作,尤其在单片机编程中。本文将深入探讨如何使用四个开关通过单片机来控制LED的亮灭。 首先,我们要理解"单片机"的概念。单片机是一种微控制器,它...

    51汇编,二极管循环点亮

    在本篇内容中,我们将详细解析一个简单的51单片机汇编语言程序,该程序的功能是通过P1口控制8个发光二极管(LED)依次循环点亮。这种类型的程序在教学实验、初学者入门以及小型电子项目中非常常见,它不仅能够帮助...

    微机原理实验 可编程并行接口

    * 8255A芯片的A口PA7~PA0连发光二极管L7~L0 * PC3连接IRQ * PC6连接单脉冲发生器 2. 8255A选通行输入实验 在这个实验中,学生需要设置8255A的A口工作在方式1输入,然后每按一次单脉冲按钮产生一个正脉冲,使8255A...

    可编程并行接口芯片8255的应用实验.pdf

    * 在8255PC口的PC0-PC3上接4个按键作输入,PC4-PC7上接4个发光二极管作输出,编程实现发光二极管正确指示按键的状态。 三、电路原理图 图一:产生500μS方波 图二:按键控制LED亮 图三:流水灯依次点亮 四、实验...

    可编程并行接口实验实验报告.docx

    - **软件编程**:编写程序控制A口和B口的输出状态,使得发光二极管按照预定顺序依次点亮熄灭。 ##### 2. 交通灯实验 **实验概述**:通过8255的A口模拟交通信号灯的控制。 - **硬件连接**:8255的A口的各个引脚分别...

    congzuodaoyou-led_P0口的8个LED从左到右循环依次点亮_

    标题中的"congzuodaoyou-led_P0口的8个LED从左到右循环依次点亮_"表明我们讨论的主题是关于使用微控制器的P0端口来实现一个LED走马灯的效果,其中LED会按照从左到右的顺序逐个亮起并循环。这种效果在电子制作和...

    8个led灯循环点亮程序c语言

    LED灯即发光二极管,它是一种半导体器件,当有适当的电流通过时,就会发出可见光。LED灯的亮度会随着电流的增加而增强,但过强的电流会导致LED灯损坏。LED灯具有低能耗、长寿命、体积小等优点。 知识点二:单片机...

    延时实现LED流水灯

    LED流水灯是指一串LED灯按照特定顺序依次亮起或熄灭,形成类似水流流动的视觉效果。这种效果通常通过编程控制来实现,其中单片机是核心控制器。在本项目中,我们使用的编程语言是汇编语言,文件名为"ma001.asm",这...

    单片机基础实例30例

    - **亮灭顺序控制**:通过编程控制发光二极管的点亮顺序,实现左移或右移效果。 #### 5. 广告灯(利用取表方式) - **实验任务**:利用取表方式控制发光二极管的亮灭,形成特定图案或动画效果。 - **电路原理**:...

    超酷的流水灯程序,间隔300ms先奇数亮再偶数亮

    标题与描述中的“超酷的流水灯程序,间隔300ms先奇数亮再偶数亮”指的是一种在微控制器上运行的LED流水灯程序。这种程序通常用于教学目的,帮助学习者理解定时器、中断以及I/O口操作等关键概念。此程序的特点在于其...

    单片机用P1口控制的流水灯

    在“流水灯1顺序亮然后逆着亮”这个模式下,我们需要编写程序使LED灯按照特定的顺序依次点亮,然后再反向熄灭。这通常涉及到循环控制和位操作。循环控制语句(如for或while)用于规定亮灯的次数和顺序,位操作(如...

    单片机P口输入输出实验PPT学习教案.pptx

    1. 在P1.5端口上接一个发光二极管LED,编写程序,使LED不停地一亮一灭,一亮一灭的时间间隔为0.2s(其输出端为低电平时发光二极管点亮)。 2. P1.0-P1.3作输入口,接拨动开关K1-K4;P1.4-P1.7作输出口,接发光...

    P1口输入输出实验.doc

    以实验机上74LS273做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。循环时间由定时器控制。 五、实验流程: 1. experiment preparation 2. programming 3. simulation 4. debugging 5. result ...

    单片机实现发光二极管的循环点亮控制.doc

    单片机实现发光二极管(LED)的循环点亮控制是一项基础而重要的实践任务,它涉及到微控制器原理、数字电路和编程技术等多个方面。在这个项目中,学生将学习如何使用单片机对LED进行基本的控制操作,进一步理解单片机...

Global site tag (gtag.js) - Google Analytics