文案大全电气工程学院
学 号: 姓 名:
年 月 日
《计算机与通信综合实验》报告
实用标准文档
实验一 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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务