您好,欢迎来到星星旅游。
搜索
您的当前位置:首页武大电气计算机与通信综合实验

武大电气计算机与通信综合实验

来源:星星旅游
实用标准文档

文案大全电气工程学院

学 号: 姓 名:

年 月 日

《计算机与通信综合实验》报告

实用标准文档

实验一 A/D转换实验

1.实验目的

了解模/数转换基本原理,掌握ADC0809的使用方法。

2.实验内容

利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。

3.实验接线图

4.程序框图

文案大全

实用标准文档

5. 编程指南

⑴ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两条指令:

MOV DX, ADPORT ; ADC0809端口地址

OUT DX, AL ; 发CS和WR信号并送通道地址 ⑵用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果。 MOV DX, ADPORT IN AL, DX

⑶循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。

; ADC0809端口地址

6.实验步骤

①将0809 CS4插孔连到译码输出8000H插孔、连JX6→JX17。

②将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔。 ③运行实验程序

如在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8kAsm文件夹,点击H0809.ASM文件,单击“确定”即可装入A/D转换实验源文件,再单击工具栏中编译,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“R运行”或工具图标运行,即开始运行程序。如果在没有PC机的情况下,则在8086K系统显示监控提示符“P.”时,用户段地址固定为0000(省略输入),按SCAL键,输入起始偏移地址1000,按EXEC键,在系统上显示“0809 XX”。“XX”表示输入模拟量转换后的数字量。

④调节电位器Wl, 显示器上会不断显示新的转换结果。 模拟量和数字量对应关系的典型值为: 0V→00H +2.5V→80H +5V→FFH ⑤按RST键退出。

以上两种方式运行结果完全一致,因此,在下面的实验中,不管按何种方式均能运行实验程序。

7. 实验程序清单

CODE SEGMENT ;H0809.ASM ASSUME CS:CODE ADPORT EQU 8000h

文案大全

实用标准文档

PA EQU 0FF21H ;字位口 PB EQU 0FF22H ;字形口 PC EQU 0FF23H ;键入口 ORG 1000H START: JMP START0 BUF DB ?,?,?,?,?,?

data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: CALL BUF1 ADCON: MOV AX,00 MOV DX,ADPORT OUT DX,AL MOV CX,0500H DELAY: LOOP DELAY MOV DX,ADPORT IN AL,DX CALL CONVERS CALL DISP JMP ADCON CONVERS:MOV AH,AL AND AL,0FH MOV BX,OFFSET BUF MOV [BX+5],AL MOV AL,AH AND AL,0F0H MOV CL,04H SHR AL,CL MOV [BX+4],AL RET

DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL

MOV CL,0DFH ;20H ;显示子程序 ,5ms MOV BX,OFFSET BUF DIS1: MOV AL,[BX] MOV AH,00H PUSH BX

MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL

文案大全

实用标准文档

MOV DX,PA OUT DX,AL PUSH CX DIS2: MOV CX,00A0H LOOP $ POP CX

CMP CL,0FEH ;01H JZ LX1 INC BX

ROR CL,1 ;SHR CL,1 JMP DIS1 LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL RET

BUF1: MOV BUF,00H MOV BUF+1,08H MOV BUF+2,00H MOV BUF+3,09H MOV BUF+4,00H MOV BUF+5,00H RET CODE ENDS END START

8.程序运行结果

文案大全

实用标准文档

文案大全

实用标准文档

9. 实验总结:

通过本次实验,我对模/数转换基本原理有了更深刻的理解,尤其是对课本知识的感悟有所加深。同时也基本掌握了ADC0809的使用方法。但是在实验过程中也遇到了些许的困难,比如在接线时,由于不细心而导致接线出错,程序没有运行成功等,最后在老师的耐心指导下成功完成了实验,感谢老师的精心教导。我将在以后的学习中加强锻炼,更加细心,认真的进行学习和实验。

文案大全

实用标准文档

实验二 8255A并行口实验(一)

1.实验目的

⒈ 掌握8255A和微机接口方法。 ⒉ 掌握8255A的工作方式和编程原理。

2.实验内容

用8255PA口控制PB口。

3.实验接线图

4.程序框图

5.编程指南

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

方式0:基本输入/ 输出方式 方式l:选通输入/ 输出方式

文案大全

实用标准文档

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

⒉ 使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开关量,PB口工作在方式0作为输出口。

6. 实验步骤

⒈ 在系统显示监控提示符“P.”时,按SCAL键,传送EPROM中的实验程序到内存中。 ⒉ 8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。 ⒊ 8255A芯片B口的PB0-PB7依次接Ll-L8。 ⒋ 运行实验程序。

在系统显示监控提示符“P.”时,输入11B0,按EXEC键,系统显示执行提示符“┌”拨动K1-K8, LI-L8会跟着亮灭。

7. 实验程序清单

CODE SEGMENT ;H8255-1.ASM ASSUME CS:CODE IOCONPT EQU 0FF2BH IOBPT EQU 0FF29H IOAPT EQU 0FF28H ORG 11B0H START: MOV AL,90H MOV DX,IOCONPT OUT DX,AL NOP NOP NOP

