第一部分 系统介绍

90
第第 第第 第第第第 第第第第第第 第第第第 第第第第8086 第第I/O 第第第第 第第第 8255 第第第第第 LED 第第第第第第第 第第第 8253 第第第第 第第第 8259 第第第第第第第第第第第 第第第 A/D 第第第第 第第第 D/A 第第

Upload: kiayada-blanchard

Post on 30-Dec-2015

113 views

Category:

Documents


5 download

DESCRIPTION

第一部分 系统介绍. 第二部分 基本电路介绍. 第三部分 基本实验( 8086 ). 目录. 实验一 I/O 端口实验. 实验二 8255 键盘扫描与 LED 数码管显示实验. 实验三 8253 定时实验. 实验四 8259 中断控制及中断服务实验. 实验五 A/D 转换实验. 实验六 D/A 实验. 第一部分 系统介绍. 一、系统特点.  配有两块可编程器件: EPM7128 被系统占用。另一块 EPM7032 供用户实验用。两块器件皆可通过 JTAG 接口在线编程。使用十分方便。. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第一部分    系统介绍

第一部分 系统介绍

第二部分 基本电路介绍

第三部分 基本实验( 8086 )

实验一 I/O 端口实验

实验二 8255 键盘扫描与 LED 数码管显示实验实验三 8253 定时实验

实验四 8259 中断控制及中断服务实验

实验五 A/D 转换实验

实验六 D/A 实验

目录

Page 2: 第一部分    系统介绍

配有两块可编程器件: EPM7128 被系统占用。另一块 EPM7032 供用户实验用。两块器件皆可通过 JTAG 接口在线编程。使用十分方便。

第一部分 系统介绍

一、系统特点

Page 3: 第一部分    系统介绍
Page 4: 第一部分    系统介绍

6264 系统 RAM ,地址范围 0 ~ 3FFFH ,奇地址有效6264 系统 RAM ,地址范围 0 ~ 3FFFH ,偶地址有效27C64 系统 ROM ,地址范围 FFFFF ~ FC000H ,奇地 址有效27C256 系统 ROM ,地址范围 FFFFF ~ FC000H ,偶地 址有效

1 )、时钟频率: 6.0MHz

2 )、存储器

二、系统概述

Page 5: 第一部分    系统介绍

3 )、系统资源分配

本系统采用可编程逻辑器件( CPLD ) EPM7128

做地址的编译码工作,可通过芯片的 JTAG 接口与 PC

机相连,对芯片进行编程。部分地址单元经译码后输出

(插孔 CS0---CS5 )给用户使用,他们的地址固定,用

户不可改变。具体的对应关系见下地址分配。注意,用

户的地址不能与系统相冲突,否则将导致错误。

Page 6: 第一部分    系统介绍

· 地址分配

CS0 片选信号,地址 04A0 ~ 04AF 偶地址有效

CS1 片选信号,地址 04B0 ~ 04BF 偶地址有效

CS2 片选信号,地址 04C0 ~ 04CF 偶地址有效

CS3 片选信号,地址 04D0 ~ 04DF 偶地址有效

CS4 片选信号,地址 04E0 ~ 04EF 偶地址有效

CS5 片选信号,地址 04F0 ~ 04FF 偶地址有效

CS6 片选信号,地址 0000 ~ 01FF 偶地址有效

CS7 片选信号,地址 0200 ~ 03FF 偶地址有效

8250 片选地址: 0480~048F ,偶地址有效8279 片选地址: 0490 ~ 049F ,偶地址有效

Page 7: 第一部分    系统介绍

所有实验程序的起始地址为 011

00H , CS=0100H , IP=0100H ,代码段、数据段、堆栈段在同一个 6

4K 的地址空间中。

· 硬件实验说明

Page 8: 第一部分    系统介绍

6264 系统 RAM ,地址范围 0 ~ 3FFFH ,奇地址有效6264 系统 RAM ,地址范围 0 ~ 3FFFH ,偶地址有效27C64 系统 ROM ,地址范围 FFFFF ~ FC000H ,奇地 址有效27C256 系统 ROM ,地址范围 FFFFF ~ FC000H ,偶地 址有效

