接口与通讯实验报告.docx

上传人:b****2 文档编号:18203072 上传时间:2023-04-24 格式:DOCX 页数:37 大小:90.04KB
下载 相关 举报
接口与通讯实验报告.docx_第1页
第1页 / 共37页
接口与通讯实验报告.docx_第2页
第2页 / 共37页
接口与通讯实验报告.docx_第3页
第3页 / 共37页
接口与通讯实验报告.docx_第4页
第4页 / 共37页
接口与通讯实验报告.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

接口与通讯实验报告.docx

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

接口与通讯实验报告.docx

接口与通讯实验报告

接口与通讯实验报告

1、8253定时/计数器实验

2、8255并行接口实验

3、数字式时钟(电子钟)

4、D/A(数/模)转换实验

5、A/D(模/数)转换实验

学生学院计算机学院

专业班级07网络工程一班

学号3107006963

学生姓名张伟

指导教师区明明

 

2009年12月8日

计算机学院网络工程专业1班___组、学号3107006963

姓名张伟协作者_________教师评定_________________

实验题目8255A可编程并行实验口、8253A定时/计数器实验

8255A可编程并行实验口

一、实验目的与要求

1、掌握并行接口芯片8255A和微机接口的连接方法。

2、掌握并行接口芯片8255A的工作方式及其编译方法。

二、实验内容

1、实验原理

如实验原理图3-8所示,PC口8位接8个开关K1~K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。

拨动K1~K8,PB口上接的8个发光二极管L1~L8对应显示K1~K8的状态。

2、实验线路连接

(1)8255A芯片PC0~PC7插孔依次接K1~K8。

(2)8255A芯片PB0~PB7插孔依次接L1~L8。

(3)8255A的CS插孔接译码输出070H-07FH插孔。

3、实验步骤

(1)按图5-8连好线路。

(2)运行实验程序。

在DVCC-8086H显示上显示器"8255-1",同时拨动K1~K8,L1~L8会跟着亮灭。

三、改写的实验程序

CODESEGMENT

ASSUMECS:

CODE//定义代码段

IOCONPTEQU0073H

IOCPTEQU0072H//C口地址

IOBPTEQU0071H//B口地址

CONTPORTEQU00DFH

DATAPORTEQU00DEH

DATA1EQU0500H//赋初值

START:

JMPIOLED//跳转到IOLED

IOLED:

CALLFORMAT//调用FORMAT

CALLLEDDISP//调用LEDDISP

MOVAL,81H//改为B口输出,C口输入的控制字为81H

MOVDX,IOCONPT

OUTDX,AL//写控制字IOCONPT到82H

NOP

NOP

NOP//延迟

IOLED1:

MOVDX,IOCPT

INAL,DX//改为C口输入

MOVDX,IOBPT

OUTDX,AL//改为B口输出

MOVCX,0FFFFH

DELAY:

LOOPDELAY//循环

JMPIOLED1//跳到IOLED1

LEDDISP:

MOVAL,90H

MOVDX,CONTPORT

OUTDX,AL//送控制字到90H

MOVBYTEPTRDS:

[0600H],00//将00送到段内地址为0600H的地方

LED1:

CMPBYTEPTRDS:

[0600H],07H//比较地址为0600H内的内容与07H的大小

JALED2//大于的话就跳至LED2

MOVBL,DS:

[0600H]//将地址为0600H的内容送到BL中

MOVBH,0H//将0H送到BH中

MOVAL,CS:

[BX+DATA1]//将地址为BX与DATA1地址送到AL中

MOVDX,DATAPORT

OUTDX,AL//将dataport送到地址为bx+data1的地方

ADDBYTEPTRDS:

[0600H],01H//加1

JNZLED1//结果不等于0则跳至LED1

LED2:

RET//结束

FORMAT:

MOVBX,0

MOVWORDPTRDS:

[BX+0500H],4006H//将4006H送到地址为BX+0500h的地方

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],4040H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],6D6DH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],7F5BH

RET

CODEENDS

ENDSTART

8253A定时/计数器

一、实验目的

1.学会8253芯片和微机接口原理和方法。