IOLED1: MOV DX,IOAPT IN AL,DX MOV DX,IOBPT OUT DX,AL MOV CX,0FFFFH DELAY: LOOP DELAY JMP IOLED1 CODE ENDS END START

8.程序运行结果

文案大全

实用标准文档

文案大全

实用标准文档

9. 实验总结

本次实验主要是进行8255A和微机接口方法的研究,在通过预习之前所学的微机课之后,顺利的进行了接线了程序写入,也成功完成了实验。通过本次实验,我基本掌握了8255A的工作方式和编程原理。达到了主要的实验目的。同时我深刻意识到,在实验之前有所预习是对实验成功与否又关键作用的。认真对待才能达到良好的实验目的。

文案大全

实用标准文档

软件实验

1、 编写一段程序,已知长度为10的BUF1中有10个无符号数,将其中的数据依次取出并乘2,逆序存放在BUF2中。 程序流程图:

开始 初始数据预备 依次从BUF1中取出数据 将取出的数乘2 逆序置入BUF2中 CX-1 CX=0?

实验代码:

DATA SEGMENT

BUF1 DB 2H,3H,5H,11H,22H,33H,44H,55H,66H,77H BUF2 DB 10 DUP(0) DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA A:

MOV AX,DATA

文案大全

实用标准文档

MOV DS,AX MOV ES,AX MOV CX,10 LEA SI,BUF1

LEA DI,BUF2 + 10 - 1 AA:

MOV AL,[SI] SHL AL,1 MOV [DI],AL INC SI DEC DI LOOP AA

MOV AH,4CH INT 21H

CODE ENDS END A

实验结果:

文案大全

实用标准文档

2、 编写一段程序,已知BUF1单元中有一带符号字节数据X,BUF2中有一带符号字节数据Y,根据以下函数关系编写程序求Z的值,结果存入RESULT单元。Z=|X×2-Y|; 程序流程图:

开始 初始数据准备 BUF1数据乘2 减去BUF2数据 结果存入RESULT

实验代码: #make_COM# ; create \".com\" executable (DOS 1.0 compatible).

org 100h ; add +100h to all addresses (required for .com file). BUF1 DB 7 BUF2 DB 9 RESULT DB 0 MOV AL, [BUF1] MOV AL, [BUF1] MOV BL, 2 MUL BL MOV AH, AL MOV BL, [BUF2] SUB AL, BL JNC NEXT MOV AL, AH XCHG AL, BL SUB AL, BL

NEXT: MOV [RESULT], AL HLT

文案大全

实用标准文档

实验结果:

可知:RESULT单元的结果为“5”

3、 若自STRING单元开始存放一个字符串,以'$'结尾,试编写程序,统计字符串中“x”元素的个数,并将结果存入COUNT单元。

实验代码: #make_COM# ; create \".com\" executable (DOS 1.0 compatible).

org 100h ; add +100h to all addresses (required for .com file). STRING DB 'xwtdtghfdxx$' COUNT DB 0 LEA SI, STRING MOV AH, 0

NEXT1: MOV AL, [SI] SUB AL, 78H JZ NEXT3 MOV AL, [SI] SUB AL, 24H JZ NEXT4

NEXT2: INC SI JMP NEXT1

文案大全

实用标准文档

NEXT3: INC AH JMP NEXT2

NEXT4: MOV [COUNT], AH HLT

实验结果:

4、 从BUF1 的20个无符号数中,取出其最大最小值,并计算其平均值,分别存放在BUF2中。 程序流程图:

文案大全

实用标准文档

开始 初始数据预备 取出第一个数据置为最大、最小值 取出下一个数据 大于最大值? 置为最大值 小于最小值? 置为最小值 CX=0?

实验代码: rg 100h jmp start

BUF1 db 3, 2, 4, 8, 7, 4, 8, 8, 4, 2, 6, 3, 4, 8, 8, 2, 3, 3, 5, 8 BUF2 db 0, 0, 0 start:

lea si, BUF1 lea di, BUF2 mov cx, 20 mov ah, [si] mov al, [si] mov bh, 0 next1:

mov bl, [si]

文案大全

实用标准文档

add bh, bl cmp ah, bl jc change1 next2:

cmp al, bl jnc change2 next3: inc si

loop next1

mov [di], ah mov [di+1], al mov bl, 20 mov al, bh mov ah, 0 div bl

mov [di+2], al mov ah, 2 mov al, [di] add al, 30H mov dl, al int 21h mov al, ' ' mov dl, al int 21h

mov al, [di+1] add al, 30H mov dl, al int 21h mov al, ' ' mov dl, al int 21h call show hlt show:

mov al, [di+2] shr al, 1 shr al, 1 shr al, 1

shr al, 1 mov bl, al sub al, 0AH call shownum mov al, [di+2] and al, 0FH

文案大全

实用标准文档

mov bl, al sub al, 0AH call shownum ret

change1: xchg ah, bl jmp next2 change2: xchg al, bl jmp next3 shownum: show1: jnc show2 mov ah, 2 mov al, bl add al, 30H mov dl, al int 21h over: ret show2: mov ah, 2 mov al, bl add al, 37H mov dl, al int 21h

jmp over ret

实验结果:

文案大全

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务