8066 单元1 )微处理器: 80862 )时钟频率: 6MHz3 )存储器

Page 9: 第一部分    系统介绍

( 1 )简单 I/O 扩展实验( 2 )存储器扩展实验( 3 ) CPLD 地址译码实验( 4 ) 8255 可编程并口实验( 5 ) 8253 定时 / 计数器实验( 6 ) A/D0809 实验( 7 ) D/A0832 实验( 8 ) 8250 可编程串口实验( 9 ) 8279 显示器接口实验( 10 ) 8279 键盘扩展实验( 11 ) 8259 可编程中断控制器实验( 12 ) 8237DMA 控制器实验

8066 单元4 )可提供的对 8086 的基本实

Page 10: 第一部分    系统介绍

1 、 熟悉 74LS273 , 74LS244 的应用接口方法。2 、 掌握用锁存器、三态门扩展简单并行输入、 输出口的方法。

第三部分 基本实验 (8086)

实验一 I/O 端口实验

一、实验目的

Page 11: 第一部分    系统介绍

MUT—Ⅲ型实验箱、 8086CPU 模块。

二、实验设备

Page 12: 第一部分    系统介绍

用常用输入输出芯片 244 扩展输入, 237 扩展输出控制开关输入、发光二极指示灯显示输出结果。 1 、设计出 244 、 277 与 8086 接口对应硬件电路,并完成相应的连接 2 、调试对应 244 、 273 、开关硬件接口电路及相应接口软件 3 、用开关接输入部分 , 当拨动开关对应发光二极管亮 , 显示输出结果 4 、写出习题部分要求的程序

三、实验内容

Page 13: 第一部分    系统介绍

本实验用到两部分电路:开关量输入输出电路,简单 I/O 口扩展电路。

四、实验原理介绍

Page 14: 第一部分    系统介绍

1 、实验接线: ( 表示相互连接 )

CS0 CS244 ; CS1CS273 ; 平推开关的输出 K

1 ~ K8 IN0 ~ IN7 (对应连接); O0 ~ O7L

ED1 ~ LED8 。

2 、编辑程序,单步运行,调试程序

3 、调试通过后,全速运行程序,观看实验结果。

4 、编写实验报告。

五、实验步骤

Page 15: 第一部分    系统介绍

74LS244 或 74LS273 的片选信号可以改变,例如连接 CS2 ,此时应同时修改程序中相应的地址。

程序全速运行后,逻辑电平开关的状态改变应能

在 LED 上显示出来。例如: K2 置于 L 位置,

则对应的 LED2 应该点亮。

六、实验提示

七、实验结果

Page 16: 第一部分    系统介绍

开 始

初始化

读输入至AL

输出AL

结束

八、程序框图 ( 实验程序名 :T244273.ASM)

Page 17: 第一部分    系统介绍

assume cs:code

code segment public

org 100h

start: mov dx,04a0h ;74LS244 地址 in al,dx ; 读输入开关量 mov dx,04b0h ;74LS273 地址 out dx,al ; 输出至 LED

jmp start

code ends

end start

九、程序源代码清单

Page 18: 第一部分    系统介绍

1 、修改模式为: 跳跃式左移或右移,如每次移动两位2 、调整移位频率为:加快一倍,降低一倍3 、重新调整按钮功能: KK1—— 启动键,按下后,方可开始移位 KK2—— 停止健,按后终止 LED 管的移位显

示 KK3——更新移位模式,每按一次,在左 / 右

移 位模式间变换 KK4——更新亮灯模式,每按一次在 1 亮 7暗

1

亮间变换

( 在完成上面的实验后 , 修改原程序 , 使实现如下功能 )十、习题

Page 19: 第一部分    系统介绍

MUT—Ⅲ型实验箱、 8086CPU 模块。

实验二 8255 键盘扫描与 LED 数码管显示实验

掌握 8255A 的编程原理。

一、实验目的

二、实验设备

Page 20: 第一部分    系统介绍

三、实验内容

用 8255 扩展扫描 3X8 行列式键盘,由一位 LED 数码管显示用 8255 扩展扫描 3X8 行列式键盘,由一位 LED 数码管显示

1 、设计出 8255 与 8086 接口对应硬件电路,并完成 相应的连接2 、调试对应 8255 、键盘、及数码管硬件接口电路 及相应接口软件3 、当用键盘输入时在数码管上显示相应值4 、写出习题部分要求的程序

Page 21: 第一部分    系统介绍

四、实验原理介绍

本实验用到两部分电路:开关量输入输出电路和 825

5 可编程并口电路。

Page 22: 第一部分    系统介绍

1 、实验接线 CS0CS8255 ; PA0 ~ PA7 RL10 ~ RL17 ; PB0 ~ PB7 LED-A ~ LED-DP;

PC0 ~ PC2KA10 ~ KA12;PC3LED1 。2 、编程并全速或单步运行。3 、全速运行时按动键盘,观察数码管的变化。

五、实验步骤

Page 23: 第一部分    系统介绍

8255A 是比较常用的一种并行接口芯片,其特

点在许多教科书中均有介绍。 8255A 有三个 8 位的

输入输出端口,通常将 A 端口作为输入用, B 端

口作为输出用, C 端口作为输出用,本实验也是如

此。实验中, 8255A 工作于基本输入输出方式(方

式 0 )。

六、实验提示

Page 24: 第一部分    系统介绍

七、实验结果

本实验为对 3X8 键盘 ( 一行有 8 个按钮 ,共三行 .

如第一行 8 个按钮对应实验箱上键盘区最上一行 6

个加上下一行前两个 ,逐次类推 )逐行扫描实验 , 每

按一个键通过数码管显示其值 .

如一行一列显示 0, 二行三列显示 8. 逐次类推 .

Page 25: 第一部分    系统介绍

初始化 8255

检测是否有键按下

延时消抖逐行扫描键盘

显示于数码管

八、程序框图 ( 实验程序名 t8255.asm)

Page 26: 第一部分    系统介绍

assume cs:codecode segment public

org 100hstart: mov dx,04a6h ; 控制寄存器地址

mov ax,90h ; 设置为 A 口( 04A0H )输入,

B 口( 04A2H )输出 ,C 口( 04A4H )输出

out dx,axcheck0: mov ax,00h

mov dx,04a4hout dx,axmov dx,04a0h

九、程序源代码清单

Page 27: 第一部分    系统介绍

in ax,dx

cmp al,0ffh

je check0

mov cx,05ffh

delay: loop delay ;延时消抖mov cl,3

mov ah,0

mov al, 0fbh

Page 28: 第一部分    系统介绍

contin: push ax

mov dx,04a4h

out dx,al

mov dx,04a0h

in al,dx

mov ah,al

cmp ah,0ffh

jne next

pop ax

ror al,1

loop contin

jmp check0

Page 29: 第一部分    系统介绍

next: mov ch,cl ;保存行值至 CH

mov cl,7

begin0: shl ah,1

jnc goon

loop begin0

jmp check0

goon: mov bl,cl ;保存列值至 BL

dec ch

mov cl,3

Page 30: 第一部分    系统介绍

shl ch,cl

add bl,ch

mov bh,0

mov cx,bx ; 显示码偏移量送 C

X

display: mov si,offset discoed

add si,cx

mov dx,04a4h

mov al,0fh

Page 31: 第一部分    系统介绍

out dx,al

mov ax,[si]

mov dx,04a2h

out dx,ax

nop

nop

jmp check0

Page 32: 第一部分    系统介绍

discode db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h

db 7fh,6fh,77h,7ch,39h,5eh,79h,71h

db 01h,02h,04h,08h,10h,20h,40h,80h ; 显示段码表

code ends

end start

Page 33: 第一部分    系统介绍

1 、重新定义键值按递减方式排列,即依次为: F E C D

B A 9 8

7 6 5 4

3 2 1 0

2 、按下键的二进制值改在 LED 灯的高四位显示3 、 按第一次键,在个位上显示相应键位。 按第二次键,在十位上显示相应键位。 按第三次键,在百位上显示相应键位。 按第四次键,在千位上显示相应键位。 按第五次键,在个位上显示相应键位。 其余类推。

十、习题

Page 34: 第一部分    系统介绍

