接口课程设计资料文档格式.docx

上传人:b****7 文档编号:22105080 上传时间:2023-02-02 格式:DOCX 页数:68 大小:1.07MB
下载 相关 举报
接口课程设计资料文档格式.docx_第1页
第1页 / 共68页
接口课程设计资料文档格式.docx_第2页
第2页 / 共68页
接口课程设计资料文档格式.docx_第3页
第3页 / 共68页
接口课程设计资料文档格式.docx_第4页
第4页 / 共68页
接口课程设计资料文档格式.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

接口课程设计资料文档格式.docx

《接口课程设计资料文档格式.docx》由会员分享,可在线阅读,更多相关《接口课程设计资料文档格式.docx(68页珍藏版)》请在冰豆网上搜索。

接口课程设计资料文档格式.docx

1、上述并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电路输出数据需要3条指令:

MOVAL,数据

MOVDX,2A8H

OUTDX,AL

通过上述并行接口输入数据需要2条指令:

MOVDX,2ADH

INAL,DX

1、按下面图2-1简单并行输出接口电路图连接线路,用20芯扁平电缆连接JP5与JT1,8芯线连接“J273”与“LED”显示,273CS接2A8H~2AFH。

2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。

 

MOVDX,2A8H

实验三可编程定时器/计数器(8253)

掌握8253的基本工作原理和编程方法。

1、按图3-1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

1、8253控制寄存器地址283H

计数器0地址280H

计数器1地址281H

CLK0连接时钟1MHZ

1、按图3-2连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。

掌握8253的基本工作原理和编程方法,用示波器观察不同方式下的波形。

1、按图3-3连接电路,将计数器0设置为方式3(方波),计数器设置为方式2(分频)。

2、实现计数器0的输出为方波,计数器1的输出是计数器0输出的分频波形。

3、人机交互界面设计:

实现在显示屏幕上提示输入计数器0(方波)的参数和计数器1(分频信号)的参数。

如下所示:

counter0:

____

counter1:

continue?

(y/n)____

4、实现用键盘直接输入修改程序中方波的参数和分频信号的参数,以改变方波的宽度,分频信号的周期和分频数,不需重新修改源代码。

5、用示波器观察计数器0和计数器1的输出波形及其关系,并在纸上画出CLK0、OUT0、OUT1的波形。

实验四可编程并行接口

(一)(8255方式0)

掌握8255方式0的工作原理及使用方法。

1、实验电路如图4-1,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

2、编程从8255C口输入数据,再从A口输出。

1、8255控制寄存器端口地址28BH

A口的地址288H

C口的地址28AH

实验五七段数码管

掌握数码管显示数字的原理

1、静态显示:

按图5-1连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接VCC(选中)。

编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。

1、实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。

动态显示:

按图5-2连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255C口的PC1,PC0。

编程在十位和个位两个数码管上显示“56”,没有用到的数码管可以利用8芯排线将数码管的位码口JP8连接到逻辑电平开关JP10,并将开关全部打到“0”状态,起到屏蔽的作用。

实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。

动态显示(选作):

使用图5-2的电路,编程在十位和个位两个数码管上循环显示“00-99”,没有用到的数码管可以利用8芯排线将数码管的位码口JP8连接到逻辑电平开关JP10,并将开关全部打到“0”状态,起到屏蔽的作用。

实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中.

实验六继电器控制

1、了解微机控制直流继电器的一般方法。

2、进一步熟悉使用8255、8253。

实验电路如图6-1,按虚线连接电路:

CLK0接1MHZ,GATE0,GATE1,接+5V,OUT0接CLK1,OUT1接PC7,PC0接继电器驱动电路的开关输入端JDQ。

编程使用8253定时,让继电器周而复始的闭合5秒钟(指示灯灯亮),断开5秒钟(指示灯灯灭)。

1.将8253计数器0设置为方式3、计数器1设置为方式0并联使用,CLK0接1MHZ时钟,设置两个计数器的初值(乘积为5000000)启动计数器工作后,经过5秒钟OUT1输出高电平。

通过8255PC7口查询OUT1的输出电平,用C口PC0输出开关量控制继电器动作。

2.继电器开关量输入端输入“1”时,继电器常开触点闭合,交流电路接通,指示灯发亮,输入“0”时断开,指示灯熄灭。

3.参考流程图(见图6-2):

实验七竞赛抢答器

1、了解微机化竞赛抢答器的基本原理。

2、进一步学习使用并行接口。

图7-1为竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1”时,相当某组抢答按钮按下。

在七段数码管上将其组号(0~7)显示出来。

设置8255为C口输入、A口输出,读取C口数据,若为0表示无人抢答,若不为0则有人抢答。

根据读取数据可判断其组号。

将抢答的开关拨回“0”后,从键盘上按空格键开始下一轮抢答;

否则直接按其它键程序退出。

实验八交通灯控制实验

一、实验目的

通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。

如图8-1,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律亮灭。

三、编程提示:

十字路口交通灯的变化规律要求:

(1)南北路口的绿灯、东西路口的红灯同时亮30秒左右。

