计算机接口技术实验报告张晓东.docx

上传人:b****6 文档编号:6465419 上传时间:2023-01-06 格式:DOCX 页数:28 大小:438.15KB
下载 相关 举报
计算机接口技术实验报告张晓东.docx_第1页
第1页 / 共28页
计算机接口技术实验报告张晓东.docx_第2页
第2页 / 共28页
计算机接口技术实验报告张晓东.docx_第3页
第3页 / 共28页
计算机接口技术实验报告张晓东.docx_第4页
第4页 / 共28页
计算机接口技术实验报告张晓东.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

计算机接口技术实验报告张晓东.docx

《计算机接口技术实验报告张晓东.docx》由会员分享,可在线阅读,更多相关《计算机接口技术实验报告张晓东.docx(28页珍藏版)》请在冰豆网上搜索。

计算机接口技术实验报告张晓东.docx

计算机接口技术实验报告张晓东

 

院系:

计算机科学学院

专业:

计算机科学与技术

年级:

2009级

学号:

09061043

姓名:

张晓东

指导教师:

刘科

 

2012年11月8日

 

年级

 09级

班号

一大班

 学号

09061043

专业

计算机科学与技术

 姓名

张晓东

题目名称

实验一、8253定时器/计数器实验 

实验目的

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

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

实验内容

1.8253芯片介绍

8253是一种可编程定时/计数器,有三个十六位计算器,其计数频率范围为0~2MHz,

用+5V单电源供电。

8253的功能用途:

(1)延时中断(5)实时时钟

(2)可编程频率发生器(6)数字单稳

(3)事件计数器(7)复杂的电机控制器

(4)二进制倍频器

8253的六种工作方式:

(1)方式0:

计数结束中断(4)方式3:

方波频率发生器

(2)方式1:

可编程频率发生(5)方式4:

软件触发的选通信号

(3)方式2:

频率发生器(6)方式5:

硬件触发的选通信号

2.硬件原理图如图4-5

3.硬件线路连接

(1)8253的GATE0接+5V

(2)8253的CLK0插孔接分频器74LS393(左上方)的T2插孔,分频器的频率源为

8.0MHz。

4.编程提示

8253的0号通道工作在方式3,产生方波。

 

5.软件框图

 

实验步骤:

1.按图4-5连好实验线路

2.运行实验程序

3.用示波器测量8253白5outo输出拍出有方波产生

实验结果:

实验得出的方波图形:

f=1.95kHZ

改变初值后的方波(将初值04H改为02H):

f=0.89kHZ

CODESEGMENT

ASSUMECS:

CODE

ORG1380H

1380E80190START:

JMPTCONT;定义起始地址

TCONTROEQU0043H;8253控制口和通道地址

TCON0EQU0040H

1383BA4300TCONT:

MOVDX,TCONTRO;写控制字,0通道输出方波

1386B036MOVAL,36H

1388EEOUTDX,AL

1389BA4000MOVDX,TCON0;计初始值送0通道寄存器

138CB000MOVAL,00H

138EEEOUTDX,AL

138FB004MOVAL,04H

1391EEOUTDX,AL

1392EBFEJMP$;结束

1394CODEENDS

ENDSTART

 

 

通过本次实验,我进一步了解了课编程并行接口8253的工作方式及编程原理,了解了定时器8253的电路连接方法,掌握了利用8253输出相应频率的波形的方法。

在实验过程中出现了一些问题,但在老师及同学的帮助下最终解决了问题,学习到了很多知识。

 

教师签名:

年月日

年级

09级

班级

一大班

 学号

09061043

专业

计算机科学与技术

 姓名

张晓东

题目名称

实验二8259单级中断控制器实验 

实验目的

实验目的

1.掌握8259中断控制器的接口方法。

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

实验内容

(1)硬件原理图

(2)软件框图

2硬件线路连接

(1)8259的INT连X15(8088的INTR)

(2)8259的INTA连X12(80881NTR)

(3)“”插孔和8259的3号中断IR3插孔相连,“”端初始为低电平。

(4)8259的CS端接X22

 

 1.按图4-6连好实验线路图

2.运行实验程序

系统显示8259—1

3.按AN按钮,按满10次显示过good

 

 CODESEGMENT

ASSUMECS:

CODE

=0060INTPORTlEQU0060H;定义8253控制口和通道地址

=0061INTPORT2EQU0061H

INTQ3EQUINTREEUP3

INTQ7EQUINTREEUP7

ORGl3A0H;定义起始地址

