51CTO下载-微机原理与接口技术实验指导书(8)

2019-01-03 16:24

(4)流程图如图38所示。 4、预习要求

(1)复习串行通信的特点以及8251的编程方法; (2)仔细阅读本实验指导; (3)根据流程图编好程序。 5、报告要求

(1)小结8251的编程方法;

(2)若对8251发送和接收的字符进行偶校验,则程序应该如何编写。

实验十二 模/数转换器实验

1、实验目的

(1)了解模/数转换器的基本原理,掌握ADC0809芯片的使用方法。 2、实验内容

(1)实验电路原理图如图39所示。通过实验台左下角电位器RW1输出0~+5V直流电压送入ADC0809通道0(IN0),利用输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。

(2)编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用16进制数)。

(3)将JP3的1、2短接,使IN2处于双极性工作方式,并给IN1输入一个低频交流信号(幅度为±5V),编程采集这个信号数据并在屏幕上显示波形。

12 +5V 11 21 Ref(+) msb2-1 20 VCC 2-2 19 2-3 18 GND 2-4 Ref(-) 2-5 8 2-6 15 14 CLOCK 2-7 17 Lsb2-8 IN2 23 ADD-C 24 IN1 ADD-B 25 ADD-A EOC 7 22 ALE 6 IN0 START 9 ENABLE D7 D6 D5 D4 D3 D2 D1 D0 A2 A1 A0 EOC 13 16 1MHz 10 28 +5V R6 10K R7 10K 26 27 ● ● ● U8:。 A U8:。 A IOW CS IOR 298H

+5V 图39 模数转换实验电路原理图

3、编程提示

(1)ADC0809的IN0端口地址为298H,IN1口地址为299H。 (2)IN0单极性输入电压与转换后数字的关系为:

33

其中Ui为输入电压,UREF为参考电压,这里的参考电压为+5V电源。 (3)一次A/D转换的程序可以为 MOV DX,端口地址 OUT DX,AL;启动转换 ;延时

IN AL,DX;读取转换结果至AL中 (4)程序流程图

主程序启动A/D转换,通过延时等待转换完成,读入转换后的结果,然后调用显示子程序在屏幕上显示转换的结果。

主程序的流程如图40所示。 显示子程序如图41、42所示。

4、预习要求

(1)复习A/D转换的原理,ADC0809的结构和引脚,以及它与CPU的接口; (2)仔细阅读本实验指导; (3)按流程图编好程序。 5、报告要求

(1)整理实验的结果。把测量的输入模拟电压与数字显示列出表格; (2)小结A/D转换芯片与CPU的接口及编程方法;

(3)若程序中不是用延时等待A/D转换完成,而是用查询或中断的方法,程序应该如何编写。

将数据右移4位 调显示子程序显示其高4位 从BL中取出数据和0FH相与 N 按下吗? Y 结束 延时 读入转换后数据 所读数据赋给BL N DL大于9吗? Y DL加7 DL加30H 显示ASCII码为DL的字符 Y 开始 启动A/D转换器 开始 读转换后数据 将AL赋给CL 坐标变换 设屏幕为VGA640*480 初始横坐标CX=0 启动A/D转换通道 开始 延时 画点 CX=639吗? N CX加1 有键按下吗? Y N 结束 结束 图40 转换主程序 图41 显示子程序

图42波形显示

34

第五部分 接口实验参考程序

实验三 I/O地址译码

code segment assume cs:code start: mov dx,2a0h out dx,al call delay ;调延时子程序 mov dx,2a8h out dx,al call delay ;调延时子程序 mov ah,06h mov dl,0ffh int 21h jnz ppp jmp start

ppp: mov ah,4ch int 21h

delay proc near ;延时子程序 mov bx,3000 loop2: mov cx,0

loop1: loop loop1 dec bx jne loop2 ret delay endp code ends end start

实验四 中断

;******************; ;* 中断实验程序 *; ;******************; data segment

mess db 'THIS IS A IRQ7 INTRUPT!',0AH,0DH,'$' data ends code segment

assume cs:code,ds:data start:mov ax,cs mov ds,ax mov dx,offset int7 mov ax,250fh int 21h ;设中断程序int7的类型号为0fh cli ;清中断标志位 in al,21h ;读中断屏蔽寄存器 and al,7fh ;开放IRQ7中断 out 21h,al mov cx,10 ;记中断循环次数为10次 sti ;置中断标志位 again: jmp again

int7: mov ax,data ;中断服务程序 mov ds,ax

35

mov dx,offset mess mov ah,09 ;显示每次中断的提示信息 int 21h mov al,20h out 20h,al ;发出EOI结束中断 loop next in al,21h or al,80h ;关闭IR7中断 out 21h,al sti ;置中断标志位 mov ah,4ch ;返回DOS int 21h next: iret code ends end start

实验五(1) 简单并行接口

................... ;********************************; ;* 简单并行输入实验 *; ;********************************; code segment assume cs:code

start:mov dx,2a0h ;从2A0输入一数据 in al,dx mov dl,al ;将所读数据保存在DL中 mov ah,02 int 21h mov dl,0dh ;显示回车符 int 21h mov dl,0ah ;显示换行符 int 21h mov ah,06 ;是否有键按下 mov dl,0ffh int 21h

je start ;若无,则转start exit: mov ah,4ch ;返回DOS int 21h code ends end

实验五(2) 简单并行接口

;****************************; ;* 简单的并行输出实验 *; ;****************************; code segment

assume cs:code start: mov ah,2 ;回车符 mov dl,0dh int 21h mov ah,1 ;等待键盘输入 int 21h cmp al,27 ;判断是否为ESC键 je exit ;若是则退出 mov dx,2a8h ;若不是,从2A8H输出其ASCII码

36

out dx,al jmp start ;转start exit: mov ah,4ch ;返回DOS int 21h code ends end

实验六(1) 七段数码管实验

;***********************************************; ;*本程序为从键盘输入数据(0-9)控制LED数码管发光 * ;* LED_1.ASM * ;***********************************************; data segment led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh mesg1 db 0dh,0ah,'Input a num (0--9h):',0dh,0ah,'$' data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,28bh ;使8255的A口为输出方式 mov ax,80h out dx,al

sss: mov dx,offset mesg1 ;显示提示信息 mov ah,09h int 21h mov ah,01 ;从键盘接收字符 int 21h cmp al,'0' ;是否小于0 jl exit ;若是则退出 cmp al,'9' ;是否大于9 jg exit ;若是则退出 sub al,30h ;将所得字符的ASCII码减30H mov bx,offset led ;bx为数码表的起始地址 xlat ;求出相应的段码 mov dx,288h ;从8255的A口输出 out dx,al jmp sss ;转SSS

exit: mov ah,4ch ;返回DOS int 21h code ends end start

实验六(2) 交通灯控制实验

;十字路口红绿灯模拟演示程序

;端口各灯的设置: 1红 1黄 1绿 0 0 2红 2黄 2绿 data segment

portc1 db 24h,44h,04h,44h,04h,44h,04h ;六个灯可能 db 81h,82h,80h,82h,80h,82h,80h ;的状态数据 db 0ffh ;结束标志 data ends

code segment

assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,28bh

37


51CTO下载-微机原理与接口技术实验指导书(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:区2018年度计划生育工作总结2独家总结范文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: