接口课程设计资料文档格式.docx
- 文档编号:22105080
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:68
- 大小:1.07MB
接口课程设计资料文档格式.docx
《接口课程设计资料文档格式.docx》由会员分享,可在线阅读,更多相关《接口课程设计资料文档格式.docx(68页珍藏版)》请在冰豆网上搜索。
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接线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口 课程设计 资料