`
ErinToJerry
  • 浏览: 55556 次
  • 性别: 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  
牛刀了。不都单片机或者中规模时序芯片做吗。

相关推荐

    用DSP点亮第一个发光二极管

    用DSP点亮第一个发光二极管用DSP点亮第一个发光二极管

    8255并行I/O扩展实验

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

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

    接在P0口的8个LED从左到右循环依次点亮,产生走马灯效果

    单片机课程设计编程任务《模拟智能传送装置》.docx

    独立按键K5设定为正向传送控制按键:K5在"传送装置"启动后才被使能,当K5按下后,发光二极管从L1到L8以0.2秒为间隔依次循环点亮,"传送装置"开始正向传送"货物"; 独立按键K9设定为反向传送控制按键:K9在"传送装置...

    单片机流水灯设计.doc

    因此,要实现流水灯功能,我们只要将 发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我 们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们 在控制...

    基于单片机电子琴设计.docx

    LED数码管的a至g七个发光二极管因接得电压不同而导致不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,如表3所示为八段LED数码管的字形码表。 键盘与蜂鸣器系统 基于单片机电子琴设计全文共6页,当前为第4...

    基于单片机的LED流水灯设计.doc

    因此,要实现流水灯功能,我们只 要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。 由 于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的 时候应该延时...

    微机课程设计《节日彩灯》

    利用微机原理实验箱,采用一组发光二极管来模拟彩灯。 要求:1)从两边向中间点亮或从中间向两边点亮,依次循环不止,彩灯的亮灭滚动至少有四组动态变化。 2)亮灭时间为0.25S。 3)用一个开关控制彩灯的工作与否

    单片机应用系统仿真

    例2-2 基于图2-2 所示的单片机应用系统,编写程序使发光二极管D1 闪烁 例2-3 基于图2-2 所示的单片机应用系统,编写程序使发光二极管D0、D1、D2 同时闪烁。 例2-4 基于图2.2 所示的单片机应用系统,编写程序使发光...

    pic单片机设计实例WORD版

    simple_POARD程序为外围功能模块简单应用实例,点亮与PORTD口相连的八个发光二极管; stopwatch程序实现计时秒表功能,时钟显示范围00.00~99.99秒,分辨度为0.01秒; switchinput程序用于开关量的输入(采用SPI总线...

    1_GOODKeil工程文件的建立、设置与目标文件的获得

    Keil工程文件的建立、设置与目标文件的获得 单片机开发中除必要的硬件外,同样离不开...89C51的P1引脚上接8个发光二极管,P3.2~P3.4引脚上接4个按钮开关,我们的第一个任务是让接在P1引脚上的发光二极管依次循环点亮。

    模拟汽车尾灯动作-单片机系统课程设计报告+51软件程序设计源码.zip

    由要求可知,需要设置4个功能键,需要6个发光二极管,用3只表示左侧尾灯,3只表示右侧尾灯。 (2)课程设计要求 1.独立完成课程设计任务; 2.通过老师当场验收; 3.交出完整的课程设计报告。 1.2课程设计思路 ...

    流水灯实验报告

    一、实验目的 1) 简单I/O引脚的输出 2) 掌握软件延时编程方法 3) 简单按键输入捕获判断 二、实验实现的功能 ...2) 按照顺时针循环依次点亮发光二极管 3) 通过按键将发光二极管的显示由顺时针改为逆时针方式

    51单片机基础教程:流水灯

    今天就来教教大家怎么玩玩51单片机,当然了,首先有一个必要的条件就是... 可以看到,总共是八个LED灯,都是由单片机的P1口控制的,并且可以知道当端口为低电平时,灯就会亮,大家一定要注意这一点,目前市场上51的开

    单片机-中断实验-实验报告.doc

    当单片机的INT0端出现负脉冲时,进入相应的中断服务程序,P1口做输出口,接 8只发光二极管,通过程序控制发光二极管依次点亮。 2.选择外部中断0(P3.2)接按键INTO到地,按下出现负脉冲时,进入相应的中断服 务程序...

    数字时钟设计.zip

    数字逻辑课程设计 数字时钟 计算机科学技术 用Verilog HDL对CPLD进行编程,并增加适当的电子元件,设计一个数字电子时钟电路,...2.用发光二极管设计一个“表盘”,通过对应发光二极管的依次点亮来模拟表盘显示时间。

    机电单片机课程设计--4乘4矩阵键盘-汇编语言.doc

    (3)此实验采用的是共阴极LED显示块,只有当a-g端口输入高电平时才有效,即显示 块中的对应的发光二极管才发光,低电平时不显示,通过a-g端口的不同输入使显示器 显示不同的字符。 2.4 电路设计及电路图 把89C51...

    机电单片机课程设计矩阵键盘汇编语言.pdf

    (3)此实验采用的是共阴极LED显示块,只有当a-g端口输 入高电平时才有效,即显示块中的对应的发光二极管才发光, 低电平时不显示,通过a-g端口的不同输入使显示器显示不同 的字符。 2.4 电路设计及电路图 把89C...

    单片机课程设计--00-99计数器的设计.doc

    利用单片机AT89S51单片机来制作一个手动计数器,在AT8 9S51单片机的P1.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0- P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0- P0.7接一个共...

    基于AT89C51单片机的电子计算器的课程设计.pdf

    2.3 显示模块: LED 显示发光二极管LED 是单片机应用系统中的一宗简单 而常用的输出设备,其在系统中的主要作用是显示单片机的输 出数据、状态等。因而作为典型的外围器件,LED 显示单元是 反映系统输出和操作输入...

Global site tag (gtag.js) - Google Analytics