




免费预览已结束,剩余12页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术课程设计 双机通信程序设计微机原理与接口技术课程设计双机通讯程序设计微机原理与接口技术课程设计第一部分:课程设计绪论(一) 课程设计题目双机通信程序设计(二) 课程设计内容用汇编语言编写一个双机通信的程序,用中断的方式实现发送方从键盘上键入一个字符,接收方将该接收到的字符显示在微机屏幕上。(三) 课程设计要求制作接口电缆、编程,画出程序流程图,程序调试。(四) 课程设计分工杨晶超负责接收端的程序设计。王鹏负责发送端的程序设计。潘星桥负责接收端的流程图设计。彭大伟主要负责发送端的流程图设计。第二部分:课程设计内容(一) 串行通信方式在计算机与外设之间的信息传送中,按照一次传送数据的位数分类,可分为: 并行传送方式:数据的各位同时传送; 串行传送方式:数据的各位按一定的顺序逐位分时传送。 串行传送适用于长距离通信系统及各类计算机网络。 由于信息在一个方向上传输只占用一根传输线,而这根线上既传送数据,又传送联络信号,为此为区分这根线传送的信息流中,哪一部分是联络信号,哪一部分是数据,就必须引出串行通信的一系列约定。于是,在串行通信中就有异步通信和同步通信两种基本串行通信方式。异步通信有字符格式和波特率两项约定。字符格式:图1 异步通信数据格式波特率:是单位时间内传送二进制数据的位数,以位/秒为单位,即波特。 异步通信传送速度一般在509600波特范围内,用于传送信息量不大,传送速度要求较低场合。 (二) RS232C接口1、引脚规定 保护地:1号脚,它与设备的外壳相连,需要时可以使它直接与大地相连; TXD:发送数据,2号脚; RXD:接收数据,3号脚; 信号地:7号脚; RTS:请求发送,这是数据终端设备(以下简称DTE)向数据通信设备(以下简称DCE)提出发送要求的请求线。 CTS:准许发送,这是DCE对DTE提出的发送请求作出的响应信号。当CTS在接通状态时,就是通知DTE可以发送数据了。当RTS在断开状态时。CTS也随之断开,以备下一次应答过程的正常进行;当RTS在接通状态时,只有当DCE进入发送态时,即DCE已准备接收DTE送来的数据进行调制并且DCE与外部线路接通时,CTS才处于接通状态。 DSR:数据通信设备准备就绪,它反映了本端数据通信设备当前的状态。当此线在接通状态时,表明本端DCE已经与信道连接上了且并没有处在通话状态或测试状态,通过此线,DCE通知DTE,DCE准备就绪。DSR也可以作为对RTS信号的响应,但DSR线优先于CTS线成为接通态。 DTR:数据终端准备就绪。如果该线处于接通状态,DTE通知DCE,DTE已经作好了发送或接收数据的准备,DTE准备发送时,本设备是主动的,可以在准备好时,将DTR线置为接通状态。如果DTE具有自动转入接收的功能,当DTE接到振铃指示信号RI后,就自动进入接收状态,同时将DTR线置为接通状态。 RI:振铃检测,当DCE检测到线路上有振铃信号时,将RI线接通,传送给DTE,在DTE中常常把这个信号作为处理机的中断请求信号,使DTE进入接收状态,当振铃停止时,RI也变成断开状态。 DCD:接收线路信号检测,这是DCE送给DTE的线路载波检测线。MODEM在连续载波方式工作时,只要一进入工作状态,将连续不断地向对方发送一个载波信号。每一方的MODEM都可以通过对这一信号的检测,判断线路是否通,对方是否在工作。 2、电气性能规定 1)在TXD和RXD线上。 MARK(即数字“1”)=-3V-25V SPACE(即数字“0”)=+3V+25V 2)在联络控制信号线上(如RTS、CTS、DSR、DTR、RI、DCD等) ON(接通状态)=+3V+25V OFF(断开状态)=-3V-25V3、电平转换 凡是有RS232C串行接口的微机系统,都需要有两个转换电路。由逻辑电平转换芯片实现的。 MC1488芯片可实现TTLRS232C的逻辑电平转换; MC1489芯片可实现RS232CTTL的电平转换。4、RS232C的应用图2 两个计算机之间通过RS232C的连接(三) 可编程串行接口芯片8251A1、基本性能 1)可用于同步和异步传送 同步传送:58bit/字符,内同步或外同步,自动插入同步字符; 异步传送:58bit/字符,接收/发送时钟频率为通信波特率的1,16或64倍; 2)可产生中止字符,可产生1,1.5,2位停止位。可检查假启动位,自动检测和处理中止字符; 3)波特率:DC-19.2Kbps(异步);DC-64Kbps(同步); 4)完全双工,双缓冲发送和接收器; 5)具有奇偶、帧、溢出出错检测电路。 2、内部结构 由四大部分组成: 1)数据总线缓冲器:它由状态缓冲器、发送数据命令缓冲器和接收数据缓冲器组成,是三态双向8位缓冲器,用作8251A和微机系统数据总线之间的接口。其中状态缓冲器和接收数据缓冲器分别用来存放CPU从8251A读取的状态信息和数据,发送数据命令缓冲器用来存放CPU写入8251A的数据控制字。 2)接收器:接收RXD线上的串行数据并按规定的格式把它转换为并行数据,存放在接收数据缓冲器中。其接收数据的速率取决于从 端输入的接收时钟频率。 当8251A工作于异步方式时,若允许接收和准备好接收数据时,它监视RXD线,在无字符传送时,RXD线上为高电平,当发现RXD线上出现低电平时,即认为它是起始位,就启动一个内部计数器,当计数器计到一个数据位宽度的一半(若时钟脉冲频率为波特率的16倍时,则为计数到第8个脉冲)时,又重新采样RXD线,若其仍为低电平,则确认它为起始位,此后在 作用下(若 频率为波特率的16倍时,则每隔16个 采样一次RXD线),把RXD线上的数据送至移位寄存器,经过移位,又经过奇偶校验和去掉停止位后,就得到了转换的并行数据,再传送给接收数据缓冲器,同时输出RXRDY有效信号,通知CPU取走字符。 在同步方式时,接收器监视RXD线,每出现一个接收时钟,采样一位数据到接收数据移位寄存器中,构成并行字节,并送到接收数据缓冲器中,再与含有同步字符(由程序设定)的寄存器相比较,看是否相等,若不等,重复上述过程。当找到同步字符后(若规定为两个同步字符,则出现在RXD线的两个相邻字符必须与规定的字符相同),则置SYNDET信号,表示已找到同步字符。在找到同步字符后,每隔一个接收时钟采样一次 RXD线上的数据位,送到接收数据移位寄存器中,经移位并按规定的位数转换成并行字节数据,再把它并行送至接收数据缓冲器中,同时输出RXRDY有效信号,通知CPU取走字符。 3)发送器 要发送数据(字符)由CPU送到发送数据缓冲器中,再由发送缓冲器并行传送到发送数据移位寄存器中。 在异步传送方式时,发送器先在串行数据字符前加上起始位,并根据约定的要求加上校验位和停止位,然后在 作用下,由TXD线一位一位串行发送出去。 在同步方式时,发送器在准备发送的数据前面先插入一个或两个同步字符(在初始化时,由程序设定),在数据块的每个字符后,插入奇偶校验位,然后在 作用下,将数据一位以为地由TXD线发送出去。 不论是同步还是异步,只有当操作命令字中的TXEN(允许发送)为1且 (准许发送)引脚为低电平时,发送器才能发送数据。 4)读/写控制逻辑和调制解调控制电路 读/写控制电路用于CPU对8251A的I/O缓冲器进行读/写控制,调制解调控制电路用于8251A与MODEN或外设之间的通信联络的控制。 表1 8251读/写功能表(四)8251A的引脚功能1、与CPU的连接信号 :片选信号; C/ :控制数据; :读; :写; D7D0:双向三态DB,其组合功能如下: 此外还有: RESET:复位,当这个输入引脚上出现一个6倍CLK时钟周期宽的高电平信号时,芯片复位。复位后,芯片处于空闲状态,等待命令。 CLK:时钟输入,为芯片内部有关电路工作提供的时钟,并非 、 。在同步方式,CLK频率必须大于 或 频率的30倍;在异步方式,CLK频率必须大于 或 频率的4.5倍。另外,CLK的周期要在0.421.35s范围内。 TXRDY:发送器准备好,高电平有效。只有当8251A允许发送(即操作命令字的TXEN=1)并且 引脚为低电平和发送数据缓冲器为空时,此信号有效,通知CPU可以向8251A写入下一个的字符。CPU向8251A写入下一个字符后,TXRDY自动复位。TXRDY可作为查询方式的状态信号,也可作为中断方式时的中断请求信号。 TXE:发送器空,高电平有效。当它有效时,表示发送数据移位寄存器已空。 TXE有效时,TXRDY必有效;发送数据缓冲器满时,TXE必无效。 RXRDY:接收器准备好,高电平有效。若操作命令字的RXE(允许接收)位被置1,且当8251A已从RXD端逐位接收了一个字符,并完成了格式变换,接收的字符已以并行数据存放在接收数据缓冲器中时,此信号有效,通知CPU读取数据。当CPU读取一个字符后,此信号复位,此信号在查询方式时可作为状态信号,在中断方式时可作为中断请求信号。 SYNDET/BRKDET:同步/中止检测,复用功能引脚。在同步方式时,作同步检测SYNDET。当工作于内同步时,为输出引脚,当检测到从RXD端输入的一个或两个同步字符后,SYNDET输出高电平,表示8251A已达到同步。当CPU执行一次读状态操作时,复位SYNDET;当工作于外同步方式时,SYNDET为输入端,当外部检测电路检测到同步字符后,就从该引脚输入一个正跳变信号,通知8251A在下一个 下降沿开始收集数据字符。从SYNDET输入的一个正跳变信号至少应维持一个 周期。当程序指定为外同步方式时,内同步检测就无用了。当工作于异步方式时,该引脚是中止信号检测端BRKDET,为输出端。当检测到中止字符后,该引脚输出高电平。中止字符是由在通信线上的连续的0组成,它是用来在完全双工通信时中止发生器终端的。只要8251A操作命令字中的SBRK为1,则8251A就始终发送中止符(TXD线上一直输出低电平)。若从RXD线上接收到1,BRKDET端立即变低。2、与MODEM接口的信号线 :数据终端准备好,输出,低电平有效。可由操作命令字中的DTR置1而变为有效,用以表示CPU准备就绪; :数据装置准备好,输入,低电平有效。用以表示调制解调器或外设准备好。CPU可通过读状态DSR检测此信号。当读到的状态DSR=1时,表示 有效。该信号实际上是对 的回答,通常用于接收数据; :请求发送,输出,低电平有效。用于通知调制解调器或外设,8251A要求发送。可由操作命令字的RTS置1而使其有效; :允许传送,输入,低电平有效。是调制解调器或外设对8251A的 信号的回答。将操作命令字中TXEN置1,且 有效,8251A才能串行发送。 TXD:发送数据线,RXD:接收数据线;:发送器时钟,数据是在 的下降沿由TXD逐位发出。对于同步方式, 时钟频率应等于数据波特率;对于异步方式,可由软件定义 时钟频率等于发送数据波特率的1.16或64倍。:接收器时钟,在 上升沿采样RXD, 频率和波特率的关系同 。实际上 和 往往连在一起。 图3 8251A引脚图(五)8251A的编程在使用前必须对它进行初始化编程。1、 方式选择控制字:规定8251A工作方式。各位含义如图: 图4 方式选择控制字各位含义2、 操作命令字:确定8251A的实际操作 D7 D6 D5 D4 D3 D2 D1 D0 EH IR RTS ER SBRK RXE DTR TXEN TXEN:允许发送,TXEN=1:发送器才能通过TXD线串行发送数据, TXEN=0:禁止发送; DTR:数据终端准备好,DTR=1,迫使 引脚有效;DTR=0,迫使 无效; RXE:允许接收,RXE=1,允许接收;RXE=0,禁止接收; SBRK:发送中止符,SBRK=1,迫使TXD线为低电平,输出连续0,正常通信过程中SBRK应保持0; ER:错误标志复位,ER=1,复位出错标志PE、OE、FE; RTS:请求发送,RTS=1迫使 引脚有效,表示CPU已作好发送数据准备;RTS=0迫使 引脚无效; IR:内部复位,IR=1,迫使8251A回到设置方式选择控制字状态; EH:只适用于同步方式。EH=1,开始搜索同步字符;EH=0,不搜索同步字符。对于同步方式,一旦允许接收(RXE=1),必须同时使EH=1,并使ER=1(清除全部出错标志),才能开始搜索同步字符。 3、状态字 D7 D6 D5 D4 D3 D2 D1 D0 DSR SYNDET/BRKDET FE OE PE TXE RXRDY TXRDY TXRDY:发送准备好,一旦发送数据缓冲器空,则状态标志TXRDY置1。它与引脚TXRDY不同,引脚TXRDY要为高电平,必须有下列三个条件均满足,即发送数据缓冲器空,且操作命令字中TXEN=1,还要引脚 必须为低电平。在数据发送过程中,通常已使TXEN=1, 为低电平,所以TXRDY状态位和TXRDY引脚信号总是相同的,若用查询方式,CPU可查询TXRDY状态,若用中断方式,可用TXRDY引脚向CPU发出中断请求信号。状态位RXRDY、TXE、SYNDET/BRKDET以及DSR的定义与其相应的引脚定义相同。 PE:奇偶出错标志,若奇偶出错,PE置1; OE:溢出出错标志,若溢出出错,OE置1; FE:帧出错标志,若帧出错,FE置1。 以上三个出错标志置1,均不禁止8251A工作,且均可用操作命令字中的ER置1(软件复位)来清零。 CPU可在任意时刻用IN指令读8251A状态字。 8251A在硬件(RESET)或软件(操作命令字中的ER置1)复位后,处于接收方式选择控制字状态。CPU写入方式选择控制字到8251A后,(若在同步方式,还需同步字符)任何时候CPU都可以写入操作命令字到8251A,写入操作命令字后,8251A均要检查IR位,判别是否IR=1,若IR=1,8251A又重新回到设置方式选择控制字状态。 8251A的方式选择控制字和操作命令字均无特征位标志,且都是送到同一控制口地址( =0,C/ =1),所以在向8251A写入方式选择控制字和操作命令字时,必须按一定的顺序,这种顺序是: 图5 8251初始化编程的流程图(六)中断传送方式的原理 为了提高CPU的效率和使系统有实时性能,可以采用中断传送方式。在中断传送方式下,外设具有申请CPU服务的主动权,当输入设备将数据准备好或者输出设备可以接收数据时,便可以向CPU发出中断请求,使CPU暂时停下目前的工作而和外设进行一次数据传输。等输入操作或者输出造作完成以后,CPU继续进行原来的工作。 当外设准备好一个数据供输入时,便发一个选通信号,从而使信号打入接口的锁存器中,并使中断请求触发器置1,此时,如果中断屏蔽触发器Q端的值为1,则产生一个向CPU的中断请求信号INT,中断屏蔽触发器的状态为1还是为0决定了是否允许本接口发出中断请求。 CPU接收到中断请求信号以后,如果中断允许触发器状态为1,则在当前指令被执行完后,响应中断,中断允许触发器在CPU内部,它的状态决定了当前CPU是否可以响应可屏蔽中断。 INTEL系列微处理器的中断引脚有两个,一个标为NMI,另一个则标为INTR,从NMI引入的为非屏蔽中断,它对应于中断类型2;CPU一收到非屏蔽中断请求,不管中断允许标志IF是否为1,总是立刻进入非屏蔽中断处理子程序。INTR引脚上进入的中断请求信号是可以被标志IF所屏蔽的,所以称为可屏蔽中断,如果标志IF为0,则从INTR引脚进入的中断请求得不到响应,只有当IF为1时,CPU才会通过INTR引脚往接口电路送两个负脉冲作为回答信号,中断接口电路接收到INTR信号后将中断向量发送到数据总线,同时清除中断请求触发器的请求信号。CPU根据中断向量找到中断处理子程序的入口地址,从而进入中断处理子程序。中断处理子程序中除了包含输入指令或输出指令用以完成数据传输外,前后分别有保存通用寄存器内容和恢复通用寄存器内容的指令。当执行完中断处理子程序后,CPU返回断点处继续执行刚才被中断了的程序。(七)程序流程图图6 甲机发送程序流程图图7 乙机接收程序流程图(八)程序清单号机接收程序 号机发送程序 地址(H) 注释 地址(H) 注释 2000 MOV AL,76 ;初始化8253通道1 2000 MOV AL,76 ;初始化8253通道1 2002 OUT 43,AL 2002 OUT 43,AL 2004 MOV AL,30 2004 MOV AL,30 2006 OUT 41,AL 2006 OUT 41,AL 2008 MOV AL,00 2008 MOV AL,00 200A OUT 41,AL 200A OUT 41,AL 200C CLI ;关中断 200C CALL 2033 200D CALL 204A 200F CALL 2053 2010 CALL 206A 2012 MOV AL,7A ;8251方式控制字 2013 MOV AL,7A ;8251方式控制字 2014 OUT C1,AL 2015 OUT C1,AL 2016 CALL 2053 2017 CALL 206A 2019 MOV AL,34 201A MOV AL,34 ;操作命令字允许接收 201B OUT C1,AL 201C OUT C1,AL 201D CALL 2053 201E CALL 206A 2020 MOV DI,3000;发送缓冲区首址 2021 MOV AX,0152 ;显示R 2023 MOV CX,000A;发送字符个数 2024 INT 10 2026 MOV AL,BDI 2026 MOV DI,3000 ;接收缓冲区首址 2028 CALL 205D 2029 M0V CX,000A 202B CALL 2053 202C IN AL,C1 ;读8251状态口 202E INC DI 202E AND AL,02 202F LOOP 2026 2030 JE 202C ;RXRDY=0,等待 2031 JMP 2031 2032 IN AL,C0 ;RXRDY=1,输入字符 2033 MOV AL,00 2034 AND AL,7F ;屏蔽校验位 2035 OUT C1,AL 2036 MOV BDI,AL;字符送目的单元 2037 CALL 2053 2038 INC DI 203A OUT C1,AL 2039 LOOP 202C ;未接收完,循环 203C CALL 2053 203B MOV AL,00 ;字符串结束标志 203F OUT C1, AL 203D MOV 300A,AL 2041 CALL 2053 2040 MOV AH,06 ;显示3000-3009 2044 OUT C1,AL 单元内容 2042 MOV BX,3000 2046 CALL 2053 2045 INT 10 2049 OUT C0,AL 2047 STI 204B CALL 2053 2048 JMP 2048 204E MOV AL,40 ;软件复位 204A MOV AL,00 2050 OUT C1,AL 204C OUT C1,AL 2052 RET 204E CALL 206A 2053 PUSH CX ;延时程序 2051 OUT C1,AL 2054 MOV CX,3000 2053 CALL 206A 2057 PUSH AX 2056 OUT C1,AL 2058 POP AX 2058 CALL 206A 2059 LOOP 2057 205B OUT C0,AL 205B POP CX 205D CALL 206A 205C RET 2060 OUT C0,AL 205D PUSH AX ;发送字符子程序 2062 CALL 206A 205E M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业互联网平台网络隔离技术安全防护体系构建与实施报告
- 2025年工业互联网平台量子通信技术网络安全预研分析
- 2025年城市轨道交通智慧运维系统在智能调度与优化中的应用报告
- 2025年REACH 250项高度关注物质SVHC清单第34批
- 2025年注册环保工程师考试环境规划与评价冲刺试卷
- 2025年经济师考试押题 经济法规与政策应用专项训练
- 2025年德语考试试卷 阅读理解专项冲刺
- 2025年小学数学毕业升学考试易错题型精准复习模拟试卷
- 吉林省吉林市丰满区第五十五中学2026届高一化学第一学期期末学业水平测试模拟试题含解析
- 测量监理员岗位职责
- 厨房4D管理课件下载
- 建筑工地实名制管理
- 铜陵维修基金管理办法
- 心脏起搏器植入术超声评估要点
- 外聘律师管理办法范本
- 文物保护专项工程文明施工保证体系及措施
- 2025至2030临床前CRO治疗行业发展趋势分析与未来投资战略咨询研究报告
- 2025年中国数据库市场研究报告
- 中国卢沟桥课件
- 酒精戒断综合症治疗方案讲课件
- 爱护桌椅班会课件
评论
0/150
提交评论