实验一 熟悉实验开发系统,编写子程序
2011-09-04 21:09阅读:
实验一
基本输入输出口的设计
一、实验目的
1.熟悉并掌握开关量输入电路的基本形式和开关的输出特性
2.熟悉并掌握开关量输出电路的基本形式和LED驱动器的输入特性
3.掌握基本输入输出口的设计方法
二、实验设备与器件
AEDK5196ET实验系统
IC芯片:74LS244,74LS273
三、实验内容
1.采用74LS244和开关等器件设计开关量输入接口电路
2.采用74LS273和发光二极管或数码管等器件设计开关量输出接口电路
3.插接开关量输入、输出接口电路
4.编程并运行程序测试接口电路
四、实验原理及要求
1.输入接口:输入接口是把数据从外设经过接口传送到总线。任何设备只能在一定控制条件下才能把数据送上总线。通常,当该输入接口的片选信号有效,且总线I/O读信号有效时,控制打开输入接口芯片,此时才允许输入接口把数据送上总线。常用74LS244、74LS125等具有三态特性的器件构成输入接口电路。
2.输出接口:CPU向外设传送数据,首先要通过总线把数据传送
到某个接口,然后接口把数据传送到外设。由于总线公用,系统个部分都要通过总线传送数据,CPU向某个接口传送数据必须在瞬间完成,并把该数据锁存在接口中。通常,CPU向某个接口传送数据的瞬间,利用地址译码器产生的片选信号和总线的I/O写控制信号经逻辑组合后对锁存器的CLK进行控制,把总线上瞬间出现的数据锁存起来,然后输出给外设。常用74LS273、74LS574等锁存芯片构成输出接口电路。
五、实验步骤
1.
硬件连线(参见图1.1)
① 开关量输入K1~K8接74LS244的输入端PI0~PI7。
② 74LS244设备选择端“CS*”接编号为8000H的译码器输出端。
③
74LS273的输出端PO0~PO7接发光二极管驱动器74LS240的输入端DL1~DL8,其输出控制发光二极管的显示。
④ 74LS273设备选择端“CS*”接编号为8100H的译码器输出端。
2.编程并运行程序测试接口电路。
① 编程要求:读取外设的8个开关状态,然后将读取的开关状态送到8个LED发光二极管上对应显示。
② 执行程序要求:拨动8个开关,记录并分析实验结果。
六、编程提示及参考程序
参考程序
ORG
0000H
LJMP START
;进入主程序
ORG
3000H
KIN
EQU
8000H
;定义输入设备74LS244的地址
LOUT
EQU
8100H
;定义输出设备74LS273的地址
START:
MOV DPTR, #KIN
MOVX
A, @ DPTR
;从输入设备上获得开关信号
MOV
DPTR, #LOUT
;并将其传送到输出设备上
MOVX
@ DPTR, A
SJMP
START
;重复上述操作
END
七、创新设计
1.针对上述硬件电路,若要求实现“Ki为0=>LEDi发光,Ki为1=>LEDi熄灭”的功能
(i=1~8),请制订出相应的控制方法并编写出相应的程序代码。
2.针对上述硬件电路,若要求实现“K1为0=>LED8发光,K2为0=>LED7发光,K3为0=>LED6发光,K4为0=>LED5发光,K5为0=>LED4发光,K6为0=>LED3发光,K7为0=>LED2发光,K8为0=>LED1发光”的功能,请制订出相应的控制方法并编写出相应的程序代码。
八、思考题
1.
分析实验装置设备译码器的图纸,用16位2进制数的形式,写出使该译码器各输出端输出“有效信号”时被选通设备所使用的基本地址和重叠地址。
2.
根据硬件电路可知,钮子开关作为数字信号输入的“输入驱动”电路,74LS244三态门构成数字信号输入的接口电路。将K1~K8接74LS244的PI0~PI7,其设备选择端‘CS*’接编号为8000H的译码器输出端。分析说明在这种连线方法的前提下,为什么执行下述指令序列后,CPU能够读取输入开关的当前状态。
MOV
DPTR, #8000H
MOVX A,
@DPTR
3. 根据硬件电路可知,74LS240作为输出驱动器驱动LED1~LED8发光二极管, 74LS273
8D触发器构成数字信号输出接口电路。将4LS273的输出端PO0~PO7接74LS240的输入端DL1~DL8,74LS273的的设备选择端‘CS*’接编号为8100H的译码器输出端。分析说明在这种连线方法的前提下,为什么执行下述指令序列后,能够根据“点灯数据”并按照
“0灭1亮”的规则来控制每个输出LED的“发光/熄灭”状态?
MOV
DPTR, #8100H
MOV
A, <点灯数据>
MOVX @ DPTR, A
4. 使用制作电路板的CAD软件,绘制出本接口实验“设备侧”的原理图纸。
5. 若实验中不是使用74LS273
8D触发器作为输出接口电路,而是使用系统中P1口的P1.0~P1.7来作为相应的输出接口,试给出相应的连线方法并编写出相应的程序代码。