2.掌握8253定时器/计数器的工作方式和编程原理。

二、实验内容

本实验原理图如图5-12所示,8253A的A0、A1接系统地址总线A0、A1,故8253A有四个端口地址,如端口地址表5-2所示。

8253A的片选地址为48H~4FH。

因此,本实验仪中的8253A四个端口地址为48H、49H、4AH、4BH,分别对应通道0、通道1、通道2和控制字。

采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0为1MHZ,输出OUTO要求为1KHZ的方波,并要求用接在GATE0引脚上的导线是接地("0"电平)或甩空("1"电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。

实验线路连接

(1)8253A芯片的CLK0引出插孔连分频输出插孔1MHZ。

(2)8253A的GATE0接+5V。

实验步骤

(1)按图5-12连好实验线路

(2)运行实验程序

(2)用示波器测量8253A的OUT0输出插孔,应有频率为1KHZ的方波输出。

幅值0~5V。

三、改写实验程序

CODESEGMENT

ASSUMECS:

CODE

TCONTROEQU004BH

TCON2EQU004AH

CONTPORTEQU00DFH

DATAPORTEQU00DEH

DATA1EQU0500H

START:

JMPTCONT//跳转

TCONT:

CALLFORMAT//调用

CALLLEDDISP//调用

MOVDX,TCONTRO

MOVAL,0B6H//将方式2的控制字送到AL

OUTDX,AL//将方式2控制字写到地址口为TCONTRO的地方

MOVDX,TCON2

MOVAL,00

OUTDX,AL//将00写到地址口为TCON2的地方

MOVAL,20H//修改频率

OUTDX,AL

HLT

LEDDISP:

MOVAL,90H

MOVDX,CONTPORT

OUTDX,AL//将90H写到地址为CONTPORT的地方

MOVBYTEPTRDS:

[0600H],00//将00送到地址为0600H的地方

LED1:

CMPBYTEPTRDS:

[0600H],07H//比较大小

JALED2//大于则跳转

MOVBL,DS:

[0600H]

MOVBH,0H

MOVAL,CS:

[BX+DATA1]

MOVDX,DATAPORT

OUTDX,AL//将地址为BX+DATA1的内容送到DATAPORT

ADDBYTEPTRDS:

[0600H],01H//加法运算

JNZLED1//不等于0则跳转

LED2:

RET

FORMAT:

MOVBX,0

MOVWORDPTRDS:

[BX+0500H],4006H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],4040H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],6D4FH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],7F5BH

RET

CODEENDS

ENDSTART

_

 

计算机学院网络工程专业1班___组、学号3107006963

姓名张伟协作者_________教师评定_________________

实验题目8259A单级中断控制、数字式时钟(电子式)

8259单级中断控制:

一、实验目的与要求

1.掌握中断控制器8259A与微机接口的原理和方法

2.掌握中断控制器8259A的应用编程

二、实验内容

1、实验原理

8259A中断控制芯片工作在主片方式下,有8个中断请求输入端IR0-IR7,它们有各自的中断型号和中断矢量地址。

我们可以通过对各个片写初始化命令字,写控制命令字以及查询字等来确定中断请求信号等。

在写这些命令的时候,我们要明确命令字各个位表示什么含义,再根据所需来确定各个位的值。

2、实验线路连接

接线按照图3-14连接,IR3插孔与SP插孔相连,中断方式为边沿触发方式。

3、实验步骤

1.按图接好实验线路。

2.运行实验程序,先按连接,编译调试,后按运行。

在DVCC-8086JH上显示“8259-1”当我们按一次中断,我们可以看到显示器将显示中断次数。

4、程序流程图

主程序

开始

调用显示00-00-00

 

写8253控制字

填8259中断向量表

8259初始化

开中断

等待中断

 

中断服务程序

开始

 

中断次数=20

次数加1

写时间缓冲区

中断返回

调用显示缓冲区

结束

 

5、改写的8259实验程序,以IR2作为中断源:

CODESEGMENT

ASSUMECS:

CODE//定义代码段

INTPORT1EQU0020H//ICW3的地址

INTPORT2EQU0021H//ICW1的地址

INTQ2EQUINTREEUP2//改为IR2为中断