MUT—Ⅲ型实验箱、 8086CPU 模块、示波器。

实验三 8253 定时实验

一、实验目的

二、实验设备

掌握 8253 定时器的编程原理,用示波器观察不同模式下的输出波形。

Page 35: 第一部分    系统介绍

用 8253 作为定时器,控制周期为 0.5秒的方波,用一个发光二极管指示灯亮表示高电平 ,灭表示低电平,亮、灭时间相同 1 、设计出 8253 与 8086 接口对应硬件电路,并完成相应的连接 2 、调试对应 8253 、发光二极管硬件接口电路及相应接口软件 3 、写出习题部分要求的程序

三、实验内容

Page 36: 第一部分    系统介绍

四、实验原理介绍

本实验用到两部分电路:脉冲产生电路、 8253 定时器 / 计数器电路

Page 37: 第一部分    系统介绍

1 、实验连线:

CS0CS8253 OUT08253CLK2

OUT2LED1 示波器 OUT1

CLK38253CLK0 , CLK38253CLK1

2 、编程调试程序

3 、全速运行,观察实验结果

五、实验步骤

Page 38: 第一部分    系统介绍

8253是计算机系统中经常使用的可编程定时器 / 计

数器,其内部有三个相互独立的计数器,分别称为 T0 ,

T1 , T2 。 8253 有多种工作方式,其中方式 3 为方波

方式。当计数器设好初值后,计数器递减计数,在计数

值的前一半输出高电平,后一半输出低电平。实验中,

T0 、 T1 的时钟由 CLK3 提供,其频率为 750KHz 。

六、实验提示

Page 39: 第一部分    系统介绍

程序中, T0 的初值设为 927CH ( 37500十进制),则 OUT0 输出的方波周期为( 37500*4/3*10-6=

0.05s )。 T2 采用 OUT0 的输出为时钟,则在 T2 中设置初值为 n 时,则 OUT2 输出方波周期为 n*0.05s 。 n

的最大值为 FFFFH ,所以 OUT2 输出方波最大周期为3276.75s(=54.6 分钟 ) 。可见,采用计数器叠加使用后,输出周期范围可以大幅度提高,这在实际控制中是非

常有用的。

Page 40: 第一部分    系统介绍

程序全速运行后, LED1闪烁 (周期为 0.25s) ,

OUT1 示波器观察为方波,频率为 15KHz 。

七、实验结果

Page 41: 第一部分    系统介绍

八、程序框图 ( 实验程序名: t8253.asm)

Page 42: 第一部分    系统介绍

assume cs:codecode segment public

org 100hstart:

mov dx,04a6h ; 控制寄存器mov ax,36h ; 计数器 0 ,方式 3out dx,axmov dx,04a0hmov ax,7Chout dx,axmov ax,92hout dx,ax ; 计数值 927Chmov dx,04a6hmov ax,76h ; 计数器 1 ,方式 3out dx,axmov dx,04a2h

九、程序源代码清单

Page 43: 第一部分    系统介绍

mov ax,32h out dx,ax mov ax,0 ; 计数值 32h out dx,ax mov dx,04a6h mov ax,0b6h ; 计数器 2 ,方式3 out dx,ax mov dx,04a4h mov ax,04h out dx,ax mov ax,0 ; 计数值 04h out dx,axnext: nop

jmp nextcode ends

end start

Page 44: 第一部分    系统介绍

十、习题

1.改变定时时钟的周期,加快一倍和放慢一倍 mov ax,0b6h ; 计数器 2 ,方式 3

out dx,ax

mov dx,04a4h

mov ax,04h

out dx,ax

mov ax,0 ; 计数值 04h

out dx,ax

修改实验程序,如上的 mov ax,04h 的 04H 的值即可

Page 45: 第一部分    系统介绍

2.试将 8253 的三个定时 / 计数器分别设为不同的工作方式,对同一输入信号计数,在三个输出端分别对输入信号进行 2 分频, 4 分频, 8 分频,用示波器观察其波形。 3.试用 8253测量一个脉冲的的脉宽,把测量的结果存放在 2010H 、 2011H 。 GATE0 接被测脉冲, 8253 的 GATE0和 74LS244 的 I

