接口实验教程--教师

上传人:第*** 文档编号:34207646 上传时间:2018-02-21 格式:DOC 页数:37 大小:378KB
返回 下载 相关 举报
接口实验教程--教师_第1页
第1页 / 共37页
接口实验教程--教师_第2页
第2页 / 共37页
接口实验教程--教师_第3页
第3页 / 共37页
接口实验教程--教师_第4页
第4页 / 共37页
接口实验教程--教师_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《接口实验教程--教师》由会员分享,可在线阅读,更多相关《接口实验教程--教师(37页珍藏版)》请在金锄头文库上搜索。

1、 第一章 验证性实验实验一 串行接口(Ins8250)通信实验一、 实验目的了解RS-232-C 通信标准;进一步熟悉 Ins8250芯片工作原理;掌握其接口电路设计和编程方法。 二、 实验内容利用实验系统上的8250,通过自发自收方式,将接收到的ASCII码(AF、09)在LED数码管上显示出来。三、 实验电路原理图译码单元:译码器输入A、B、C与系统地址线A3、A4 、A5 相连;译码器控制端G与系统地址总线A0下方的G相连。8250单元:输入SIN与输出SOUT 相连;片选CS与译码单元的Y4相连;时钟输入XTAL1 与393分频单元的T2(2MHz)相连;地址A2与系统地址线A2相连;

2、写信号IWR 与控制总线 IOWR相连;读信号IRD与控制总线IORD相连;复位信号RESET与LED数码管上方的RESET相连;数据线D07与数据总线单元中的任一8芯插座相连;四、实验程序PORT EQU 0FFE0H; 8250的端口地址ZXK EQU 0FFDCHZWK EQU 0FFDDHLED DB 0C0H,0F9H,0A4H,0B0H,99H,92H ,82H ,0F8H,80H ,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH ,0F3HBUF DB 08H,02H, 05H,09H,10H,10HCODE SEGMENTASSUME

3、 CS:CODE,DS:CODE,ES:CODEORG 3DA9H;8250初始化程序S1: LCR7 1除数因子低8位/高8位 ;波特率4800,CLK=49125MHz/8 数据格式LCR ;8个数据位,1个停止位,无校验AL IER ;禁止中断AL MCR ;DTR=1,RTS=1,自环;8250发送程序SENDA5:MOV DX,PORT+5 ;LSR IN AL,DXAND AL,20HTEST AL,20H ;THR是否为空IZ SENDA5MOV DX,PORT ;THR/RBRMOV AL,0A5H;待发送数据OUT DX,AL;发送数据;8250接收程序RECEA5:MOV

4、DX,PORT+5 ;LSRIN AL,DXAND 81HTEST AL,01H ;RBR是否满IZ RECEA5MOV DX,PORT ;RHR/RBRIN AL,DX;接收数据CMP AL,0A5HJNZ ERRORMOV BUF,09HMOV BUF+1,00HMOV BUF+2,00HMOV BUF+3,0DHMOV BUF+4,0AHMOV BUF+5,05hL0: CALL DISJMP L0 ERROR:MOV BUF ,0EHMOV BUF+1,10HMOV BUF+2,10HMOV BUF+3,10HJMP L0;显示子程序DIS: MOV CL,20HMOV BX,OFFS

5、ET BUFDIS1: MOV AL,BXPUSH BXMOV BX,OFFSET LEDXLATPOP BXMOV DX,ZXKOUT DX,ALMOV AL,CLMOV DX,ZWKOUT DX,ALMOV CX,0100HDELAY: LOOP $POP BXCMP CL,01HJZ EXITINC BXSHR CL,1JMP DIS1EXIT: MOV AL,00HMOV DX,ZWKOUT DX,ALRETCODE ENDSEND S1assume cs:codecode segment publicpad equ 04a0hpbd equ 04a2hpcd equ 04a4hpcc

6、 equ 04a6horg 100hstart: mov dx,pcc ;控制寄存器地址mov ax,80h ;设置为A口输出,C口输出out dx,axmov bh,01hlp2: mov bl, 00hmov cx,08h lp1: mov dx, pcdmov al, blout dx, almov dx, padmov al, bhout dx, alpush cxcall delaypop cxinc blloop lp1sal bh, 1cmp bh, 0jne lp2jmp startdelay: mov cx,8235h ;500ms delaydelay1: nopnop六、

7、思考与习题1分析握手信号的作用,不用握手信号时结果如何?2如果不判断THR、RBR的状态,可能会出现什么结果?3如果通信双方的数据格式或波特率不一致,结果如何?实验二 并行接口(Intel8255A)实验一、实验目的熟悉8255A的工作原理及应用方法;掌握其接口电路设计及编程方法。二、实验内容1通过8255A的A口输入开关的状态,再通过其B口输出,由发光二极管显示出开关的状态,前4个开关向下则灯亮,后4个开关向上则灯亮。2利用8255A的PC0控制继电器的开、合。3利用两片8255A进行单工通信。可分别采用查询、中断方式进行通信。中断方式通信的线路及程序由学生自行设计。三实验电路原理图1 译码

