实验指导硬件部分.docx
《实验指导硬件部分.docx》由会员分享,可在线阅读,更多相关《实验指导硬件部分.docx(20页珍藏版)》请在冰豆网上搜索。
实验指导硬件部分
《接口技术》实验指导书
一、实验目的
接口技术是一门实践性、工程性很强的专业课。
因此,不仅要重视理论教学,更要注重实践技能的培养和训练。
实验是本课程的重要组成部分,通过实验,使学生学会查阅产品手册、了解芯片的性能、拟定实验方案、建立和调试汇编语言程序、查明与排除故障和分析实验现象等。
从而巩固、加深和拓宽学生对课程内容的理解,培养分析、设计和调试计算机系统的能力。
二、实验步骤
通过接口电路实验,可验证设计思想,测试和调整接口电路的输入、输出关系,调试和修改汇编语言程序,以进一步完善电路的实际功能。
实验的一般步骤是:
1.实验准备
实践证明,实验前的准备工作做得越充分,则实验成功的可能性就越大。
因此,不可忽视实验前的准备,实验前应做好如下工作。
①实验者应根据实验目的、要求及内容,认真复习有关的理论知识。
②根据实验所提供的接口芯片,编制出相应的汇编语言程序。
③写实验预习报告。
实验预习报告是实验操作的依据,要求报告尽可能写得简洁,思路清楚,一目了然。
实验预习报告主要包括实验电路图和相关的汇编语言程序,附以简要的文字说明,并拟定好实验步骤以及记录实验结果的有关表格。
2.布线
实验准备工作完毕后,就必须按照硬件电路图进行布线;布线所用导线最好选用不同颜色,以便区别不同用途。
例如,接地导线用黑色,电源线用红色,输入信号线统一用黄色,输出信号线统一用白色等。
布线最好有顺序地进行,不要随意接线,以免漏接。
布线时应首先将电源、地线及实验过程中始终不改变电平的输入端接好,然后按信号流向顺序依次布线。
布线用的导线不宜太长,并且应尽量避免导线相互重叠、跨越集成电路芯片的上空及无规则的交错连接在空中搭成网状等现象。
正确的方法是,将导线贴近测试板在芯片周围走线。
这样既可提高电路的可靠性,又便于修正电路,并且也便于检查和排除故障。
3.安装
超想-3000TB51/96/8086/EDA实验系统和IBM-PC任何型号的微机相连即构成一个完整的实验系统;超想-3000TB51/96/8086/EDA实验装置通过RS-232通讯线与PC机相连,使用时一头和实验仪相连,一头和PC机串行口相连;其安装步骤如下:
1关上PC机电源,将通讯线9芯一端接入PC机COM1;
2将通讯线9芯一端接入实验仪串行口插座;
③打开实验装置电源,再打开PC机;
4.建立和执行汇编语言程序
(1)在WINDOWS环境下,启动HK8086调试软件;
(2)在HK8086软件[设置---通讯口]设置相应串口,将延时因子调节到比较大的地方,测试串口直到通过为止。
(3)编辑、连接实验程序。
(4)连机:
连机成功后,数码管显示80862.1字样.
(5)将编译连接后的文件加载进实验机(加载空间从8100:
0开始)
(6)在调试菜单选项中,选择单步跟踪、设置断点、全速运行等功能,调试实验程序。
(7)如实验结果与设计要求不同,重复3-6步骤直至通过为止。
5.注意
为使实验顺利进行,或便于排除故障,在完成布线后,应对所有连线复查一遍,检查是否漏接和错接。
在实验中,如果出现故障,首先应验证实验本身的正确性,即操作是否正确,芯片是否损坏,布线是否有错等。
若芯片损坏或布线有错,则只要重复操作几次就可断定。
如果重复操作时,出错现象也重复出现,则可肯定是布线错,或芯片损坏。
如果重复操作时,出错现象不重复出现,则多半是由于接触不良、电源不稳或环境干扰所引起的。
这种故障较难排除,因此,必须详细记录。
除记录实验中出错的现象外,还应记录工作环境,如电源电压、时序波形、设备工作情况等,以便排错时作为分析依据。
无法与微机通讯的解决方法:
1查看串口是否选择正确
2查看“8279显示实验”区的波特率和软件中的波特率是否选择正确
③将延时因子调大,直到测试串口通过。
在排除故障和错误的过程中,应对排错的方法、修改后的设计方案等作详细记录。
6.实验报告
做完实验后,应对实验结果进行分析处理,从理论上加以总结,从而加深对所学理论知识的认识和理解。
写实验报告就是上述过程的书面总结。
实验报告一般包括以下几项内容:
①实验目的;
②实验所用仪器和器件;
③实验设计方案及电路图;
④实验步骤,实验记录;
⑤对观察结果的分析、处理及讨论;
写实验报告是一个综合运用所学理论去解决实际问题的过程。
实验报告应该写得简明扼要,有事实、有分析、有结论。
对实验观察的分析和讨论是实验报告中的一个重要内容。
它包括对实验中发现的情况与原设计方案的对照分析而得出改进后的方案说明,也可以对重要的实验现象和结论加以讨论。
三、实验内容
实验一8259A硬件中断实验
一、实验要求
编写中断的程序,每当有IR0有一次高电平时,就执行中断服务程序,使8个LED灯轮流点亮。
二、实验目的
1.了解89259A中断控制器的工作原理。
2.了解PC机中断的原理和过程。
3.学会中断处理程序的编写。
三、实验电路及连接
1.IR0接至UP,8259片选CS接至210H-217H,INTR和INTA连接CPU的INTR和INTA;
2.8255片选接至200H~207H,8255的A口的PA0~PA7分别连接L0~L7;
3.实验台上的地址线A0~A2分别连8279芯片右边的A0~A2。
四、实验说明
1.本实验只在串行监控方式和单板机方式下进行,在ISA总线方式下无法实现。
就其原因是,在PC机总线槽中没有直接引出中断的控制器8259的请求与应答信号,以及级连信号。
2.本实验指导书只提供硬件中断8开始。
使用者可以根据自己的需要设定为其他中断方式,且中断号可以从任一中断号开始。
五、实验代码
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE
START:
MOVDX,210H
MOVAL,13H;ICW1:
边沿触发,单片,要ICW4
OUTDX,AL
MOVDX,211H
MOVAL,8;ICW2,设置中断号,中断类型号从8开始
OUTDX,AL
MOVAL,1;ICW4,设置8259工作方式
OUTDX,AL
MOVAX,0;设置中断矢量,
MOVDS,AX;即把中断服务入口地址写入中断矢量表
LEAAX,INT0
MOVDS:
[4*8],AX
MOVAX,CS
MOVDS:
[4*8+2],AX
INAL,DX
ANDAL,0FEH;OCW1,设置中断屏蔽控制字,允许0号中断
OUTDX,AL
MOVDX,203H
MOVAL,80H;8255初始化命令字,所有的端口设成输出,方式0
OUTDX,AL
MOVDX,200H
MOVBL,1
MOVAL,BL
OUTDX,AL;LED初始显示状态
STI
REPEAT:
HLT;CPU停机等待中断
LOOPREPEAT
INT0PROCNEAR;中断服务程序
MOVDX,200H
ROLBL,1
MOVAL,BL
OUTDX,AL;LED左移一次显示
MOVDX,210H
MOVAL,20H
OUTDX,AL;设置8259中断结束方式为普通EOI方式
IRET
INT0ENDP
CODEENDS
ENDSTART
实验二定时器/计数器实验
一、实验要求
编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器1的输出作为定时器0的输入,定时器0的输出接在一个LED上,运行后可观察到该LED在不停闪烁。
二、实验目的
了解8253定时器的硬件连接方法及时序关系。
掌握8253的各种模式编程及原理。
三、实验连线如下
GATE0~GATE1连至电源+5V,CLK0接OUT1,OUT0用线连至一个发光管(L0),CLK1接1MHZ,CS53片选孔用线连至译码处208~~20F这个孔。
四、编写并保存以下的程序代码
CONTROLequ20bh
COUNT0equ208h
COUNT1equ209h
COUNT2equ20ah
codesegment
assumecs:
code
startprocnear
moval,36h;00110110B;计数器0,16位,方式3,二进制
movdx,CONTROL
outdx,al
movax,10000
movdx,COUNT0
outdx,al;计数器低字节
moval,ah
outdx,al;计数器高字节
moval,76h;01110110B;计数器1,16位,方式3,二进制
movdx,CONTROL
outdx,al
movax,100
movdx,COUNT1
outdx,al;计数器低字节
moval,ah
outdx,al;计数器高字节
jmp$
startendp
codeends
endstart
五、打开装置的电源,执行上述代码的“编译操作”。
六、全速执行后可看到L0不断的闪烁,闪烁的频率为1Hz。
实验三开关状态显示实验
一、实验要求
编写程序,设定8255的PA口为开关量输入,PB口为开关量输出,要求能随时将PA
口的开关状态通过PB口的发光二极管显示出来。
二、实验目的
学习使用8255各个口的不同工作方式
三、实验电路连接
将K1~K8用连接至8255的PB0~PB7,将DL1~DL8用连线连至8255的PC0~PC7,
8255CS连至译码处的200~207插孔。
四、实验说明
本实验要求8255工作方式0,PB口设置为输入,PC口设置为输出,输入量为开关量,通过8255可实时显示在LED灯上。
按下HALT或RST键则返回监控。
STACKSEGMENTSTACK
STADW50DUP(?
)
TOPEQULENGTHSTA
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,SS:
STACK
START:
MOVDX,203H;设置为b口输入,c口输出
MOVAL,82H
OUTDX,AL
BG:
MOVDX,201H;将b口状态从c口输出
INAL,DX
MOVDX,200h
OUTDX,AL
JMPBG
CODEENDS
ENDSTART
实验四双色灯实验
一、实验要求
编写程序,以8255为输出口,控制四个双色灯按要求发光。
二、实验目的
1.学习单板方式下扩展简单I/O接口的方法以双色灯的使用。
2.进一步学习微处理器的编程技术。
三、实验电路连线
8255的CS片选接至适配板上138译码处的200H~207H插孔。
四、实验说明
1、因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。
再转状态,东西绿灯通车,南北灯灯。
过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
2、双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。
当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
D1EQU10H
D2EQU200H
DATASEGMENT
PBDB?
DATAENDS
STACKSEGMENTSTACK
STADW50DUP(?
)
TOPEQULENGTHSTA
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
PUSHCS
POPDS
MOVDX,203H;设置为全输出
MOVAL,80H
OUTDX,AL
MOVDX,200H
MOVAL,0ffh
OUTDX,AL;清LED
MOVDX,200H
MOVAL,0F0H
OUTDX,AL;全红
MOVBX,7fH
CALLDLY
BG:
MOVAL,01011010B;南北绿,东西红
OUTDX,AL
MOVBX,D2
CALLDLY
MOVCX,03H
XH1:
ANDAL,0F5H;绿灭黄亮
OUTDX,AL
MOVBX,D1
CALLDLY
ORAL,0aH;绿亮
OUTDX,AL
MOVBX,D1
CALLDLY
LOOPXH1
ORAL,0a0H;南北黄
OUTDX,AL
MOVBX,D1
CALLDLY
MOVBX,D1
CALLDLY
MOVAL,10100101B;南北红,东西绿
OUTDX,AL
MOVBX,D2
CALLDLY
MOVCX,03
XH2:
ANDAL,0FaH
OUTDX,AL
MOVBX,D1
CALLDLY
ORAL,05H
OUTDX,AL
MOVBX,D1
CALLDLY
LOOPXH2
ORAL,50H
OUTDX,AL
MOVBX,D1
CALLDLY
MOVBX,D1
CALLDLY
JMPBG
DLYPROCNEAR
PUSHCX
DDD:
MOVCX,2ffH
CCC:
LOOPCCC
DECBX
CMPBX,0
JNEDDD
POPCX
RET
DLYENDP
CODEENDS
ENDSTART
实验五8251可编程串行通讯实验
一、实验要求
编写程序,以实现实验机与PC机之间的串行通讯。
二、实验目的
1.学习用8251实验串行通讯的编程方法。
2.进一步学习8088与PC机的通讯方法。
三、实验电路连线
cs53接200-207,out1分别接TXCLK和RXCLK,CLK1接1M的频率,GATE1接+5V;8251的CS51接208-20F,CLK接1M的频率,RXD接通信接口的RXI,TXD接通信接口的TDX,用九孔对九孔的串口线将通信接口的J14和PC机的串口连接起来。
四、实验说明
由8253通道1分频提供8251TXCLK和RXCLK所需的频率,用串口调试助手接收从8251发送的数据。
操作步骤:
首先用串口线把PC机和实验箱连接起来,各实验连线连接完毕,打开程序,编译连接运行后,打开串口调试助手设置好串口,波特率设为1200,在发送区输入数据可在接收区显示出来。
注:
串口调试助手的原理就是从发送区发送数据通过串口输出,接收区是接收从串口送来的数据并显示在接收区。
五、实验程序如下:
stacksegmentstack
stackends
datasegment
dataends
codesegment
assumecs:
code,ds:
data,ss:
stack
start:
PUSHCS
POPDS
movdx,203h;设置8253计数1工作方式3
moval,56h
outdx,al
movdx,201h
moval,52;给8253计数器1送初值
outdx,al
movdx,209h;初始化8251
xoral,al
movcx,03;向8251控制端口送3个0
delay:
callout1
loopdelay
moval,40h;向8251控制端口送40H,使其复位
callout1
moval,4eh;设置为1个停止位,8个数据位,波特率因子为16
callout1
moval,27h;向8251送控制字允许其发送和接收
callout1
next:
movdx,209h
inal,dx
testal,02;检查接收是否准备好
jznext;没有,等待
movdx,208h
inal,dx;准备好,接收
pushax
movcx,40h
s51:
loops51;延时
waiti:
movdx,209h
inal,dx
testal,01;发送是否准备好
jzwaiti
movdx,208h
popax
outdx,al
jmpnext
out1procnear;向外发送一字节的子程序
outdx,al
pushcx
movcx,400h
gg:
loopgg;延时
popcx
ret
out1endp
codeends
endstart
实验六A/D转换实验
一、实验要求
编程用查询方式采样电位器输入电压,并将采样到的结果实时地通过8279显示在数码管上。
(只须显示一位即可。
用0~F表示0~+5V电压)。
二.实验目的
1.掌握A/D芯片AD0809的转换性能及编程方法。
2.学习A/D芯片与其他芯片(如8279)接口的方法,初步建立系统的概念。
三.实验电路及连线
CS79接译码处210~217这个插孔。
A/D的CS插译码处208~20F这个插孔,0809的IN0接至电位器W1的中心抽头插孔。
注意:
电位器W1两边的两个插孔已经分别接好电源+5V和地,请不要再接,以防接错,出现短路。
四、实验说明
本实验中所用A/D转换芯片为逐次逼近型,精度为8位每转换一次约100微钞,所以程序若为查询式,则在启动后要加适应延时。
另外,0809芯片提供转换完成信号(EOC),利用此信号可实现中断采集。
有兴趣者可自行编制程序。
Z8279EQU212H
D8279EQU210H
LEDMODEQU00;左边输入,八位显示外部译码八位显示
LEDFEQEQU38H;扫描频率
CODESEGMENT
ASSUMECS:
CODE,DS:
code
START:
pushcs
popds
calldelay
MOVDX,Z8279
MOVAL,LEDMOD
OUTDX,AL
MOVAL,LEDFEQ
OUTDX,AL
MOVCX,06H
XZ:
MOVDX,D8279
MOVAL,00H
OUTDX,AL
LOOPXZ
MOVDX,D8279
MOVAL,5eH
OUTDX,AL
MOVDX,D8279
MOVAL,77H
OUTDX,AL;以上为写(AD)
NOP
bg:
movdx,208h
moval,0
outdx,al
calldelay
inal,dx
movcl,04h
roral,cl
andal,0fh
pushax
movdx,z8279
moval,81h
outdx,al
popax
LEABX,LED
XLAT
MOVDX,D8279;将AL中内容写到数码管上
OUTDX,AL
calldelay
jmpbg
LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H
DB5EH,79H,71H
delayprocnear
pushcx
movcx,01f00h
loop$
popcx
ret
delayendp
CODEENDS
ENDSTART
实验七D/A转换实验
一、实验要求
编写程序,使D/A转换模块循环输出三角波和锯齿波。
二、实验目的
1.掌握DAC0832芯片的性能、使用方法及对应硬件电路。
2.了解D/A转换的基本原理。
三、实验电路连线
DAC0832的片选CS孔接译码处208-20F插孔(注:
0832旁的短路帽应下插,做51实验时应上插)。
四、实验说明
D/A转换是量转化成模拟量的过程,本实验输出为模拟电压信号,本次实验生成的波较为简单,有兴趣者可试编程序生成各种波形,如方波,正弦波等,也可与键盘显示模块结合起来,构成一个简单的波形发生器,通过键盘输入各种参数,如频率,振幅(小于+5V),方波的占空比等。
CODESEGMENT
ASSUMECS:
CODE,DS:
code,SS:
code
START:
pushcs
popds
BG:
NOP
MOVDX,208H;锯齿波
MOVAL,00H
MOVCX,07ffH
BB:
OUTDX,AL
ADDAL,01
CMPAL,00H
JNZBB
LOOPBB
NOP
MOVAL,00H
MOVCX,07ffH
EE:
OUTDX,AL
ADDAL,01H
CMPAL,0FFH
JNEEE
FF:
OUTDX,AL
SUBAL,01H
CMPAL,00H
JNEFF
LOOPEE
JMPBG
CODEENDS
ENDSTART
实验八8237DMA实验
一、实验要求:
利用8237进行DMA数据传送
二、实验目的:
学习用DMA进行存贮器到存贮器传送数据
三,实验说明:
做MEM=>MEM数据传送时无需用户联线,系统自动做总线切换本程序将RAM中的一段数据用DMA方式复制到另一地址。
实验过程中不用联线,程序运行状态通过查看存贮器、寄存器内容来观察。
实验代码见DMA_M2M.asm,代码过程序如下:
(1)禁止8237A工作
(2)复位8237A
(3)允许DMA通道0,1
(4)设置DMA通道0,1的起始地址、计数器值
(5)查看运行前8237寄存器值、存贮器的内容,点击菜单栏"查看"的"数据区窗口"的"代码数据窗口"中,查看8100:
0000到8100:
00FF中的数据。
(6)设置DMA工作方式,允许DMA
(7)启动DMA传送
(8)对程序进行编译连接后,使光标指向最后一条MOV指令处,点击菜单栏"调试"下拉菜单的"执行到光标所在行",使程序执行到此处。
(9)查看运行后8237寄存器值、存贮器的内容,点击菜单栏"查看"的"数据区窗口"中的"代码段数据窗口",查看8100:
0000到8100:
00FF中数据与8100:
0100到8100:
01FF中数据一致。
四,实验程序如下:
DMAEQU00H
DATASEGMENT
PBDB?
DATAENDS
STACKSEGMENTSTACK
STADW5