N0 ,时钟发生电路 CLK3 接 8253CLK0 。 CS8253 接 CS0 ,CS244 接 CS1 。程序请参参考 t8253pw.asm ,程序运行时候请按程序注释处设断点。查看 2010H 、 2011H 中的结果。

Page 46: 第一部分    系统介绍

1 、掌握 8259A 的工作原理。2 、掌握编写中断服务程序方法。3 、掌握初始化中断向量的方法。

实验四 8259 中断控制及中断服务实验

一、实验目的

二、实验设备

MUT—Ⅲ型实验箱、 8086CPU 模块。

Page 47: 第一部分    系统介绍

用 8259 控制开关中断源输入中断,由 LED 数码管显示 1 、设计出 8259 与 8086 接口对应硬件电路,并完成相应的连接 2 、调试对应 8259 、开关、发光二极管硬件接口电路及相应接口软件 3 、 用开关做中断源输入部分 , 发光二极管显示输出

结果 , 当分别拨动开关 KK1 、 KK2 、 KK3 、 KK4 时发

光二极管相应作左、右、由中间向两边和反显流水灯显示 4 、写出习题部分要求的程序

三、实验内容

Page 48: 第一部分    系统介绍

本实验用到三部分电路:电平开关电路、简单 I/O 口扩展电路和 8259 中断控制器电路。

四、实验原理介绍

Page 49: 第一部分    系统介绍

1 、实验接线 CS0 CS8259 CS1 CS273 O0 ~ O7

LED1 ~ LED8 K1 ~ K8IR0 ~ IR7 INT

INT INTAINTA

2 、编译调试程序3 、全速运行程序,拨动某一电平开关,观察 LED 的变化情况。

五、实验步骤

Page 50: 第一部分    系统介绍

1 、 8259 的使用说明请详细阅读教科书。

2 、 8086 的中断系统是向量中断方式。内存中特

定位置有一中断向量表,表内存有不同中断类型的中断

向量(中断入口地址)。不同中断类型的中断向量在表

内有对应的偏移地址,其计算方法是:中断类型 *4 。

六、实验提示

Page 51: 第一部分    系统介绍

3 、中断类型由 8259 通过数据总线送给 8086 , 80

86 内部电路会将该类型值自动乘 4 ,而后赋给指令指针,

从而转向中断向量表的相应单元取得中断入口地址,之

后就进入中断服务程序。请仔细研读 8259 的工作时序。

4 、中断类型的高 5 位由 8259寄存器 ICW2决定,

低 3 位由中断源 IRx 的编码自动填入。 IR0 ~ IR7 的编

码分别为 000 , 001 , 010 , 011 , 100 , 101 , 110 ,

111 。

Page 52: 第一部分    系统介绍

七、实验结果

全速运行程序,由上往下拨动开关。

Page 53: 第一部分    系统介绍

主程序

中断服务程序

初始化 8259 控制字及中断量表 . 开中断

初始化标志字

判断标志字 , 根据标志字跳转到相应子程序

跑马灯左移跑马灯右移LED 灯翻滚

入中断口

改变标志位

中断返回

八、程序框图 ( 实验程序名: t8253.asm)

Page 54: 第一部分    系统介绍

assume cs: code

code segment public

org 100h

start: mov dx,04b0h

mov al,0ffh

out dx,al

mov bl,00h

mov ch,00h

九、程序源代码清单

Page 55: 第一部分    系统介绍

start1: cli

push ax

mov dx,04a0h

mov ax,13h

out dx,ax ;ICW1, ICW4 NEEDED

mov dx,04a2h

mov ax,80h

out dx,ax ;ICW2 中断类型 80h

mov ax,01h;01

out dx,ax ;ICW4

mov ax,00h

out dx,ax ;OCW1, 开放所有中断nop ; 以上为 8259初始化

Page 56: 第一部分    系统介绍

mov ax,0mov ds,axmov di,200h ;初始化中断向量表mov ax,offset int0mov ds:[di],axadd di,2mov ds:[di],100hadd di,2mov ax,offset int1mov ds:[di],axadd di,2mov ds:[di],100hadd di,2mov ax,offset int2mov ds:[di],ax