INTQ7EQUINTREEUP7//中断IR7

CONTPORTEQU00DFH

DATAPORTEQU00DEH

DATA0EQU0580H

DATA1EQU0500H

DATA2EQU0508H

DATA3EQU0518H

DATA4EQU0520H//赋值

ORG1800H

START:

JMPTint1

Tint1:

CALLFORMAT

CLD

MOVDI,DATA0

MOVCX,08H

XORAX,AX//对AX清零

REPSTOSW

MOVSI,DATA3

CALLLEDDISP//显示8259-1

MOVAX,0H

MOVDS,AX

CALLWRINTVER//调用写中断

MOVAL,13H//对ICW3写控制字

MOVDX,INTPORT1

OUTDX,AL

MOVAL,08H//对ICW1写控制字

MOVDX,INTPORT2

OUTDX,AL

MOVAL,09H

OUTDX,AL

MOVAL,0FBH//IR2为中断源的控制字

OUTDX,AL

MOVBYTEPTRDS:

[0601H],01H;TIME=1

STI//开中断

WATING:

JMPWATING//等待

WRINTVER:

MOVAX,0H

MOVES,AX

MOVDI,0028H

LEAAX,INTQ2//中断2

STOSW

MOVAX,CS

STOSW

MOVDI,003CH

LEAAX,INTQ7//中断7

STOSW

MOVAX,CS

STOSW

RET

INTREEUP2:

CLI//关中断

MOVAL,DS:

[0601H]

CALLCONVERS

MOVSI,DATA0

CALLLEDDISPD

MOVAL,20H

MOVDX,INTPORT1

OUTDX,AL

ADDBYTEPTRDS:

[0601H],01H

CMPBYTEPTRDS:

[0601H],06H

JNAINTRE1

MOVSI,DATA4

CALLLEDDISP

INTRE2:

JMPINTRE2

CONVERS:

MOVBH,0H

ANDAL,0FH

MOVBL,AL

MOVAL,CS:

[BX+DATA2]

MOVBX,DATA0

MOVDS:

[BX],AL

RET

INTRE1:

MOVAL,20H

MOVDX,INTPORT1

OUTDX,AL

STI

IRET

INTREEUP7:

CLI

MOVSI,DATA1

CALLLEDDISP

MOVAL,20H

MOVDX,INTPORT1

OUTDX,AL

IRET

LEDDISP:

MOVAL,90H

MOVDX,CONTPORT

OUTDX,AL

MOVBYTEPTRDS:

[0600H],00

LED1:

CMPBYTEPTRDS:

[0600H],07H

JALED2

MOVBL,DS:

[0600H]

MOVBH,0H

MOVAL,CS:

[BX+SI]

MOVDX,DATAPORT

OUTDX,AL

ADDBYTEPTRDS:

[0600H],01H

JNZLED1

LED2:

RET

LEDDISPD:

MOVAL,90H

MOVDX,CONTPORT

OUTDX,AL

MOVBYTEPTRDS:

[0600H],00

LEDD1:

CMPBYTEPTRDS:

[0600H],07H

JALEDD2

MOVBL,DS:

[0600H]

MOVBH,0H

MOVAL,DS:

[BX+SI]

MOVDX,DATAPORT

OUTDX,AL

ADDBYTEPTRDS:

[0600H],01H

JNZLEDD1

LEDD2:

RET

FORMAT:

MOVBX,0

MOVWORDPTRDS:

[BX+0500H],5050H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],0079H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],0000H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],0000H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],063FH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],4F5BH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],6D66H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],077DH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],6F7FH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],7C77H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],5E39H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],7179H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],4006H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],4040H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],6D6FH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],7F5BH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],3F5EH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],5C3FH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],6D6FH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],7F5BH

RET

CODEENDS

ENDSTART

电子时钟源程序:

CODESEGMENT

ASSUMECS:

CODE

INTPORT1EQU0020H8259口地址1,用来写IWC1.

INTPORT2EQU0021H8259口地址2,用来写IWC2,IWC4.

INTQ3EQUINTERUPT3

INTQ7EQUINTERUPT7