(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。

(3)南北路口的红灯、东西路口的绿灯同时亮30秒左右。

(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。

(5)转

(1)重复。

实验九中断

1、掌握PC机中断处理系统的基本原理。

2、学会编写中断服务程序。

二、实验原理与内容

1、实验原理

PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。

中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。

IBMPC、PC/XT机内有一片8259中断控制器对外可以提供8个中断源:

中断源中断类型号中断功能

IRQ008H时钟

IRQ109H键盘

IRQ20AH保留

IRQ3OBH串行口2

IRQ40CH串行口1

IRQ50DH硬盘

IRQ60EH软盘

IRQ70FH并行打印机

8个中断源的中断请求信号线IRQ0~IRQ7在主机的62线ISA总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。

对于PC/AT及286以上微机内又扩展了一片8259中断控制,IRQ2用于两片8259之间级连,对外可以提供16个中断源:

中断源中断类型号中断功能

IRQ8070H实时时钟

IRQ9071H用户中断

IRQ10072H保留

IRQ11O73H保留

IRQ12074H保留

IRQ13075H协处理器

IRQ14076H硬盘

IRQ15077H保留

TPC-USB实验板上,固定的接到了3号中断IRQ3上,即进行中断实验时,所用中断类型号为0BH。

2、实验内容

实验电路如图9-1,直接用手动产单脉冲作为中断请求信号(只需连接一根导线)。

要求每按一次开关产生一次中断,在屏幕上显示一次“TPCAInterrupt!

”,中断10次后程序退出。

实验十可编程并行接口

(二)(8255方式1)

1、掌握8255工作方式1时的使用及编程。

2、进一步掌握中断处理程序的编写。

1、按图10-1,8255方式1的输出电路连好线路。

2、编程:

每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:

依次输出01H、02H,04H,08H,10H,20H,40H,80H使L0~L7依次发光,中断8次结束。

1、按图10-2,8255方式1输入电路,连好线路。

2、编程:

读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。

实验十一数/模转换器

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

1、实验电路原理如图11-1,DAC0832采用单缓冲方式,具有单双极性输入端(图中的Ua、Ub),利用debug输出命令(Out290数据)输出数据给DAC0832,用万用表测量单极性输出端Ua及双极性输出端Ub的电压,验证数字与电压之间的线性关系。

2、编程产生以下波形(从Ub输出,用示波器观察)

(1)正弦波

1、8位D/A转换器DAC0832的口地址为290H,输入数据与输出电压的关系参考实验指导原理图:

2、产生锯齿波只须将输出到DAC0832的数据由0循环递增。

产生正弦波可根据正弦函数建一个下弦数字量表,取值范围为一个周期,表中数据个数在16个以上。

1、实验电路原理如图36,DAC0832采用单缓冲方式,具有单双极性输入端(图中的Ua、Ub),利用debug输出命令(Out290数据)输出数据给DAC0832,用万用表测量单极性输出端Ua及双极性输出端Ub的电压,验证数字与电压之间的线性关系。

2、编程产生以下波形(从Ub输出,用示波器观察)

(1)锯齿波

1、8位D/A转换器DAC0832的口地址为290H,输入数据与输出电压的关系为:

(UREF表示参考电压,N表示数数据),这里的参考电压为PC机的+5V电源。

实验十二模/数转换器

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

1、实验电路原理图如图12-1。

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

启动IN0开始转换:

Out02980

读取转换结果:

In0298

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

三、实验提示

1、ADC0809的IN0口地址为298H,IN1口地址为299H。

2、IN0单极性输入电压与转换后数字的关系参考原理图:

其中Ui为输入电压,UREF为参考电压,这里的参考电压为PC机的+5V电源。

3、一次A/D转换的程序可以为

MOVDX,口地址

OUTDX,AL;

启动转换

延时

INAL,DX;

读取转换结果放在AL中

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

1、将J3的1、2短接,使IN2处于双极性工作方式,并给IN1输入一个低频交流信号(幅度为±

5V)(可接到SW1上,利用连续调节电位器来产生变化的信号),编程采集这个信号数据并在屏幕上显示波形。

2、IN0单极性输入电压与转换后数字的关系请参考原理图:

实验十三串行通讯

1、了解串行通讯的基本原理。

2、掌握串行接口芯片8251的工作原理和编程方法。

1、按图13-1连接好电路,其中8253计数器用于产生8251的发送和接收时钟,TXD和RXD连在一起。

从键盘输入一个字符,将其ASCII码加1后发送出去,再接收回来在屏幕上显示,实现自发自收。

1、图示电路8251的控制口地址为2B9H,数据口地址为2B8H。

2、8253计数器的计数初值=时钟频率/(波特率×

波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52。

3、收发采用查询方式。

实验十四DMA传送

1、掌握PC机工作环境下进行DMA方式数据传送(BlockMODE和DemandMode)(块传送、外部请求传送)方法。

2、掌握DMA的编程方法。

1、按照图14-1用20芯扁平电缆连接JP5与JC1,JP6与JC2,6116附近MEMWC接总线附近MEMW,MEMRC接MEMR,MEMCS接GND,用短路子将JC3的1-2短接。

编程将USB的6116缓冲区D4000H,偏移量为0的一块数据循环写入字符A~Z,用BlockMODEDMA方式传送到实验箱的6116的缓冲区D6000H上,并察看送出的数据是否正确。

1、汇编程序中,为避免与系统8237有冲突,TPC-USB模块上的8237端口范围为10H-1F,即按通常模式进行DMA编程时,对8237所有端口均加10H。

2、固定段地址0d000,外扩6116地址范围为6000H~7FFFH。

1、用20芯扁平电缆连接JP5与JT1,用8芯电缆连接“LED显示”与“J273”,273CS接DACK,触发器接线如图14-3(74LS74利用实验台上的D触发器)。

编程将主机内存缓冲区偏移量为0的10个数据,使用DMA请求每一次从内存向外设传送一字节数据

1、DMA请求是由单脉冲输入到D触发器,由触发器的Q端向DRQ发出的。

CPU响应后发出1,将触发器Q置成低电平以撤消请求。

2、汇编程序中,为避免与系统8237有冲突,TPC-USB模块上的8237端口范围为10H-1F,即按通常模式进行DMA编程时,对8237所有端口均加10H。

1、用20芯扁平电缆连接JP5与JT1,用8芯电缆连接“逻辑电平开关”与“J244”,244CS接DACK,触发器接线如图14-3(74LS74利用实验台上的D触发器)。

编程在主机内存缓冲区D4000H,偏移量为0的位置开辟数据缓冲区,使用DemandModeDMA方式将外设逻辑电平开关所的置数,向内存传送8个数据并存入数据缓冲区,单脉冲每触发一次,显示一列外设开关所置的数,编程不断显示缓冲区的数据。

1、DMA请求是由单脉冲输入到D触发器,由触发器的Q端向DRQ1发出的。

实验十五电子琴

1、通过8253产生不同的频率信号,使PC机成为简易电子琴。

2、了解利用8255和8253产生音乐的基本方法。

实验电路如图15-1,8253的CLK0接1MHZ时钟,GATE0接8255的PC1,OUT0和8255的PC0接到与门的两个输入端,与门输出接`LB,JD3跳线连接喇叭,编程使计算机的数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音阶。

1、利用8255的PC0口来施加控制信号给与门,用来控制扬声器的开关状态。

再利用设置不同的计数值,使8253产生不同频率的波形,使扬声器产生不同频率的音调,达到类似与音阶的高低音变换。

对于音乐,每个音阶都有确定的频率。

各音阶标称频率值:

音阶12345671*

低频率(单位:

Hz)262294330347392440494524

高频率(单位:

Hz)5245886606987848809881048

实验十六8255并行口键盘扫描实验

1、掌握8255A编程原理。

2、了解键盘阵列结构,学会读取按键的方法。

按图16-1接线,8255C口接键盘(实际8255的C0~C3接键盘的列0~列3,C4~C7接键盘的行0~行3),8255CS接地址译码输出的288h~28fh。

8255端口A地址为:

288H

端口C地址为:

28AH

控制口地址为:

28BH

编程使得在键盘阵列上每按一个键后,微机屏幕上有相应字符显示出来,按“E”退出程序。

三、编程指南

1.识别键盘上的闭合键,通过采用行扫描法或行翻转法:

★行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值;

如果列值中有某位为低电平,则表明行列交点处的键被按下;

否则扫描下一行,直到扫完全部的行线为止。

★行反转法识别闭合键时,要将行线接一个并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作在输入方式;

程序通过输出端口向全部行线上送低电平,然后读取列线的值;

如果此时有某一键被按下,则必定会使某一列线值为零,程序再对两个并行端口进行方式设置,使行线工作在输入方式,列线工作在输出方式,并且将刚才读到的列线值从列线所接的并行端口输出,再读取行线上的值;

那么,在闭合键所在的行线上的值必定为零。

这样,当一个键被按下时,必定可以读到一对唯一的行值和列值。

在我们提供的程序中就采用行反转法来识别键盘按键。

2.在程序设计时,将各个键对应的代码(列值,行值)放在一个表中,程序通过查表来确定具体按下的为哪一个键。

实验十七8255控制数码管显示实验

1、了解七段数码管(LED)显示数字的原理。

2、掌握只用一个段锁存器和一个位锁存器来同时显示多位数字的技术。

1.静态显示:

按图17-1连接好电路,将8255的B口(PB0~PB6)与七段数码管的段码输入端a~g相连,8255CS接288H~28FH。

编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来,按其他键退出程序。

1、实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的相应段亮,位码加反相驱动器,位码输入端高电平选中。

2.动态显示(选作):

按图17-1接好电路,8255CS接288H~28FH,七段数码管段码用8芯排线连接到8255的PB口,位码驱动输入端接8255的PA口。

编程在码管上显示000000~999999循环计数。

实验十八8255控制键盘、显示综合实验

本实验集中了键盘、显示实验的内容,是一次综合的复习和提高。

1、按图18-1接线

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1