Page 57: 第一部分    系统介绍

add di,2

mov ds:[di],100h

add di,2

mov ax,offset int3

mov ds:[di],ax

add di,2

mov ds:[di],100h

add di,2

mov ax,offset int4

mov ds:[di],ax

add di,2

mov ds:[di],100h

add di,2

Page 58: 第一部分    系统介绍

mov ax,offset int5mov ds:[di],axadd di,2mov ds:[di],100hadd di,2mov ax,offset int6mov ds:[di],axadd di,2mov ds:[di],100hadd di,2mov ax,offset int7mov ds:[di],axadd di,2 ; 上述程序为芯片 8259 的初始化程

序 mov ds:[di],100hpop ax

Page 59: 第一部分    系统介绍

main: sti ; 开中断。waiting: cmp bx,00h

je waiting ;没发生中断,则等待cmp bl,0feh

je int0_s

cmp bl,0fdh

je int1_s

cmp bl,0fbh

je int2_s

jmp start

int0: cli ; 关中断。以下类推。mov ch,01h ; 此两行为 IR0 的中断服务程

序mov bl,0feh ; 用户可修改。iret ; 中断返回,以下类推。

Page 60: 第一部分    系统介绍

int1: cli mov ch,01h ; 此两行为 IR1 的中断服务程序,

mov bl,0fdh ; 用户可修改。iret

int2: climov ch,01h ; 此两行为 IR2 的中断服务程序,mov bl,0fbh ; 用户可修改。iret

int3: clinop ; 此两行为 IR3 的中断服务程序,mov ax,0f7h ; 用户可修改。iret

int4: clinop ; 此两行为 IR4 的中断服务程序,mov ax,0efh ; 用户可修改。

Page 61: 第一部分    系统介绍

iret

int5: cli

nop ; 此两行为 IR5 的中断服务程序,mov ax,0dfh ; 用户可修改。iret

int6: cli

nop ; 此两行为 IR6 的中断服务程序,mov ax,0bfh ; 用户可修改。iret

int7: cli

nop ; 此两行为 IR7 的中断服务程序,mov ax,07fh ; 用户可修改。iret

Page 62: 第一部分    系统介绍

int0_s: cmp ch,01hjne next1mov al,0fehmov dx,04b0hout dx,al

next1: call delaymov dx,04b0hmov ah,alnot ahrol ah,1not ahmov al,ahout dx,almov ch,00hjmp start1

Page 63: 第一部分    系统介绍

int1_s: cmp ch,01hjne next2mov al,07fhmov dx,04b0hout dx,al

next2: call delaymov dx,04b0hmov ah,alnot ahror ah,1not ahmov al,ahout dx,almov h,00hjmp start1

Page 64: 第一部分    系统介绍

int2_s: cmp ch,01h

jnz next3

mov dx,04b0h

mov al,0e7h

out dx,al

not al

mov cl,al

and al,08h

and cl,10h

next3: call delay

push bx

rol cl,1

ror al,1

Page 65: 第一部分    系统介绍

mov bh,cl

mov bl,al

or al,cl

mov cl,al

not al

mov dx,04b0h

out dx,al

mov cl,bh

mov al,bl

pop bx

mov ch,00h

jmp start1

Page 66: 第一部分    系统介绍

delay proc near

cli

push cx

mov cx,0ff55h

here: loop here

pop cx

ret

code ends

end start

Page 67: 第一部分    系统介绍

1 、利用 8259 做交通灯实验,当中断产生时,各路口

红灯全亮。

2 、正常显示时,流水灯为同时亮 2盏灯;

3 、正常显示时,流水灯向左边移动

4 、正常显示时,流水灯移动频率加快或放慢一倍

5 、中断显示时,改变闪动的频率,加快或放慢一倍

6 、中断显示时,改动闪动模式为,亮 1 、 3 、 5 、

7 号灯与亮 2 、 4 、 6 、 8 号灯交替闪灯。

十、习题

Page 68: 第一部分    系统介绍

7 、重新定义键:

KK1—— 启动键

KK2—— 开放 /屏蔽中断键

KK3—— 停止键

8 、改变中断含义:没有进行中断的初始值仍为流