CONTPORTEQU00DDH8279命令状态口地址.

DATAPORTEQU00DEH8279键盘显示数据地址

DATA1EQU0500H错误信息显示缓冲区起始地址(0500H-0507H)

DATA2EQU0508H显示译码表起始地址(0508H-0517H)

DATA3EQU0518H初始状态显示缓冲区(0518H-051F)

DATA4EQU0520H时间显示缓冲区起始地址(0520H-0527H)

DATA5EQU0528H存放已重新刷新数码管个数

DATA6EQU0529H存放1/20秒定时中断个数

DATA7EQU052AH存放时间的小时值

DATA8EQU052BH存放时间的分值

DATA9EQU052CH存放时间的秒值

DATA10EQU052EH待更新的显示区的地址

ORG1800H

START:

JMPTINT1

TINT1:

CALLFORMAT

CLD

MOVDX,004BH

MOVAL,0B6H

OUTDX,AL

MOVDX,004AH

MOVAL,50H

OUTDX,AL

MOVAL,0C3H

OUTDX,AL

MOVSI,DATA3

CALLLEDDISP

MOVAX,0H

MOVDS,AX

CALLWRINTVER

MOVAL,13H

MOVDX,INTPORT1

OUTDX,AL

MOVAL,08H

MOVDX,INTPORT2

OUTDX,AL

MOVAL,0BH

OUTDX,AL

MOVAL,0FBH

OUTDX,AL

WAITING:

STI

JMPWAITING

WRINTVER:

MOVAX,0H本程序段为写入中断向量子程序

MOVES,AX

MOVDI,0028H中断矢量地址(IR3)

LEAAX,INTQ3

STOSW

MOVAX,CS

STOSW

MOVDI,003CH中断矢量地址(IR7)

LEAAX,INTQ7

STOSW

MOVAX,CS

STOSW

RET

INTERUPT3:

CLI中断3服务程序

MOVAL,DS:

[DATA6]DATA6中存放1/20秒定时中断次数

INCAL

MOVDS:

[DATA6],AL

CMPAL,14H判断是否够20次中断

JCPLAY是

MOVBYTEPTRDS:

[DATA6],00H否,清零中断次数值

MOVSI,DATA4指向时间显示缓冲区首地址

CALLLEDDISP数码管显示子程序

CALLNEWTIME本子程序段按十进制完成秒,分

时的加1刷新

CALLCONVERSALL本程序将秒,分,时值进行显示译码

PLAY:

MOVAL,20H

MOVDX,INTPORT1

OUTDX,AL

STI

IRET

INTERUPT7:

CLI

MOVSI,DATA1

CALLLEDDISP

MOVAL,20H

MOVDX,INTPORT1

OUTDX,AL

IRET

LEDDISP:

MOVAL,90H数码管显示子程序

MOVDX,CONTPORT

OUTDX,AL

MOVBYTEPTRDS:

[DATA5],00H存放已重新刷新数码管个数

LED1:

CMPBYTEPTRDS:

[DATA5],07H判断是否已经刷新8个数码管

JALED2是,退出

MOVBL,DS:

[DATA5]否,刷新本数码管

MOVBH,0H

MOVAL,CS:

[BX+SI]未满8位从数据区取数送8279

MOVDX,DATAPORT

OUTDX,AL

ADDBYTEPTRDS:

[DATA5],01H显示位数加1

JNZLED1

LED2:

RET

FORMAT:

MOVBX,0

MOVWORDPTRDS:

[BX+DATA1],5050H

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],0079H

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],0000H

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],0000H

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],063FH

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],4F5BH

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],6D66H

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],077DH

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],6F7FH

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],7C77H

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],5E39H

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],7179H

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],3F3FH

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],3F40H

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],403FH

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],3F3FH

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],3F3FH

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],3F40H

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],403FH

ADDBX,2

MOVWORDPTRDS:

[BX+DATA1],3F3FH

MOVBYTEPTRDS:

[DATA6],00D

MOVBYTEPTRDS:

[DATA7],00D

MOVBYTEPTRDS:

[DATA8],00D

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

当前位置:首页 > 农林牧渔 > 畜牧兽医

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

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