- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
六、 微机与单片机之间的通讯 微机与单片机串行通信接口 1、使用MC1488、MC1489 实现 微机RS232C负逻辑电平 与单片机的CMOS电平之间的转换 2、使用MAX232实现: 微机RS232C负逻辑电平 与单片机的CMOS电平之间的转换 一、通信通道的典型结构 多机系统的通信通道 8.6 通信通道接口标准及其选择 简单的RS-232C数据通讯 二、关于RS-232C、RS-422、RS-423和RS-485接口 1.RS-232C接口 通过电话网实现远程连接 引脚号 符号 名称 说明 1 PGND 保护地 为了安全和大地相连,有时可不接 2 TXD 发送数据 从DTE到DCE的数据线 3 RXD 接收数据 从DCE到DTE的数据线 4 RTS 请求发送 当DTE希望在数据线上传递数据时由DTE发出,DCE通过所得到的控制信号决定是否响应 5 CTS 允许发送 允许计算机发送数据时,则由DCE发出 6 DSR 数字置位就绪 当数据线已被接好后由DCE发出 7 SGND 信号地 作为信号地的公共回路 8 DCD 数据载波检测 当DCE已经从数据线上接收到信号时发出此信号 20 DTR 数字终端就绪 当DTE已准备好和调制解调器交换数据时,由DTE发出,使用公共通信网时才需要 22 RI 振铃指示 当正在进行通信时,由DCE发出,使用公共通信网时才需要 微机中常用的RS-232C接口信号 2.RS-232C、RS-422、RS-423和RS-485接口 特性参数 RS-232C RS-423 RS-422 RS-485 工作模式 单端发 单端收 单端发 双端收 双端发 双端收 双端发 双端收 在传输线上允许的驱动器和接收器数目 1个驱动器 1个接收器 1个驱动器 10个接收器 1个驱动器 10个接收器 32个驱动器 32个接收器 最大电缆长度 15m 1200m (1kb/s) 1200m (90kb/s) 1200m (100kb/s) 最大速率 20kb/s 100kb/s (12m) 10Mb/s (12m) 10Mb/s (15m) 驱动器输出(最大电压) ±25V ±6V ±6V -7V~+12V 驱动器输出 (信号电平) ±5V(带负载) ±15V(未带负载 ±3.6V(带负载) ±6V(未带负载) ±2V(带负载) ±6V(未带负载) ±1.5V(带负载) ±5V(末带负载) 驱动器负载阻抗 3kΩ~7kΩ 450Ω 100Ω 54Ω 驱动器电源开路电流 (高阻抗态) Vmax/300Ω (开路) ±100μA(开路) ±100μA(开路) ±100μA(开路) 接收器输入电压范围 ±15V ±10V ±12V -7V~+12V 接收器输入灵敏度 ±3V ±200mV ±200mV ±200mV 接收器输入阻抗 2kΩ~7kΩ 4kΩmin 4kΩmin 12kΩmin 二、 方式1与点对点的异步通讯 在下面给出的实现指定功能的通讯程序中,发送和接收都通过调用子程序来完成,并设发送数据区的首地址为20H,接收数据区的首地址为40H。 主程序: ? MOV TMOD,#20H ;定时器1设为方式2 ? MOV TL, #0F3H ;定时器初值 ? MOV TH1, #0F3H ;8位重装值 ? SETB TR1 ;启动定时器1 ? MOV SCON,#50H ;串行口设为方式1,REN=1 ? MOV R0, #20H ;发送数据区首址 ? MOV R1, #40H ;接收数据区首址 ? ACALL SOUT ;输出一个字符 SJMP $ ;等待中断 中断服务程序: ? ? ORG 0023H ;串行口中断入口 JNB RI,SEND ;TI=1,为发送中断 ? ACALL SIN ;RI=1,为接收中断 ? SJMP NEXT ;转至统一的出口 SEND: ACALL SOUT ;调用发送子程序 NEXT: RETI ;中断返回 发送子程序: SOUT: MOV A,@R0 ;取发送数据到A ? MOV C,P ;加上奇校验位 ? CPL C ? ? MOV ACC.7,C ? ? INC R0 ;修改发送数据指针 ? MOV SBUF,A ;发送ASCII码 ? CLR TI ;清发送中断标志 ? RET ? ? SIN: MOV A,SBUF ;读出接收缓冲区内容 ?
文档评论(0)