水灯显示

第奇次中断后: 1 、 3 、 5 、 7 号

灯亮 /暗闪动 (2 、 4 、 6 、 8 始终暗 )

第偶次中断后: 2 、 4 、 6 、 8 亮 /暗闪动。

Page 69: 第一部分    系统介绍

MUT—Ⅲ型实验箱、 8086CPU 模块。

实验五 A/D转换实验

一、实验目的

二、实验设备

熟悉 A/D转换的基本原理,掌握 ADC0809 的使用方法。

Page 70: 第一部分    系统介绍

由 0809构成的数据采集电路采集电位器上电压,

在 LED 数码管显示结果

1 、设计出 0809 与 8086 接口对应硬件电路,并完成

相应的连接

2 、调试对应 0809 、基本 I/O 口、数码管显示硬件

接口电路及相应接口软件

3 、调节电位器时相应的电压值在数码管显示

4 、写出习题部分要求的程序

三、实验内容

Page 71: 第一部分    系统介绍

本实验用到两部分电路:简单 I/O 口扩展电路、 A/D 、D/A 电路

四、实验原理介绍

Page 72: 第一部分    系统介绍

1 、实验连线

AN0 ADIN0 CS0 CS0809 CS1 CS244 EOC IN0

2 、用实验箱左上角的“ VERF.ADJ” 电位器调节 ADC080

9 12脚上的参考电压至 5V 。

3 、编写程序并全速运行。

4 、检查显示数据是否与电位器输出的电压相符合。

五、实验步骤

Page 73: 第一部分    系统介绍

实验电路中启动信号 START 与地址锁存信号相连,所以启动 A/D转换的方法为: MOV DX , ADDRESS ; ADDRESS是 ADC0809

的端口地址OUT AL , DX ;发片选及 IOW 信号,启动 0 通道

六、实验提示

七、实验结果

在输入电压 AN0 分别为 0V , 1V , 2V , 3V , 4V ,5V 时显示数据分别为 00H , 33H ,66H , 99H , 0CCH , 0FFH (数据低位略有偏差属正常现象)。

Page 74: 第一部分    系统介绍

八、程序框图 ( 实验程序名: t0809.ASM)

开始

启动通道0

读取转换结果

转换结束?

Page 75: 第一部分    系统介绍

con8279 equ 0492h

dat8279 equ 0490h

assume cs:code

code segment public

org 100h

start: jmp start1

segcod db 3fh,06h,5bh,4fh,66h,6dh,7dh,

07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h

start1: mov dx,04a0h

mov ax,34h

out dx,ax ; 启动通道

九、程序源代码清单

Page 76: 第一部分    系统介绍

wait1: mov dx,04b0h ;CS244

in ax,dx ; 读 EOC

and ax,1

cmp ax,1

jne wait1 ; 如果 EOC=0,waitin

g....

mov dx,04a0h

in ax,dx ; 读转换结果 and ax,0ffh

mov bx,ax

nop ;

Page 77: 第一部分    系统介绍

disp: mov di,offset segcod

mov ax,08h

; 工作方式, 16 位,左入

mov dx,con8279

out dx,ax

mov ax,90h

mov dx,con8279

out dx,ax

; 写显示 RAM命令,地址自

mov dx,dat8279

Page 78: 第一部分    系统介绍

push bx

and bx,0f0h ;取高 4 位mov cl,4

shr bx,cl

add di,bx

mov al,cs:[di]

mov ah,0

out dx,ax ; 写 RAM0

nop

nop

mov di,offset segcod

pop bx

Page 79: 第一部分    系统介绍

and bx,0fh ;取低 4 位add di,bx

mov al,cs:[di]

mov ah,0

out dx,ax ; 写 RAM1

delay: mov cx,0ffffh ;time delay

delay1: nop

nop

loop delay1

jmp start1

code ends

end tart

Page 80: 第一部分    系统介绍

1.修改程序,改用 AD0809 的第二个通道进行 AD转换,并显示在数码管上。实验接线与做实验的接线一样。start1: mov dx,04a0h

mov ax,34h

out dx,ax ; 启动通道 0

wait1: mov dx,04b0h ;CS244