13A0FCSTART:

CLD;关中断

13A1E8F200CALLWBUF1;调用初始显示8259—1子程序

13A4E81D00CALLWRINTVER;WRITEINT

13A7B013MOVAL,13H;调用写中断向量子程序

13A9BA6000MOVDX,INTPORT1;8259初始化

13ACEEOUTDX,AL

13ADB008MOVAL,08H

13AFBA6100MOVDX,INTPORT2

13B2EEOUTDX,AL

 

 

 

 

(写不完时,可另加附页。

实验步骤:

1.按图连好实验线路图

2.运行实验程序,系统显示8259-1

3.按AN按钮,按满十次显示“good

实验结果:

实验显示“good”

 

13B3B009MOVAL,09H

13B5EEOUTDX,AL

13B6B0F7MOVAL,0F7H

13B8EEOUTDX,AL

13B9C606010701MOVBYTEPTRDS:

[0701H],01H;置中断次数初值01

13BEFBSTI;开中断

13BFE88A00WATING:

CALLDISPP;调用显示8259—1子程序

13C2EBFBJMPWATING;循环等待中断

13C4B80000WRINTVER:

MOVAX,0H;写中断向量子程序

13C78EC0MOVES,AX

13C9BF2C00MOVDI,002CH;写3号中断矢量

13CCB8E013LEAAX,INTQ3

13CFABSTOSW

13DOB80000MOVAX,0000H

13D3ABSTOSW

13D4BF3C00MOVDI,003CH

13D7B82E14LEAAX,INTQ7;写7号中断矢量

13DAABSTOSW

13DBB80000MOVAX,0000h

13DEABSTOSW

13DFC3RET;于程序返回

13E0FAINTREEUP3:

CLI;3号中断服务程序

13E1A00107MOVAL,DS:

[0701H];取中断次数转换成显示代

13E4E83600CALLCONVERS

13E7BB7B07MOVBX,077BH

13EAB010MOVAL,10H

13ECB90500MOVCX,05H

13EF8807INTRE0:

MOVBYTEPTRDS:

[BX],AL

;显示代码写入显示缓冲区

13F143INCBX

13F2E2FBLOOPINTRE0

13F4B020MOVAL,20H

13F6BA6000MOVDX,INTPORT1

13F9EEOUTDX,AL

13FA8006010701ADDBYTEPTRDS:

[0701H],01H

;判中断次数为5次否

13A4E81D00CALLWRINTVER;WRITEINT

13A7B013MOVAL,13H;调用写中断向量子程序

13A9BA6000MOVDX,INTPORT1;8259初始化

13ACEEOUTDX,AL

13ADB008MOVAL,08H

13AFBA6100MOVDX,INTPORT2

13B2EEOUTDX,AL

13B3B009MOVAL,09H

13B5EEOUTDX,AL

13B6B0F7MOVAL,0F7H

13B8EEOUTDX,AL

13B9C606010701MOVBYTEPTRDS:

[0701H],01H

;置中断次数初值01

13BEFBSTI;开中断

13BFE88A00WATING:

CALLDISPP;调用显示8259—1子程序

13C2EBFBJMPWATING;循环等待中断

13C4B80000WRINTVER:

MOVAX,0H;写中断向量子程序

13C78EC0MOVES,AX

13C9BF2C00MOVDI,002CH;写3号中断矢量

13CCB8E013LEAAX,INTQ3

13CFABSTOSW

13DOB80000MOVAX,0000H

13D3ABSTOSW

13D4BF3C00MOVDI,003CH

13D7B82E14LEAAX,INTQ7;写7号中断矢量

13DAABSTOSW

13DBB80000MOVAX,0000h

13DEABSTOSW

13DFC3RET;于程序返回

13E0FAINTREEUP3:

CLI;3号中断服务程序

13E1A00107MOVAL,DS:

[0701H];取中断次数转换成显示代

13E4E83600CALLCONVERS

13E7BB7B07MOVBX,077BH

13EAB010MOVAL,10H

13ECB90500MOVCX,05H

13EF8807INTRE0:

MOVBYTEPTRDS:

[BX],AL

;显示代码写入显示缓冲区

13F143INCBX

13F2E2FBLOOPINTRE0

13F4B020MOVAL,20H

13F6BA6000MOVDX,INTPORT1

13F9EEOUTDX,AL

13FA8006010701ADDBYTEPTRDS:

[0701H],01H

;判中断次数为5次否

13FF803E010706CMPBYTEPTRDS:

[0701H],06H

14047620JNAINTRE2

1406C7067A071A19MOVDS:

[077AH],191AH;满5次显示“good”

140CC7067C071918MOVDS:

[077CH],1819H

1412C7067E071010MOVDS:

[077EH],1010H

1418E83100INTRE1:

CALLDISP

141BEBFBJMPINTRE1

141D240FCONVERS:

ANDAL,0FH

141FBB7A07MOVBX,077AH:

14228807MOVDS:

[BX],AL

142443INCBX

1425C3RET

1426B020INTRE2:

MOVAL,20H;不满5次开中断返回

1428BA6000MOVDX,INTPORT1

142BEEOUTDX,AL

142CFBSTI

142DCFIRET

142EFAINTREEUP7:

CLI;7号中断服务程序

142FB020MOVAL,20H

1431BA6000MOVDX,INTPORT1

;因触发电子不符合中断求引起的7号中断

1434EEOUTDX,AL

1435C7067A071C1CMOVDS:

[077AH],1ClCH;显示“ERR”

143BC7067C071B10MOVDS:

[077CH],101BH

144lC7067E071010MOVDS:

[077Eh],1010H

1447E80200INTRE3:

CALLDISP

144AEBFBJMPINTRE3

144CBA7F07disp:

movdx,077Fh;显示子程序

144FB420movah,20h

1451B9FF00disp0:

movcx,00ffh

14548BDAmovbx,dx

14568A1Fmovb1,ds:

[bx]

1458B700movbh,0h

145A52pushdx

145BBA22FFmovdx,0ff22h

145E2E8A877914moval,cs:

[bx+1479h]

1463EEOUTDX,AL

1464BA21FFmovdx,0ff21h

14678AC4moval,ah

1469EEOUTDX,AL

146AE2FEdisp1:

loopdisp1

146C5Apopdx

146D4Adecdx

146ED0ECshrah,01h

147075DFjnzdisp0

1472BA22FFmovdx,0fn2h

1475B0FFmoval,0FFH

1477EEOUTDX,AL

1478C3ret

1479C0F9A4B0999282F8

data1:

db

0h,0f9h,0a4h,0boh,99h,92h,82h,0f8h

148180908883C6A1868E

db

80h,90h,88h,83h,0c6h,0alh,86h,8eh

1489FF0C89DEC78CF3BF

db

0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh

149190A3A1868Fdb90h,0a3h,0alh,86h,8fh

1496BB0000WBUF1:

MOVBX,0;初始化显示缓冲区(8259-1)

1499C7877A070117MOVWORDPTRDS:

[BX+077AH],170lH

149F83C302ADDBX,2

14A2C7877A070905MOVWORDPTRDS:

[BX+077AH],0509H

14A883C302ADDBX,2

14ABC7877A070208MOVWORDPTRDS:

[BX+077AH],0802H

14B1C3RET

14B2CODEENDS

 

通过本次实验,我进一步了解了可编程并行接口8259的工作方式及编程原理,对中断的认识更加深刻。

认识到中断机制是硬件设计中很重要的一个环节,对中断的实现机制也更加了解,实验有助于我们理解操作系统中断的概念。

 

教师签名:

年月日

年级

2009

班级

一大班

 学号

09061043

专业

计算机科学与技术

 姓名

张晓东

题目名称

8255A并行口实验 

实验目的

 一、实验目的

1.掌握8255A和微机接口方法。

2.掌握8255A的工作方式和编程原理。

实验内容

1.8255A芯片简介

8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C

三个并行接口,用+5V单电源供电,能在以下三种方式下工作:

方式0:

基本输入/输出方式

方式1:

选通输入/输出方式

方式2:

双向选通工作方式

(1)硬件原理图

硬件线路连接

(1)8255A芯片A口的PA0~PA7依次和开关量输入K1—K8相连。

(2)8255A芯片B口的PB0~PB7依次接L1—L8。

(2)软件框图

 

 

 

 

 

 

 实验步骤:

1.按图4-3连好实验线路。

2.运行实验程序。

系统显示执行提示符“”,拨动K1~K8,L1~L8会跟着亮灭。

实验结果:

 

 

 

 

 

 

 

 

 

 

 

 

(写不完时,可另加附页。

CODESEGMENT

ASSUMECS:

CODE

=FF2BIOCONPTEQU0FF2BH;8255各寄存器地址

=FF29IOBPTEQU0FF29H

=FF28IOAPTEQU0FF28H

ORG12C0H

12C0B090START:

MOVAL,90H;写8255控制字

12C2BA2BFFMOVDX,IOCONPT;A口输入,B口输出

12C5EEOUTDX,AL

12C690NOP

12C790NOP

12C890NOP

12C9BA28FFIOLED1:

MOVDX,IOAPT;读A口数据

12CCECINAL,DX

12CDBA29FFMOVDX,IOBPT

12D0EEOUTDX,AL;送B口显示

12D1B9FFFFMOVCX,0FFFFH

12D4E2FEDELAY:

LOOPDELAY;延时

12D6EBFlJMPIOLED1;返回

12D8CODEENDS

ENDSTART

 

通过本次实验,我进一步了解了8255的工作方式及编程原理,可以编写简单的C语言程序控制8255A实现一些基本功能,了解并行I/O接口8255A在pC机中的电路连接方法。

更好的掌握了8255的操作,对接口这么课程有了进一步了解。

 

教师签名:

年月日

年级

09级

班级

一大班

 学号

09061043

专业

计算机科学与技术

 姓名

张晓东

题目名称

串行接口和应用串行发送

实验目的

 一、实验目的

1.了解串行通讯的一般原理和8251A的工作原理。

2.初步了解RS—232串行接口标准及TTL电路的连接方法。

3.掌握8251A编程方法。

实验内容

(1)硬件原理图

 

(1)TxC和RxC分别为8251A的发送时钟和接收时钟,由片外8253的OUT1提供。

(2)8251片选信号8251CS接译码输出3F8H~3FFH(系统上已连接)。

(3)CTS端必须接低电平(已接好),8251A才可向外发送数据,其它回答信号RTS、

DTR、DSR不用。

(4)RxRDY、TxRDY为允许接收和允许发送信号,由于在本系统中使用查询方式进

行通讯,这两个信号线不用,中断方式时,这两个信号分别作发送行接收时的中断申请信号。

 

(2)软件框图

 

 

 

 实验步骤:

1.将0809CS4插孔连到译码输出FF80H插孔、连JX6-JX17.

2.将通道0模拟量输入端IN0连电为器W1的中心插头AOUT1(0-5V)插孔,8MHZ-T

3.运行实验程序

4.调节电位器W1,显示器上会不断显示新的转换结果。

模拟量和数字量对应关系的典型初值为:

0V=>00H+2.5V=>80H+5V=>FFH

5.按RST键退出

实验结果:

 

图中的是运行结果后显示出080980;

调节电位器W1,顺时针时可看到后两位数“80” 会变大,直至“FF”,顺时针可以看到后两位数会变小,直至“00”。

 

 

 

 

 

 

(写不完时,可另加附页。

CODESEGMENT;串行发送

ASSUMECS:

CODE

SECOPORTEQU03F9H

SEDAPORTEQU03F8H

PAEQU0FF21H;字位口

PBEQU0FF22H;字形口

PCEQU0FF23H;键入口

ORG13F0H

START:

JMPSTART0

BUFDB?

?

?

?

?

?

KZDB?

ltimedb?

lkeydb?

data1:

db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h

db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH

START0:

callfor8251

CALLBUF1;DISP:

8251-1

redikey:

calldispkey

cmpKZ,10h

jcwattxd

jmpfunckey

WATTXD:

MOVDX,SECOPORT

INAL,DX

TESTAL,01H

JZWATTXD

MOVAL,KZ

MOVDX,SEDAPORT

OUTDX,AL

WATRXD:

MOVDX,SECOPORT

INAL,DX

TESTAL,02H

JZWATRXD

MOVDX,SEDAPORT

INAL,DX

CMPKZ,AL

JZseri2

CALLBUF3;DISP:

err

sererr:

CALLDISP

JMPsererr

seri2:

movcx,0018h

ser3:

pushcx

calldisp

popcx

loopser3

jmpredikey

funckey:

CMPKZ,1FH

JNZREDIKEY

callbuf2;good

monit:

CALLDISP

JMPmonit

dispkey:

calldisp

callkey

movah,al;newkey

movbl,ltime;ltime

movbh,lkey;lkey

moval,01h

movdx,0ff21h

outdx,al

cmpah,bh

movbh,ah;bh=newkey

movah,bl;al=time

jzdisk4

movbl,88h

movah,88h

disk4:

decah

cmpah,82h

jzdisk6

cmpah,0eh

jzdisk6

cmpah,00h

jzdisk5

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

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

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

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