微处理器实验报告-实验三

《微处理器》实验报告

学院:                  

班级:                  

姓名:                  

学号:                  

实验三 8255并行I/O扩展实验

  • 实验要求

利用8255可编程并行口芯片,实现输入、输出实验,实验中用8255PA口作读取开关状态输入,8255PB口作控制发光二极管输出

  • 实验目的

      1. 、了解8255芯片结构及编程方法。
      2. 、了解8255输入、输出实验方法。
  • 实验电路及连线

      1. Proteus实验电路

2、硬件验证实验

硬件连接表

接线孔1

接线孔2

8255 CS

8000H-8FFFH

PB0--PB7

D1--D8

PA0--PA7

SW1--SW8

  • 实验说明

1、8255A芯片简介:8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:

方式0:基本输入/ 输出方式

方式l:选通输入/ 输出方式

方式2:双向选通工作方式

2、使8255A端口A工作在方式0并作为输入口,读取SWl-SW8的开关量,PB口工作在方式0作为输出口。

  • 实验程序流程图

  • 实验步骤

1、Proteus仿真

a.在Proteus中打开设计文档  8255_STM.pdsprj;

b.建立实验程序并编译,仿真;

c.如不能正常工作,打开调试窗口进行调试。

汇编语言参考程序:

CODE    SEGMENT ;

        ASSUME CS:CODE

IOCON EQU 8006H;控制端口

IOA     EQU 8000H;偶地址有效

IOB     EQU 8002H

IOC     EQU 8004H

START:

MOV AL,90H

        MOV DX,IOCON

        OUT DX,AL;将控制字90H输出

        NOP

START1: NOP

        NOP

        MOV AL,0

        MOV DX,IOA

        IN AL,DX;读端口地址

        NOP

        NOP

        MOV DX,IOB

        OUT DX,AL;读入的数据输出

JMP START1

CODE ENDS

        END START

C语言参考程序:

#define IOCON 8006H

#define IOA   8000H

#define IOB   8002H

#define IOC   8004H

void outp(unsigned int addr, char data)

// Write a byte to the specified I/O port

 { __asm

    { mov dx, addr

      mov al, data

      out dx, al

    }

 }

char inp(unsigned int addr)

// Read a byte from the specified I/O port

 { char result;

   __asm

    { mov dx, addr

      in al, dx

      mov result, al

    }

   return result;

 }

void main(void)

{

    char tmp;

    outp(IOCON, 0x90);

    while(1)

    {

        tmp = inp(IOA);

        outp(IOB, tmp);

    }

}

2、实验板验证

a.通过USB线连接实验箱

b.按连接表连接电路

c.运行PROTEUS仿真,检查验证结果

a.通过USB线连接实验箱

b.按连接表连接电路

c.运行PROTEUS仿真,检查验证结果

  • 实验结果和心得体会

实验结果:

按下对应的开关,显示屏上led灯相应的亮起。

这次实验,通过在PROTEUS平台上运行仿真,结合仿真硬件实现了对实验箱的控制,让我掌握了8255芯片的基本原理、结构及编程方法,实现了对LED灯的基本控制。

本次实验需要有两点注意,一是在对实验箱进行调试的时候,在进行线路连接的时候要先关闭实验箱电源,以免实验箱损坏。实验老师告知我们说,这一点很容易被忽略,尤其是我们这些计算机专业的学生;第二点是连接完实验箱线路后要打开电源,并且还要用USB接口将实验箱和计算机连接起来,这样才能顺利实现计算机软件对实验箱的控制。

本次实验一共用到了17条线路,开始使用实验箱时,对其使用方法并不熟悉,因此走了些弯路,但是在老师的指导下,渐入了佳境。

这次实验让我感受到了,软件的魅力所在,小小的软件,却能够驱动大大的工程项目,通过这次实验,我对8255A可编程外围接口芯片有了更为深刻的认识,包括芯片的结构及编程方法,以及如何实现其输入和输出。在软件运行之时,LED灯的明暗变化给人的感受是非常神奇的。                                                                                                                                                                                                                                                     

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青竹小轩_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值