in ax,dx ; 读 EOC

and ax,1

cmp ax,1

jne wait1

十、习题

Page 81: 第一部分    系统介绍

要改变通道只要修改 mov dx,04a0h 中的把 04a0h 改成 04a2即改为了第二个通道 , 通道及地址值对应如下: 地址值 通道

04a0H 0通道04a2H 1通道04a4H 2通道04a6H 3通道04a8H 4通道04aAH 5通道04aCH 6通道04aEH 7通道

Page 82: 第一部分    系统介绍

2.根据实验程序,编写程序实现两个通

道同时 AD转换并,并在数码管上显示两个通

道的值 ,请参考程序 T0809.asm 。实验接线,

与做实验接线一样,然后把第 0 通道和第 1 通

联接起来,数码上显示两个通道的值应一样。

Page 83: 第一部分    系统介绍

利用 D/A转换器产生锯齿波和三角波。

实验六 D/A 实验

一、实验目的

二、实验设备

熟悉数模转换的基本原理,掌握 D/A 的使用方法。

MUT—Ⅲ型实验箱、 8086CPU 模块、示波器。

三、实验内容

Page 84: 第一部分    系统介绍

1 、 实验接线CS0 CS0832 示波器 DOUT DS 跳线: 1 2

2 、用实验箱左上角的“ VERF.ADJ” 电位器调节0832 的 8脚上的参考电压至 5V 。3 、调试程序并全速运行,产生不同波形。4 、用示波器观察波形。

四、实验原理图

五、实验步骤

本实验用 A/D 、 D/A 电路

Page 85: 第一部分    系统介绍

利用电位器“ ZERO.ADJ” 可以调零,“ RANGE.AD

J” 电位器调整满偏值。 DAC0832 在本实验中,工作在双缓冲接口方式下。 当 A1=0 时可锁存输入数据;当 A1=1 时,可起动转换输出。 所以要进行 D/A转换需分二步进行,方法如下: MOV DX , ADDRESS ; ADDRESS 片选信号偶地址 MOV AL , DATA

OUT DX , AL ;锁存数据 ADD DX , 2

OUT DX , AL ;启动转换

六、实验提示

Page 86: 第一部分    系统介绍

程序一 产生锯齿波 ( 实验程序名: dac-1.asm)

七、程序框图

Page 87: 第一部分    系统介绍

assume cs:codecode segment public

org 100hstart: mov dx,04a0hup1: mov bx,0up2: mov ax,bx

out dx,ax ; 锁存数据 mov dx,04a2h out dx,ax ; 输出使能 mov dx,04a0h inc bx ; 数据加一 jmp up2 code ends end start

八、程序源代码清单

Page 88: 第一部分    系统介绍

1 、只采用通道 2 ,且将采样数据经量纲转换后在 4 位 LED 显示器上显示出来。 其中: FFH 255V/382.5V(255×1.5=382.5) 00H

0V/0V

2 、一个 2 路模拟量循回检测系统如图。

九、习题

Page 89: 第一部分    系统介绍

A 通道选择BC

8 通道A/D转换器EOC

OESTART

8 路模拟量输入

VIN0

VIN1

VIN2

VIN3

VIN4

VIN5

VIN6

VIN7

D0

D1

D2

D7

三态

控制口 40H

控制口 42H端口译码

数据总线

41H状态口

M/IO

A7

A0…

地址总线

8 通道模拟量采集电路

Page 90: 第一部分    系统介绍

转换器有 3 个输入端口, A 、 B 、 C 用作通道选择。通道选择数据由 CPU 通过数据总线的 D0 、 D1 、 D2送到 A 、B 、 C 端子上,当 OUT 指令送控制口 H 时, START 有效,启动转换,转换结束后, D7 位读回 EOC 状态,查询 D7 位一直到转换完成为止,查询一次转换完后,用 IN命令发出数据端口选通信号,使 A/D转换器输出允许端口 OE 有效, CP

U取走转换数据,完成一个通道的一次数据输入。 3 、利用 EOC 信号改 A/D查询式采样方式的中断采样方式,要求在 IRQ2 中断服务程序中读取 A/D转换结果,并启动下一次 A/D转换结果。