基于485总线的pc机与多片单片机的通信_毕业设计(编辑修改稿)内容摘要:
B8:接收到的数据的第 9 位。 在方式 0 中不使用 RB8。 在方式 1 中,若( SM2)=0, RB8 为接收到的停止位。 在方式 2 或方式 3 中, RB8 为接收到的第 9 位数据。 TI:发送中 断标志。 在方式 0 中,第 8 位发送结束时,由硬件置位。 在其它方式的发送停止位前,由硬件置位。 TI 置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。 TI 必须用软件清 0。 RI:接收中断标志位。 在方式 0,当接收完第 8 位数据后,由硬件置位。 在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于 SM2 的说明)。 RI 置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。 RI 也必须用软件清 0。 1. 方式 0 在方式 0 下, 串行口的 SBUF 是作为同步的移位寄存器用的。 在串行口发送时,“ SBUF(发送)”相当于一个并入串出的移位寄存器,由 MCS51的 内部总线并行接收 8 位数据,并从 TxD 线串行输出, 此时是在 TI=0 下进行的CPU 通过指令给 “ SBUF(发送)” 送出发送字符后, RxD 线上即可发出 8 位数据,8 位数据发送完后 TI 由硬件置位,并可向 CPU 请求中断, CPU 响应中断后先用软件使 TI 清零 ,然后再给 “ SBUF(发送)” 送下一帧的数据。 在接收 操作时, “ SBUF( 接收 )” 相当于一个串入并出的移位寄存器,从 RxD线接收一帧串行数据并 把它并行的送入内部总线,此时 RI=0 且 REN=1,接收电路接收到 8 位数据后, RI 自动置 1 并发出串行口中断请求, CPU 响应后 RI 由软件复位。 2. 方式 1 在 方式 1 下,串行口设定为 10 位异步通信方式,字符帧中除 8 位数据外,还武汉工程大学 邮电与信息工程学院 毕业设计(论文) 14 可有一位起始位和一位停止位。 发送操作时, TI=0,执行指令后,发送电路就自动在 8 位发送字符前后分别添加 一位起始位和一位停止位 ,并在移动脉冲作用下在 TxD 线上依次发送一帧信息,发送完后自动维持 TxD 线高电平。 TI 也由硬件在发送停止位时置位,并由软件将它复位。 接收操作时 , RI=0 且 REN=1,接收电路对高电平的 RxD 线采样,当接收电路连续 8 次采样到 RxD 线为低电平时,相应的检测器便可确认 RxD 线上有了起始位 ,在接收数据第 9 位时,当 RI=0 和 SM2=0 或接收到的停止位为 1,才能把接收到的 8 位字符存入 “ SBUF( 接收 )” 中,把停止位送入 RB8, 并使 RI=1 和发出串行口中断请求,若上述条件不满足,则数据被舍去。 3. 方式 2 和方式 3 方式 2 和方式 3 都是 11 位异步收发。 两者的差异仅在于通信波特率有所不同方式 2 的波特率由 MCS51 主频 fosc经 32 或 64 分频后提供;方式 3 的波特率有定时器 T1 或 T2 的溢出率经 32 分频后提供,故它的波特率是可调的。 方式 2 和方式 3 的发送过程 和接收过程 类似于方式 1,只是在发送数据第 9 位时,将之预先装入 SCON 的 TB8 中,而第 9 位可由用户自定义。 一帧数据发送完后, TI=1, CPU 便可通过查询 TI 来以同样方法发送下一个字符帧。 方式 2 和方式 3 的接收过程也和方式 1 类似。 所不同的是:方式 1 时 RB8 中存放的是停止位, 方式 2 和方式 3 时 RB8 中存放的是数据第 9 位。 因此, 方式 2 和方式 3 时必须满足接收有效字符的条件变为: RI=0 和 SM2=0 或者收到的第 9 位为 1,只有上述条件同时满足时接 收到的字符才能送入 SBUF,第 9 位数据位才能装入 RB8 中,并使 RI=1。 电源控制寄存器 PCON 中只有一位 SMOD 与串行口工作有关,它的位格式为 图39 所示 : 图 39 电源控制寄存器 PCON SMOD:波特率倍增位。 串行口工作在方式 方式 方式 3 时,若 SMOD=1,武汉工程大学 邮电与信息工程学院 毕业设计(论文) 15 则波特率提高一倍;若 SMOD=0,则波特率不提高一倍。 (二 ) 串行口的通信波特率 串行口的通信波特率恰好反映串行口传输数据的速率。 通信波特率的选用,不仅和所选通信设备、传输距离有关,还受传输线状况所制约。 波特率设计 方式 0 的波 特率 工作方式 0 时,移位脉冲由机器周期的第 6 个状态周期 S6 给出,每个机器周期产生一个移位脉冲,发送或接收一位数据。 因此,波特率是固定的,为振荡频率的 1/12,不受 PCON 寄存器中 SMOD 的影响。 用公式表示为: 工作方式 0 的波特率 =fosc/12 (式 ) 方式 2 的波特率 工作方式 2 时,移位脉冲由振荡频率 fosc 的第二节拍 P2 时钟(即 fosc/2)给出,所以,方式 2 波特率取决于 PCON 中的 SMOD 位的值,当 SMOD=0 时,波特率 为 fosc 的 1/64;当 SMOD=1 时,波特率为 fosc 的 1/32,用公式表示为; 工作方式 2 波特率 =( 2SMOD/64) fosc (式 ) 工作方式 1 和方式 3 的波特率 在这两种方式下,串行口波特率是由定时器的溢出率决定的,因而波特率也是可变的。 相应公式为: 波特率 =( 2SMOD/32) *定时器 T1 溢出率 (式 ) 定时器 T1 溢出率 =( fosc/12) * [1/( 2k 初值) ] (式 ) 实际上定时器 T1 通常采用方式 2,因为定时器 T1 在方式 2 下工作, TH1 和 TL1分别设定为两个 8 位重装计数器。 表 31 固定波特率与寄存器状态 波特率 fosc SMOD 定时器 T1 C/T 所选方式 相应初值 武汉工程大学 邮电与信息工程学院 毕业设计(论文) 16 串行口方式 0 6Mhz * * * * 串行口方式 2 6Mhz 1 * * * 方式 1 或 3 6Mhz 1 0 2 FEH 6Mhz 1 0 2 FDH 6Mhz 0 0 2 FDH 6Mhz 0 0 2 FAH 6Mhz 0 0 2 F4H 6Mhz 0 0 2 E8H 110 6Mhz 0 0 2 72H 55 6Mhz 0 0 2 FEEBH (三 ) 串口工作方式 3 的发送接收时序 串口工作方式 3 的发送、接收时序如图 311 所示。 图 311 发送接收时序图 串行接口及其 电平 转换电路 武汉工程大学 邮电与信息工程学院 毕业设计(论文) 17 串行接口 RS232 结构与 引脚 功能 RS232 是个人计算机上的 通信接口 之一,由 电子工业协 会 (Electronic Industries Association, EIA) 所制定的异步传输标准接口。 通常 RS232 接口以 9 个引脚 (DB9) 或是 25个引脚 (DB25) 的型态出现 如图 312 所示。 (这里我们运用 DB9,其针孔意义如图 313 所示 ) 在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。 RS232 标准规定的数据传输速率为每秒 150、 300、 600、 1200、 2400、4800、 9600、 19200 波特。 RS232 标准规定,驱动器允许有 2500pF 的电容负载,通信距离将受此电容限制,例如,采用 150pF/m 的通信电缆时,最大通信距离为 15m;若每米电缆的电容量减小,通信距离可以增加。 传输距离短的另一原因是RS232 属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于 15m 以内的通信。 同时 RS232 是点对点(即只用一对收、发设备)的通信,因此 PC 机无法直接对多个下位机进行远距离通信。 图 312 9 针、 25 针接口 图 313 9 针管脚意义 RS232 的 电器特性、 逻辑电平 和各种信号线功能 的 规定。 在 TxD 和 RxD 上: 逻辑 1: 3V ~ 15V 武汉工程大学 邮电与信息工程学院 毕业设计(论文) 18 逻辑 0: +3V~ +15V 发送数 据 (TxD)—— 通过 TxD 终端将串 行数据发送 到 MODEM,(DTE→DCE)。 接收数据 (RxD)—— 通过 RxD 线终端接收从 MODEM 发来的串行数据,(DCE→DTE)。 以上规定说明了 RS232 标准对逻辑电平的定义。 对于数据(信息码):逻辑 “1”的电平低于 3V,逻辑 “0”的电平高于 +3V。 也就是当传输电平的绝对值大于 3V 时,电路可以有效地检查出来,介于 3~ +3V 之间的电压无意义,低于 15V 或高于 +15V 的电压也认为无意义,因此,实际工作时,应保证电平在 177。 (3~ 15)V 之间。 RS232 与 TTL 转换: RS232 是用正负电压来表示逻辑状态,与 TTL 以高低电平表示逻辑状态的规定不同。 因此,为了能够同计算机接口或终端的 TTL 器件连接,必须在 EIA RS232C 与 TTL电路之间进行电平和逻辑关系的变换。 实现这种变换的方法可用分立元件,也可用集成电路芯片。 今使用 MAX3162 芯片以实现电平间的转换。 RS485 接口的通信原理 图 314 MAX485 引脚图 在图 314 中显示出了 RS485 的引脚图。 RS485 采用差分信号负逻辑,+ 2V~+ 6V表示 “0”, 6V~ 2V 表示 “1”。 RS485 有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接 32 个结点。 在 RS485 通信网络中一般采用的是主从通信方式,即一个主机带多个从机。 很多情况下,连接 RS485 通信链路时只是简单地用一对双绞线将各个接口的 “A”、 “B”端连接起来。 武汉工程大学 邮电与信息工程学院 毕业设计(论文) 19 图 315 两线制总线拓扑 式 结构 与 RS232 相比较 RS485 有以下几个特点: 1. RS485 的电气特性:逻辑 “1”以两线间的电压差为 +( 2—6) V 表示;逻辑 “0”以两线间的电压差为 ( 2—6) V 表示。 接口信号电平比 RS232C降低了,就不易损坏接口电路的芯片, 且该电平与 TTL 电平兼容,可方便与 TTL 电路连接。 2. RS485 的数据最高传输速率为 10Mbps 3. RS485 接口是采用平衡驱动器和差分接收器的组合,抗共模干能 力增强,即抗噪声干扰性好。 4. RS485 最大的通信距离约为 1219M,最大传输速率为 10Mb/S,传输速率与传输距离成反比,在 100Kb/S 的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加 485 中继器。 RS485 总线一般最大支持 32 个节点,如果使用特制的 485 芯片,可以达到 128 个或者 256个节点,最大的可以支持到 400 个节点。 因 RS485 接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。 由于 RS485 接口组成的半双工网络,一般 只需二根连线,所以 RS485 接口均采用屏蔽双绞线传输。 MAX3162E 电平转换芯片 由于 PC 机默认的只带有 RS232 接口,有 一 种方法可以得到 PC 上位机的 RS485 电路 即 通过 RS232/RS485 转换 芯片 将 PC 机串口 RS232 信号转RS485 RS485 RS485 从单片 机 1 从单片 机 2 从单片 机 32 主单片机机 武汉工程大学 邮电与信息工程学院 毕业设计(论文) 20 图 316 RS232/RS485协议转换接口电路 换成 RS485 信号, 即 采用 MAXIM 公司生产的 MAX3162E 协议转换接口芯片,实现 RS232 与 RS485 协议转换的接口电路。 MAX3162E 功能分为四部分:⑴两路 RS232 电平信号到 TTL 电平信号的转换( 19 脚- 10 脚、 20 脚- 9 脚, 15 脚为使能端);⑵两路 TTL 电。基于485总线的pc机与多片单片机的通信_毕业设计(编辑修改稿)
相关推荐
ELC U O R L VD基于 51 单片机的开关稳压电源设计 6 控制方法及实现方案 主电路确定之后,为了配合主电路完成整个运行,需要控制电路进行辅助,这样系统才能正常工作。 因此,还需要选择一个合理的控制方案。 方案一: 利用 PWM 专用芯片产生 PWM 控制信号。 这种办法容易实现, 工作也比较稳定,但不容易实现输出电压的键盘设定和步进调整,很难实现设计中的这一要求。 方案二
MOVX @DPTR,A CALL DEL500 RL A MOV R1,A DJNZ R2,LOOP1 AJMP KEY1 GO2: START2:MOV R1,00000001B MOV R2,08 LOOP2:MOV A,R1 MOV P0,A MOV DPTR,7FFFH MOVX @DPTR,A CALL DEL200 RL A MOV R1,A DJNZ R2,LOOP2 AJMP
a)。 LcdWriteData(39。 039。 +datas1[0])。 LcdWriteCom(0x8b)。 LcdWriteData(39。 039。 +datas1[1])。 LcdWriteCom(0x8c)。 LcdWriteData(39。 039。 +datas1[2])。 if(tl 0) { 14 LcdWriteCom(0x90)。 LcdWriteData(39。 39
选择 FFD4x4x4 命令,调节控制点,得到所要的效果。 单击“创建” — “几何体”按钮,再单击“标准几何体”下拉 列表框中的“扩展几何体”命令。 单击“切角长方体”按钮,在顶视图中拖出一个倒角长方体。 ( 4)单击“修改”命令按钮下的下拉列表框,从弹出的下拉列表中选择 FFD4x4x4命令,单击修改堆栈中的“控制点”,在视图中将控制表进行调节,最终达到所要的效果。
略表的设计 求职攻略表 用于存储发布的求职攻略, 方便求职者用户获取最新求职攻略,包括标题、内容。 求职攻略表结构说明如表 49所示。 表 49 求职攻略表 字段名 类型 允许为空 是否主键 字段说明 编号 int 否 是 编号 标题 varchar(50) 否 否 标题 内容 varchar(MAX) 否 否 内容 发布时间 datetime 否 否 发布时间 修改时间 datetime 否
Int(8) Varchar(25) Char(20) Varchar(50) Char( 40) 不能重复,不允许为 Null 能重复,允许为 Null 能重复,不允许为 Null 能重复,不允许为 Null 可重复,允许为 Null 主键 存储老师编号 用于储存 老师姓名 用于存储 老师年龄 用于存储老师教学科目 存储老师所在院系 5 系统编程开发 高校教学 管理系统使用目前 ASP