8、单元:不用连线。 8255A单元:PA07与兵乓开关K18相连,PB07与发光二极管L1 8相连; 2译码单元:不用连线。8255A单元:PC0 与74LS04 的JIM 相连。继电器单元:JK(常开,接 +5v)与L2相连,JB(常闭,接地)与L1相连, JZ与GND相连。 3译码单元:不用连线。8255A单元:PA07与PB07相连,PC7与PC2相连,PC1 与PC6相连。锁存输出单元:在EXIC2上插上74LS32,4脚接74LS138的Y5,5脚接控制总线IOWR,6脚接74LS273 的CLK;74LS273的数据线与数据总线区的任一插座相连,输出PO0与L0相连; 四、 实验程序

9、18255A简单输入输出程序PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHCOTR EQU 0FFDBHCODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 32E0HS2:8255A控制字 ;PA口输入,PB口输出P2: MOV DX,PAIN AL,DXXOR AL,0FHINC DXOUT DX,ALJMP P2CODE ENDSEND S2注:前4个开关向上(接地)使LED亮,后4个开关向上使LED灭assume cs:codecode segment publicorg 100hstart: mov dx,04a6

10、h ;控制寄存器地址mov ax,82h ;设置为A口输出,B口输入out dx,axstart1: mov dx,04a2h ;B口地址in ax,dx ;输入not axmov dx,04a0h ;A口地址out dx,ax ;输出jmp start1code endsend startassume cs:codecode segment publicorg 100hstart: mov dx,04a6h ;控制寄存器地址mov ax,82h ;设置为A口输出,B口输入out dx,axstart1: mov dx,04a2h ;B口地址in ax,dx ;输入not axmov dx,0

11、4a0h ;A口地址out dx,ax ;输出call delayjmp start1delay: mov cx,0043h ;1ms delaydelay1: nop nopnopnoploop delay1 retcode endsend start2继电器开合程序PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHCOTR EQU 0FFDBHSSEG SEGMENT STACKSKTOP DB 20 DUP(0)SSEG ENDSCODE SEGMENTASSUME CS:CODE,SS:SSEGORG 34E0HSS2: 8255A控制字 ;PC0=0CAL

12、L DELAY8255A控制字 ;PC0=1CALL DELAYJMP SS2 ;延时子程序DELAY: MOV CX,0004HDL1: PUSH CXMOV CX,0FFFFHLOOP $ POP CX LOOP DL1RETCODE ENDSEND 3A口输出,B口输入,方式1PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHCOTR EQU 0FFDBHSSEG SEGMENT STACKSKTOP DB 20 DUP(0)SSEG ENDSCODE SEGMENTASSUME CS:CODE,SS:SSEGORG 34B0HSSS2: 8255A控制字 ;

13、PA输出,PB输入,方式1P2: MOV DX,PA;PA口MOV AL,0AAHOUT DX,ALL0:MOV DX,PC;PC口IN AL,DXTEST AL,1;PC1是否为1JNZ L0 ;否,循环等待MOV DX,PB;PB口IN AL,DXCMP AL,0AAH ;数据是否正确JNZ ERR ;否MOV DX,COTR MOV AL,09HOUT DX,AL;PC4=1,使LED1灭L1:MOV DX,PC;PC口IN AL,DXTEST AL,7 ;PC7是否为1JZ L1 ;是,转去继续输出JMP P2ERR:MOV DX,COTR;8255A控制端口MOV AL,0BH;PC

14、5=1,使LED2灭OUT DX,ALJMP $CODE ENDSEND 五、思考与习题:1设计一段程序,使8个LED循环亮。2修改延时子程序,调节延时时间,比如2s、3s等。3编写一段程序,采用方式1中断的方式传输数据。实验三 可编程定时/ 计数器(Intel8253 )实验一、 实验目的熟悉8253/8254的工作原理,掌握8253/8254的计数/定时应用方法及其接口电路设计和编程方法。二、实验内容1利用通道0产生负脉冲信号、方波信号,并通过虚拟示波器进行观察。注意观察触发方式。2利用通道1的软触发计数工作方式(方式0、4) ,对输入的单脉冲进行计数。注意观察计数初值与输入的脉冲数,以及输出信号的波形(用逻辑笔或模拟示波器测试 OUT输出端的电平变化) 。3利用通道2的硬触发计数工作方式(方式1、5) , 对输入的单脉冲进行计数。注意观察计数初值与输入的脉冲数,以及输出信号的波形(用模拟示波器测试OUT 输出端的电平变化) 。三、实验电路原理图 8253单

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号