微机接口实验报告模板.docx

上传人:b****5 文档编号:11709127 上传时间:2023-03-30 格式:DOCX 页数:9 大小:44.86KB
下载 相关 举报
微机接口实验报告模板.docx_第1页
第1页 / 共9页
微机接口实验报告模板.docx_第2页
第2页 / 共9页
微机接口实验报告模板.docx_第3页
第3页 / 共9页
微机接口实验报告模板.docx_第4页
第4页 / 共9页
微机接口实验报告模板.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

微机接口实验报告模板.docx

《微机接口实验报告模板.docx》由会员分享,可在线阅读,更多相关《微机接口实验报告模板.docx(9页珍藏版)》请在冰豆网上搜索。

微机接口实验报告模板.docx

微机接口实验报告模板

中南大学

微机系统与接口

班级:

_计科0702__

姓名:

__王曌_

学号:

_26_

完成日期:

_2010-5-22__

 

目录

实验一8253定时器/计数器接口

实验二双色灯实验

实验三中断控制器实验

实验一8253定时器/计数器接口

一、实验目的

掌握8253定时器的编程原理,用示波器观察不同模式下的输出波形。

二、实验内容

8253计数器0,1,2工作于方波方式,观察其输出波形。

三、实验原理介绍

本实验用到两部分电路:

脉冲产生电路、8253定时器/计数器电路

四、实验步骤

1、实验连线:

 CS0↔CS8253OUT08253CLK2OUT2LED1示波器OUT1

CLK3

8253CLK0,CLK3

8253CLK1

2、编程调试程序

3、全速运行,观察实验结果

五、实验提示

   8253是计算机系统中经常使用的可编程定时器/计数器,其内部有三个相互独立的计数器,分别称为T0,T1,T2。

8253有多种工作方式,其中方式3为方波方式。

当计数器设好初值后,计数器递减计数,在计数值的前一半输出高电平,后一半输出低电平。

实验中,T0、T1的时钟由CLK3提供,其频率为750KHz。

程序中,T0的初值设为927CH(37500十进制),则OUT0输出的方波周期为(37500*4/3*10-6=0.05s)。

T2采用OUT0的输出为时钟,则在T2中设置初值为n时,则OUT2输出方波周期为n*0.05s。

n的最大值为FFFFH,所以OUT2输出方波最大周期为3276.75s(=54.6分钟)。

可见,采用计数器叠加使用后,输出周期范围可以大幅度提高,这在实际控制中是非常有用的。

六、实验结果

程序全速运行后,LED1闪烁(周期为0.25s),OUT1示波器观察为方波,频率为15KHz。

七、程序框图(实验程序名:

t8253.asm)

八、程序源代码清单

     assumecs:

code

       codesegmentpublic

            org100h

      start:

            movdx,04a6h;控制寄存器

            movax,36h;计数器0,方式3

            outdx,ax

            movdx,04a0h

            movax,7Ch

            outdx,ax

            movax,92h

            outdx,ax;计数值927Ch

            movdx,04a6h

            movax,76h;计数器1,方式3

            outdx,ax

            movdx,04a2h

            movax,32h

            outdx,ax

            movax,0;计数值32h

            outdx,ax

            movdx,04a6h

            movax,0b6h;计数器2,方式3

            outdx,ax

            movdx,04a4h

            movax,04h

            outdx,ax

            movax,0;计数值04h

            outdx,ax

       next:

            nop

            jmpnext

       codeends 

        endstart

实验二双色灯实验

一、实验目的

编写程序,以8255为输出口,控制四个双色灯按要求发光。

二、实验要求

1.学习单板方式下扩展简单I/O接口的方法以双色灯的使用。

2.进一步学习微处理器的编程技术。

三、实验内容

8255A的A口作为输入口,与逻辑电平开关相连。

8255A的B口作为输出口,与发光二极管相连。

编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。

四、实现过程

1.设计思想

1、因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。

假设一

个十字路口为东西南北走向。

初始状态0为东西红灯,南北红灯。

然后转状态1南北绿灯通车,东西红灯。

过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。

再转状态,东西绿灯通车,南北灯灯。

过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。

最后循环至状态1。

2、双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。

当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。

2.主要的数据结构及说明

8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。

8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本实验也是如此。

实验中,8255A工作于基本输入输出方式(方式0)。

3.主要模块的实现

1,通过实验连线CS0CS8255PA0~PA7K1~K8PB0~PB7LED1~LED8,连接好实验图,

2,编程并全速或单步运行。

3、全速运行时拨动开关,观察发光二极管的变化。

当开关某位置于L时,对应的发光二极管点亮,置于H时熄灭。

4.代码及说明(注:

可以包含流程图)

assumecs:

code

         codesegmentpublic

              org100h

       start:

