资源描述
接口讲义(含实验箱的使用)
———————————————————————————————— 作者:
———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
DVCC 系列实验系统操作步骤
1)接通DVCC实验系统电源,在DVCC实验箱上应显示闪动的”P”,否则按RESET键.
2)运行DV88H软件。(桌面上的dv88h实验箱快捷方式)
3)单击工具栏上”新建"或"打开”按钮,编写源程序。单击“编译"按钮,使其形成可执行文件.
4)单击工具栏上“联接”按钮,同时按下DVCC实验箱上的PCDBG键(键盘上最右边的第二个),实现PC机和实验箱的联接.若联机成功,屏幕上出现:反汇编窗口,数据窗口,寄存器标示位窗口。
见图1所示。
图1 PC机和DVCC实验箱连接成功后屏幕显示。
5)在成功连机后,单击工具栏上的“调试”按钮,把最终文件装载到实验系统RAM区;或者通过单击菜单栏中的“动态调试”,选择“传送(。exe)文件"来实现。
6)单击工具栏上“运行”或“单步"按钮,运行实验程序。
7)运行完毕,先按实验箱上的复位按钮Reset键,再按PCDBG键,并且点击屏幕上OK,即可推出运行状态。
注意:1)目录名和文件名用英文字母,本系统不支持长文件名.
2)若工具栏上的“编译”“联接"等按钮若显示为灰色不可用,请点击原代码的编辑窗口。
实验一 8253定时/计数器接口
一、实验目的
1、学习8253A可编程定时/计数器与8088CPU的接口方法;
2、了解8253A的工作方式;掌握8253A在各种方式下的编程方法。
二、预备知识
1、8253A内部结构
8253A定时/计数器具有定时、计数双功能.它具有三个相同且相互独立的16位减法计数器,分别称为计数器0、计数器1、计数器2。每个计数器计数频率为0~2MHZ;8253A的内部数据总线缓冲器为双向三态,可直接接在系统数据总路线上,通过CPU写入计数初值,也可由CPU读出计数当前值; 其工作方式通过控制字确定。
2、计数器内部结构
每个计数器由一个16位可预置的减1计数器组成,计数初值可保存在16位的锁存器中,该锁存器只写不能读。在计数器工作时,初值不受影响,以便进行重复计数。每一个计数器有一个时钟输入端CLK作为计数脉冲源,计数方式可以是二进制,计数范围1~10000H,也可以是十进制,计数范围1~65536。门控端GATE用于控制计数开始和停止.输出OUT端当计数器计数值减到零时,该端输出标志信号.
3、8253A端口地址选择
表1.1 8253A端口地址选择表
CS
RD
WR
A1
A2
寄存器选择与操作
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
写入计数器0
写入计数器1
写入计数器2
写入控制寄存器
0
0
0
0
0
0
1
1
1
0
0
1
0
1
0
读计数器0
读计数器1
读计数器2
0
1
0
0
×
1
1
×
1
1
×
×
1
×
×
无操作(三态)
禁止(三态)
无操作(三态)
4、8253A功能
8253A既可作定时器又可作计数器:
(1) 计数:计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK脉冲对计数值进行减1计数,每来一个脉冲减1,当计数值减至0时,由OUT端输出一个标志信号.
(2) 定时:计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。
除上述典型应用外,8253A还可作频率发生器、分频器、实时钟、单脉冲发生器等。
5、8253A控制字
图1.1 8253方式控制字
6、8253A工作方式
(1) 方式0:计数结束产生中断方式
当写入控制字后,OUT变为低电平,当写入初值后立即开始计数,当计数结束时,变成高电平。
(2) 方式1:可编程单次脉冲方式
当初值装入后且GATE由低变高时,OUT变为低电平,计数结束变为高电平。
(3) 方式2:频率发生器方式
当初值装入时,OUT变为高电平;计数结束,OUT变为低电平。该方式下如果计数未结束,但GATE为低电平时,立即停止计数,强迫OUT变为高电平,当GATE再变为高时,便启动一次新的计数周期.
(4) 方式3:方波发生器
当装入初值后,在GATE上升沿启动计数,OUT输出高电平;当计数完成一半时,OUT输出低电平。
(5) 方式4:软件触发选通
当写入控制字后,OUT输出为高电平;装入初值且GATE为高电平时开始计数,当计数结束,OUT端输出一个宽度等于一个时钟周期的负脉冲。
(6) 方式5:硬件触发选通
在GATE上升沿启动计数器,OUT一直保持高电平;计数结束,OUT端输出一个宽度等于一个时钟周期的负脉冲.
三、实验内容
8253A的片选地址为40H-4FH.
8253A的控制字端口地址为:43H
计数器0的地址为:40H 计数器1的地址为:41H
计数器2的地址为:42H
1、 已有频率发生器,其输出频率为1MHZ。要求通过8253,产生每1ms一次的信号,请编写程序。把GATE0引脚接在开关K1上,使开关往上拨(高电平)或往下拨(低电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。
2、已有频率发生器,其输出频率为1MHZ。编程使8253工作,通过改变计数初值,使OUT0输出不同频率的方波,将OUT0接到喇叭,发出1、2、3、4、5、6、7、i 的音符。,音符对应的频率和时钟为1MHZ时计数初值如下表:(相邻的全音频率比(高:低)1。12246:1)
表1。2 音符、频率转换表
音符
1
2
3
4
5
6
7
i
频率
262
294
330
370
415
466
523
587
计数初值
3817
3401
3030
2702
2409
2146
1912
1703
图1。2. 程序参考框图
五、实验线路连接
(1) 8253A的GATE0接开关K1。
(2) 8253A的CLK0插孔接分频器74LS393(左上方)的T1插孔,T1输出的频率为1MHZ.
(3) 8253A的OUT0接示波器。实验内容2时,OUT0接喇叭,即LB区的SIN口。
图1。3 实验接线图
注:细线条是实验箱内部连线,粗线条表示在实验时需用导线连接起来
五、实验报告
1、实验目的和原理
2、画出电路接线图。
3、写出程序清单和执行结果。
4、画出输出波形
实验二 8255并行接口
一、实验目的
学习和掌握8255A可编程并行口的使用方法。
二、预备知识
1、8255A内部结构
8255A内部有3个8位I/O端口:A口、B口、C口;也可以分为各有12位的两组:A和B组,A组包含A口8位和C口的高4位,B组包含B口8位和C口的低4位;8255A中的读写控制逻辑用于控制芯片内寄存器的数据和控制字经数据总线缓冲器送入各组接口寄存器中。由于8255A数据总线缓冲器是双向三态8位驱动器,因此可以直接和CPU系统总线相连.
2、8255A端口地址
表2.1 8255A端口地址选择表
A1
A0
RD
WR
CS
操作类型
操作方向
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
PA 数据总线
PB 数据总线
PC 数据总线
输入(读)
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
数据总线 PA
数据总线 PB
数据总线 PC
数据总线 控制字
输出(写)
×
1
×
×
1
×
×
0
1
×
1
1
1
0
0
数据总线三态
非法状态
数据总线三态
断 开
3、8255A工作方式
8255A芯片有三种工作方式:方式0、方式1、方式2。它通过对控制寄存器写入不同的控制字来决定其三种不同的工作方式.
(1)方式0:基本输入/输出
该方式下的A口8位和B口8位可以由输入的控制字决定为输入或输出,C口分成高4位(PC4-PC7)和低4位(PC0-PC3)两组,也有控制字决定其输入或输出。需注意的是:该方式下,只能将C口其中一组的四位全部置为输入或输出。
图2.1 工作方式0
(2)方式1:选通输入/输出
该方式又叫单向输入输出方式,它分为A、B两组,A组由数据口A和控制口C的高4位组成,B组由数据口B和控制口C的低4位组成。数据口的输入/输出都是锁存的,与方式不同,由控制字来决定它作为输入还是输出.C口的相应位用于寄存数据传送中所需的状态信号和控制信息。
图2.2 工作方式1输入 图2.3 工作方式1输出
(3)方式2:双向输入/输出
本方式只有A组(数据口A和控制口C的低3位PC0-PC2)可以使用,此时A口为输入输出双向口,C口中的高5位(PC3-PC7)作为A口的控制位。
图2。4 工作方式2
4、8255A控制字
图2。5 8255A方式选择控制字
图2。6 8255A的PC口按置位/复位控制字
三、实验内容
1、 将8255的B口设为方式0的输入方式,C口设为方式0的输出方式。用B口读取开关状态,再通过C口送到发光二极管显示。
8255控制口地址:0FF2BH 8255的A口地址:0FF28H
8255的B口地址:0FF29H 8255的C口地址:0FF2AH
2、 将8255的B口设为方式0的输出方式.用8255来控制发光二极管的显示,使其显示为流水灯的形式。即仅有一个灯亮,从左边逐次移到右边,循环显示。
四、实验电路接线
内容1的接线:将8255的PB0-PB7接开关K1-K8,PC0-PC7接发光二极管L1-L8。(8255的片选信号,实验箱系统已连接好;8255的PA口不给出引脚,A口系统留用。)
五、实验报告
1、实验目的和原理
2、画出电路接线图。
3、写出程序清单和执行结果.
实验三 模数 (A/D)转换
一、实验目的
1、 加深理解逐次逼近法模数转换器的特征和工作原理.
2、 掌握ADC0809的接口方法以及A/D输入程序的设计和调试方法。
二、预备知识
逐次逼近法A/D也称逐次比较法A/D。它由结果寄存器、D/A、比较器和置位控制逻辑等部件组成,如下图:
ADC0809是一种8路模拟输入、8位数字输出的逐次逼近法A/D器件,转换时间约 100μs,转换精度为±1/512,适用于多路数据采集系统。ADC0809片内有三态输出的数据锁存器,故可以与8088微机总线直接相连。
三、实验内容
将由电位器产生的模拟信号转换成微机所能接受的数字量信号,转换结果送到八段LED显示。通过8255的B口查询ADC0809的EOC引脚是否为高电平,EOC=1表示A/D转换已经结束,可读取转换结果.读取10组不同的数据.
模拟电量(伏)
0
0。5
1
1.5
2
2。5
3
3。5
4
4。5
5
数字数据
实验箱系统上,ADC0809的8个通道0-7的地址分别是:00H,01H,02H,03H,04H,05H,06H,07H.
启动A/D转换只需如下三条命令:
MOV DX,ADPORT ;ADPORT为ADC0809的通道口地址
MOV AL,DATA
OUT DX,AL ;送数据DATA到通道口
读取A/D转换结果用下面二条命令:
MOV DX,ADPORT
IN AL,DX
四、实验线路的连接
1、 将ADC0809芯片的CLK连到MP区分频器输出端T4。
2、 将通道0模拟量输入端IN0连到电位器W1的中心抽头VO1(0-5V)。
3、 将ADC0809芯片的VREF接+5V.
4、 ADC0809的数据线D0-D7用排线连到BUS区XD0-XD7。
5、 ADC0809的EOC引脚接8255的PB0.
6、 在EXIC2上插上74LS02芯片一片,按图连好有关线路。
五、参考程序流程图
A
D
0
00
0。14
07
0。52
1C
0。80
2B
1。1
3C
1.35
4B
1。85
68
2。2
7D
2.5
8D
3
A8
3.6
CC
4
E2
4。7
FF
六、实验报告
1、 写出实验原理和程序清单。
2、 填写实验数据,并说明模
拟量和数字量的关系。
实验四 数模(D /A)转换
一、实验目的
1. 熟悉DAC0832数模转换器的特性和接口方法。
2. 掌握D/A输出程序的设计和调试方法。
二、预备知识
1、 DAC0832的结构
DAC0832是用先进的CMOS工艺制成的双列直插式单片8位D/A转换器。它可以直接和8088CPU相接口.它采用二次缓冲方式(有两个写信号WR1、WR2),这样可以在输出的同时,采集下一个数字量,以提高转换速度。而更重要的是能够在多个转换器同时工作时,有可能同时输出模拟量.它的主要技术参数如下:分辨率为8位,电流建立时间为1μs,单一电源5V-15V直流供电,可双缓冲、单缓冲或直接数据输入。
2、 DAC0832引脚功能
² DI0-DI7:数据输入线,TTL电平,有效时间应大于90ns(否则锁存的数据会出错)。
² ILE:数据锁存允许控制信号输入线,高电平有效。
² /CS:片选信号输入线,低电平有效。
² /WR1:输入锁存器写选通输入线,负脉冲有效(脉宽应大于500ns).当/CS为“0"、ILE为“1”、/WR1为“0”时,DI0-DI7状态被锁存到输入锁存器。
² /XFER:数据传输控制信号输入线,低电平有效。
² /WR2:DAC寄存器写选通输入线,负脉冲有效(脉宽应大于500ns)。当/XFER为“0"
且/WR2有效时,输入锁存器的状态被传送到DAC寄存器中.
² Iout1:电流输出线,当输入为全1时Iout1最大。
² Iout2:电流输出线,其值和Iout1值之和为一常数。
² Rfb:反馈信号输入线,改变Rfb端外接电容器值可调整转换满量程精度。
² Vcc:电源电压线,Vcc范围为+5V~+15V.
² VREF:基准电压输入线,VREF范围为-10V~+10V.
² AGND:模拟地。
² DGND:数字地。
3、 DAC0832工作方式
根据对DAC0832的输入锁存器和DAC寄存器的不同的控制方法,DAC0832有如下三种工作方式:
(1) 单缓冲方式
此方式适用于只有一路模拟量输出或几路模拟量非同步输出的情形.
方法是控制输入锁存器和DAC寄存器同时接数,或者只用输入锁存器而把DAC寄存器接成直通方式。
(2) 双缓冲方式
此方式适用于多个DAC0832同时输出的情形。
方法是先分别使这些DAC0832的输入锁存器接数,再控制这些DAC0832同时传递数据到DAC寄存器以实现多个D/A转换同步输出。
(3) 直通方式
此方式宜于连续反馈控制线路中.
方法是使所有控制信号(/CS、/WR1、/WR2、ILE、XFER)均有效。
4、 电流输出转换成电压输出
DAC0832的输出是电流,有两个电流输出端(Iout1和Iout2),它们的和为一常数。使用运算放大器,可以将DAC0832的电流输出线性地转换成电压输出.根据运放和DAC0832的连接方法,运放的电压输出可以分为单极型和双极型两种。实验原理接线图是一种双极型电压输出电路。
图中DAC0832的Iout2被接地,Iout1接运放LM324的反相输入端,LM324的正相输入端接地。运放的输出电压Aout之值等于Iout1与Rfb之积,Aout的极性与DAC0832的基准电压VREF极性相反。
三、实验内容
1、 实验原理
由于DAC0832有数据锁存器、选片、读、写控制信号线,故可与8088CPU总线直接接口./CS和/XFER相接后作为0832芯片的片选/CS。这样,对DAC0832执行一次写操作就把一个数据直接写入DAC寄存器,模拟量输出随之变化.
2、 实验线路连接
(1) 将D/A区0832片选信号CS插孔和译码输出Y2相连。
(2) 用排线将D/A区D0-D7连到BUS2区XD0-XD7.
(3) 将0832的WR信号线连到BUS3区的XWR上。
(4) D/A区的Vref 接+5V。
3、 实验内容和编程提示
(1)本实验要求在AOUT端输出方波信号,方波信号的周期由延时时间常数确定。由于本电路为双级型输出,因此输出端AOUT信号值为—5V-+5V,当数字量为0时,AOUT=—5V;当数字量为80H时,AOUT=0V;当数字量为FFH时,AOUT=+5V。
(2)实验要求在AOUT端输出锯齿波信号。
(3)8位D/A转换器ADC0832的口地址为20H。
(4)产生方波只需将数字量00H、FFH交替输出到DAC0832。产生锯齿波只需将数字量0逐渐递增输出到DAC0832.
实验五 串行通信接口
一、实验目的
掌握8251通信的原理和编程方法。
二、预备知识
1、 8255A内部结构
8251是一种可编程的同步/异步串行通信接口芯片,具有独立的接收器和发送器,能实现单工、半双工,双工通信。它由以下部件组成:
² 数据总线缓冲器:是双向三态,通过引脚D0-D7和系统数据总线直接接口,用于和CPU传递命令、数据、状态信息.
² 接收缓冲器:对外引脚为RXD,把送进来的串行数据按指定的方式装配成并行数据.
² 接收控制电路:和接收缓冲器配合,管理有关接收的所有功能。
² 发送缓冲器:对外引脚为TXD,它把来自CPU的并行数据加上相应的控制信息,然后转换成串行数据,从TXD引脚上发出去。
² 发送控制电路:和发送缓冲器配合,管理有关发送的所有功能.
² 调制/解调控制器:用来简化8251与调制/解调器之间的连接。
² 读写控制逻辑:用来接收CPU的控制信号、控制数据传送方向。
² CPU对8251的读写操作控制如下表所示.
CS
C/D
RD
WR
操作
0
0
0
1
CPU从8251读数据
0
1
0
1
CPU从8251读状态
0
0
1
0
CPU写数据到8251
0
1
1
0
CPU写命令到8251
1
×
×
×
无操作
2、8251的方式控制字和命令控制字
8251的方式控制字和命令控制字无独立的端口地址,8251根据写入的次序来区分。CPU对8251初始化时先写方式控制字,后写命令控制字。
² 方式控制字用来确定8251的通信方式、校验方式、字符长度及波特率等.
² 命令控制字使8251处于规定的状态以准备收发数据.
3、8251的状态寄存器
状态寄存器用于寄存8251的状态信息,供CPU查询.
TXRDY位:当数据缓冲器空时置位,而TXRDY引脚只有当条件(数据缓冲器空、CTS、TXE)同时成立时才置位.
溢出错误:CPU没读走前一个字符,下一个字符又接收到,称为溢出错误.
帧错误:在字符结尾没检测到停止位,称为帧错误.
4、实验箱上8251A串行通信接口的接线图
三、实验内容
1、编写发送程序,运行并观察TXD1端的波形。(不断地发送同一个数据,以便观察输出)
8251A的控制口(状态口)地址: 51H
8251A的数据口地址: 50H
提示:
1)8251A初始化为:异步工作方式,波特率因子取16,偶校验,数据位8位,停止位2位,波特率取1200
2)8253的计数器1:CLK1时钟频率为1。8432MHZ,要求OUT1输出19200HZ的频率(1200×16=19200)
2、自发自收.将收到数据存到内存单元中。
接线:TXD1接RXD1。
实验六 简易电子琴
一、实验目的
进一步熟练各种已学过接口芯片的编程方法,掌握各芯片间的相互连接。检验学生在原理与接口综合应用方面分析问题与解决问题的能力。
二、可选用芯片
8253 定时/计数器,8255并行接口,8259中断控制器,DAC0832 D/A转换器,ADC0809A/D转换器
三、实验内容
简易电子琴设计
设计要求:利用用实验箱上的扬声器与8个开关设计一个电子琴.用开关模拟琴键,当开关拨为“1”时,相当于有键按下,喇叭发出声音。拨动不同的开关则对应不同的音符,每次只能拨一个开关(相当于按下一个键)。连续拨动开关,喇叭发出音乐.
四、实验报告
1、写出设计思路。
2、 画出实验电路图。
3、 写出程序清单(或程序框图)及注释。
4、 设计及调试心得 。
实验七 抢答计时器
一、实验目的
进一步熟练各种已学过接口芯片的编程方法,掌握各芯片间的相互连接。检验学生在原理与接口综合应用方面分析问题与解决问题的能力。
二、可选用芯片
8253 定时/计数器,8255并行接口,8259中断控制器
三、实验内容
抢答计时器
设计要求:设计一个用于智力竞赛的抢答计时器。按下启动钮, 2个八段码倒计时开始(如从10秒或20秒倒计时),同时开始抢答,参赛双方分别按不同的抢答按钮参与抢答。一旦其中一位按下按钮,相应的显示灯(LED)亮,此时若其它按钮按下均无效。若一直到计数到零,无一人按下按钮,则抢答结束(以后再按抢答钮无效)。要求:
• 必须在开始倒计时后按抢答钮才有效,若提前按下抢答钮无效;
• 一旦有人抢答,记下相应的时间.
四、实验报告
1、写出设计思路。
2、画出实验电路图。
3、写出程序清单(或程序框图)及注释。
4、设计及调试心得
24
展开阅读全文