movdx,04a6h;控制寄存器地址

              movax,90h;设置为A口输入,B口输出

              outdx,ax 

      start1:

movdx,04a0h;A口地址

              inax,dx;输入

              movdx,04a2h;B口地址

              outdx,ax;输出

              jmpstart1

         codeends

          endstart

 

5.程序运行图

五、实验总结

双色灯实验试验通过编程,控制试验箱,观察实验结果。

可以通过对实验的改写实验改变实验灯闪动的次数,只要改变movax,90h和movdx,04a0h即可。

 

实验三中断控制器实验

1、实验目的

1、掌握8259A的工作原理。

2、掌握编写中断服务程序方法。

3、掌握初始化中断向量的方法。

二、实验内容

用单脉冲发生器作为中断源,在中断服务程序中,通过74LS273输出一个数据,以点亮或熄灭与中断源相对应位置的LED。

四、实现过程

1设计思想

1、8259的使用说明请详细阅读教科书。

2、8086的中断系统是向量中断方式。

内存中特定位置有一中断向量表,表内存有不同中断类型的中断向量(中断入口地址)。

不同中断类型的中断向量在表内有对应的偏移地址,其计算方法是:

中断类型*4。

3、中断类型由8259通过数据总线送给8086,8086内部电路会将该类型值自动乘4,而后赋给指令指针,从而转向中断向量表的相应单元取得中断入口地址,之后就进入中断服务程序。

请仔细研读8259的工作时序。

4、中断类型的高5位由8259寄存器ICW2决定,低3位由中断源IRx的编码自动填入。

IR0~IR7的编码分别为000,001,010,011,100,101,110,111。

2主要的数据结构及说明

1.本实验只在串行监控方式和单板机方式下进行,在ISA总线方式下无法实现。

就其原因是,在PC机总线槽中没有直接引出中断的控制器8259的请求与应答信号,以及级连信号。

2.运行该实验程序的方法是:

在串行监控方式下,先通过加载选项将8259A的安始化程序与中断处理程序送到RAM中。

3.本实验指导书只提供硬件中断8开始。

使用者可以根据自己的需要设定为其他中断方式,且中断号可以从任一中断号开始。

4.实验方法:

以硬中断0为例,先加载8259A主中断程序(假定地址为8100:

0),然后再加载中断程序IRQ0程序(假定地址为8200:

0)。

然后进入对话窗口选项,键入:

#SW0:

20回车

0000:

0020工xxxx-0000,

0000:

0022xxxx-8200回车注:

横线上为键盘键入

SW0:

20回车即在段地址为0000,偏移地址为0020的单元写一个字,对于8259中断的实验而言,就是要在000:

0020-000:

0023四个存储单元中分别写进中断程序的偏址与段地址。

注意要先写入偏移量,再写段地址。

写好后可以用显示命令符#下键入G8100:

0回车,执行8259A主程序即可。

这样设计的目的是为了让学生们更能理解中断的执行原理与过程

3主要模块的实现

1、实验接线

      CS0CS8259CS1CS273O0LED1P+IR0

INTINTRINTAQINTA

2、编译调试程序

 3、全速运行程序,按动单脉冲按键,观察LED的亮灭情况。

4代码及说明(注:

可以包含流程图)

con8279equ0492h

          dat8279equ0490h

   assumecs:

code

     codesegmentpublic

          org100h

   start:

jmpstart1

          segcoddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h 

  start1:

movdx,con8279

          moval,10h 

          outdx,al;编码扫描键盘,双键锁定

          moval,2ah;10分频得到100KHz

          outdx,al

          callblack

    rkey:

movdx,con8279

  disla2:

inax,dx;读入状态字

          andax,07h

          jzdisla2;没有按键则等待!

          movdx,dat8279

          inax,dx;读入键值

          andax,0ffh

          movbx,ax

          nop;设断点观察键值

          callblack;总清显示RAM

          nop

     disp:

movdi,offsetsegcod

          movax,08h;工作方式,16位,左入

          movdx,con8279

          outdx,ax

          movax,90h 

          movdx,con8279

          outdx,ax;写显示RAM命令,地址自增

          movdx,dat8279

          pushbx

          andbx,0f0h

          movcl,4

          shrbx,cl

          adddi,bx

          moval,cs:

[di]

          movah,0

          outdx,ax;写RAM0

          nop

          nop

          movdi,offsetsegcod

          popbx

          andbx,0fh

          adddi,bx

          moval,cs:

[di]

          movah,0

          outdx,ax;写RAM1

          nop

          nop

          pushcx

          jmprkey

   black:

movdx,con8279

          movax,0d1h

          outdx,ax;显示RAM全部清零

          movcx,80h;循环次数

    clsb:

nop

          nop

          loopclsb

          ret

     codeends

      endstart

5.程序运行图

五、实验总结

按照实验图连接好实验图就可以了。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1