基于串口通信的字符终端的设计(编辑修改稿)内容摘要:
机串口调试软件的接收缓冲区内将显示“display OK。 ”等字样。 串口通信原理 所谓 串行通信 是指外设和计算机间使用一根数据信号线 ,数据在一根数据信号线上按位进行传输,每一位数据都占据一个固定的时间长度。 这种通信方式西北工业大学明德学院本科毕业设计论文 6 使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。 相比之下,由于高速率的要求,处于计算机内部的 CPU 与串口之间的通讯仍然采用并行的通讯方式,所以串行口的本质就是实现 CPU 与外围数据设备的数据格式转换(或者称为串并转换器),即当数据从外围设备输入计算机时,数据格式由位 (bit)转化为字节数据; 反之,当计算机发送下行数据到外围设备时,串口又将字节数据转化为位数据。 串行端口的本质功能是作为 CPU和串行设备间的编码转换器。 当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。 在接收数据时,串行的位被转换为字节数据。 在 Windows 环境( Windows NT、 Win9 Windows2020)下,串口是系统资源的一部分。 应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。 串口通信的概念非常简 单,串口按位( bit)发送和接收字节。 尽管比按字节( byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。 它很简单并且能够实现远距离通信。 比如 IEEE488 定义并行通行状态时,规定设备线总常不得超过 20 米,并且任意两个设备间的长度不得超过2 米;而对于串口而言,长度可达 1200 米。 典型的串口用于 ASCII 码字符的传输。 通信使用 3 根线完成:( 1)地线,( 2)发送,( 3)接收。 由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。 其他线用于握手,但是不是 必须的。 串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。 对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。 它表示每秒钟传送的 bit 的个数。 例如 300 波特表示每秒钟发送 300 个 bit。 当我们提到时钟周期时,我们就是指波特率例如如果协议需要 4800 波特率,那么时钟是 4800Hz。 这意味着串口通信在数据线上的采样率为 4800Hz。 通常电话线的波特率为 14400, 28800 和 36600。 波特率可以远远大于这些值,但是波特率和距离成反比。 高波特率常常用于放置的很近的仪器间的 通信,典型的例子就是 GPIB 设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。 当计算机发送一个信息包,西北工业大学明德学院本科毕业设计论文 7 实际的数据不会是 8 位的,标准的值是 7 和 8 位。 如何设置取决于你想传送的信息。 比如,标准的 ASCII 码是 0~ 127( 7 位)。 扩展的 ASCII 码是 0~ 255( 8 位)。 如果数据使用简单的文本(标准 ASCII 码),那么每个数据包使用 7 位数据。 每个包是指一个字节,包括开始 /停止位,数据位和奇偶校验位。 由于实际数据位取决于通信协议的选取,术语 “包 ”指任何通信的情况。 c,停止位:用 于表示单个包的最后一位。 典型的值为 1, 和 2 位。 由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。 因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。 适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 d,奇偶校验位:在串口通信中一种简单的检错方式。 有四种检错方式:偶、奇、高和低。 当然没有校验位也是可以的。 对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇 个逻辑高位。 例如,如果数据是 011,那么对于偶校验,校验位为 0,保证逻辑高的位数是偶数个。 如果是奇校验,校验位位 1,这样就有 3 个逻辑高位。 高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。 这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。 西北工业大学明德学院本科毕业设计论文 8 第二章 系统设计 硬件方案选择 单片机的选择 本设计采用的是 AT89S52 单片机, AT89S52 是一种带 8K 字节闪存可编程可擦除只读存储器( FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。 它是一种高效微控制器,因为它更经济实惠,用起来灵活方便,而且习惯了用这种型号的单片机,所以选择 AT89S52 单片机。 电平转换 本设计采用 MAX232 芯片进行电平转换, MAX232 芯片是美信公司专门为电脑的 RS232 标准串口设计的接口电路 ,使用 +5V 单电源供电,它的作用就是 完成 TTL 电平与 RS232 电平的转换。 PC 机的串行口采用的是标准的 RS 232 接口,单片机的串行口电平是 TTL 电 平,而 TTL 电平特性与 RS 232 的电气特性不匹配,因此为了使单片机的串行口能与 RS 232 接口通信,必须将串行口的输入 /输出电平进行转换。 通常用 MAX232 芯片来完成电平转 换。 单片机与 pc 机通信原理 MCS51 单片机有一个全双工的串行通讯口 UART。 利用其 RXD 和 TXD 与外界进行通信,其内部有 2 个物理上完全独立的接收、发送缓冲器 SBUF,可同时发送和接收数据。 所以单片机和 PC 机之间可以方便地进行串口通讯。 单片机串口有 3 条引线: TXD(发送数据 )、 RXD(接收数据 )和 GND(信号地 )。 因此在通信距离较短时可采用零 MO DEM 方式,简单三连线结构。 PC 机有两个标准的 RS. 232 串行口,其电平采用的是 EIA 电平,而 MCS51 单片机的串行通信是由 TXD(发送数据 )和西北工业大学明德学院本科毕业设计论文 9 RXD(接收数据 )来进行全双工通信的,它们的电平是 TTL 电平;为了 Pc 机与MCS51 机之间能可靠地进行串行通信,需要用电平转换芯片,我们采用了MAXIM 公司生产的专用芯片 MAX232 进行转换。 电路如图所示。 图 MAX232工作原理图 软件方案选择 PC 机编程方案选择 本设计采用 ++来实现 编程,上位机与单片机进行通信的程序编写可用VB、 VC等软件。 由于 VB作为面向对象的编程工具不够完全,效率比 VC低,提供的命令语言环境较弱,通过串口设备一次最多只能交换 16B的数据,对较大数据量的传输存在很大的局限性,很难实现较为复杂的数据处理, ++是一种功能强大的面向对象的 Windows编程开发平台。 ,占用资源少,操作方便。 所以本设计采用 VC作为串口编程工具。 单片机编程方案选择 本设计单片机的编程选择 C 语言编写,因为它 简洁紧凑、灵活方便、运算符丰富、数据结构 丰富、 C 是结构式语言、 C 语法限制不太严格,程序设计自由度大、 C 语言允许直接访问物理地址,可以直接对硬件进行操作、 C 语言程序生成代码质量高,程序执行效率高,一般只比汇编程序生成的目标代码效率低 10へ 20%、 C 语言适用范围大,可移植性好 C 语言有一个突出的优点就是适合于西北工业大学明德学院本科毕业设计论文 10 多种操作系统 , 如 DOS、 UNIX,也适用于多种机型。 C 语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。 所以我选用 C 语言来编写此程序。 总体方案选择 温度传感器测量出 来的温度值由单片机采集出来,然后单片机再将采集出的温度数据处理后,通过串行口发送给上位机。 图 系统 总体 设计思路 本文要求设计一个 51 单片机与 PC 串口间通讯系统 的字符终端显示 ,实现单片机与 PC 机之间的远程通信。 设计分发送和接收两大模块,发送部分通过硬件电路的引用。 其中包括 RS232 接口电路、 MAX232 接口电路,引用相应的管脚相连,并将相应的软件程序转入电路中,即可运行。 当电路是相对独立时,可直接调速电路参数值,其影响和干扰就小。 在满足发射和接收模块的要 求后可单独对控制进行调整,程序的编入,接收部分相应的结果即以实现,因此实现了PC 机对远端单片机的控制。 利用 vc++编写上位机数据发送接收软件,作为给单片机发送数据或接收单片机发送数据的软件。 用单片机设计好硬件电路,给单片机进行编程,从而是单片机能够接收 pc 机传送来的数据,并通过 lcd1602 液晶 显示出来从而达到设计要求。 AT89C5111 MAX232 PC机 西北工业大学明德学院本科毕业设计论文 11 第三章 单元硬件电路设计 硬件实现的过程 在实现单片机与 PC 机之间通信或单片机与单片机之间远程距离通信时通常采用标准串行总线通讯接口。 比如 RS232C、 RS42 RS485 等。 在这些串行总线接口标准中,是在异步串行通信中应用最广的标准总线,它实用于短距离或带调制解调器的通信场合。 下面以 RS232 标准串行总线接口为例,简单介绍单片机与 PC 机之间串行通信的硬件实现过程。 单片机主要特性 与 MCS51 兼容 4K字节可编程闪烁存储器 寿命: 1000写 /擦循环 数据保留时间: 10年 全静态工作: 0Hz24MHz 三级程序存储器锁定 1288位内部 RAM 32可编程 I/O线 两个 16位定时器 /计数 器 5 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 单片机 AT89C51的引脚说明: 西北工业大学明德学院本科毕业设计论文 12 图 AT89C51 的引脚排列 引脚描述: VCC:电源电压 GND:地 P0 口: P0 口是一组 8 位漏极开路双向 I/O 口,即地址 /数据总线复用口。 作为输出口时,每一个管脚都能够驱动 8 个 TTL 电路。 当 “1”被写入 P0 口时,每个管脚都能够作为高阻抗输入端。 P0 口还能够在访问外部数据存储器或程序存储器时,转换地址和 数据总线复用,并在这时激活内部的上拉电阻。 P0 口在闪烁编程时, P0 口接收指令,在程序校验时,输出指令,需要接电阻。 P1 口: P1 口一个带内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级可驱动 4 个 TTL 电路。 对端口写 “1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。 因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。 闪烁编程时和程序校验时, P1 口接收低 8 位地址。 P2 口: P2 口是一个内部带有上拉电阻的 8 位双向 I/O 口, P2 的输出缓冲级可驱动 4 个 TTL 电路。 对端口写 “1”,通过内部的电阻把端口拉到高电 平,此时,可作为输入口。 因为内部有电阻,某个引脚被外部信号拉低时会输出一个电流。 在访问外部程序存储器或 16 位地址的外部数据存储器时, P2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器时, P2 口线上的内容在整个运行期间不变。 闪烁编程或校验时, P2 口接收高位地址和其它控制信号。 西北工业大学明德学院本科毕业设计论文 13 P3 口: P3 口是一组带有内部电阻的 8 位双向 I/O 口, P3 口输出缓冲故可。基于串口通信的字符终端的设计(编辑修改稿)
相关推荐
哈尔滨理工大学学士学位论文 7 纹理特征、小波变换和自回归纹理模型等。 物体的形状是图像的另一重要特征,它可以分为基于边界或轮廓的形状描述和基于区域的形状特征两种。 前者的典型描述子有傅里叶描述子、小波形状描述子和 Delaunay 三角剖分法等。 其中傅里叶描述子性能最佳,它以边界的傅里叶 变换最为形状的特征描述。 后者的描述子主要为各种矩不变量,如 Hu 不变矩、 Legenda 矩、
的自动 恢复送电,且在短路保护的配合上可靠易行。 配电网潮流计算中以馈线作为基本单元。 在辐射网中每条馈线可看成一棵树,馈线与馈线之间除在树根处通过高压输电网相连外,若无回环则没有其它电气联系。 一条馈线内的负荷波动相对于一个大输电网来说可以忽略不计。 因此,可以认为馈线根节点的电压恒定,把它看成平衡节点,此节点电压值的大小由输电网潮流来决定。 给定馈线根节点电压及沿线各负荷点的负荷
32184U 1AL M 3 93 A DV C CC80. 1u FV C CV C CO U T 图 26 红外 对射 电路 如图 26 所示,红外线发射电路以时钟定时集成芯片 LM393AD 为核心 ,可以将模拟量转化为数字量。 LM393 是由两个独立的、高精度电压比较器组成的集成电路,失调电压低,最大为。 它专为获得宽电压范围、单电源供电而设计,也可以以双电源供电;而且无论电源电压大小
、作为城 市动态系统的重要组成部分,公共交通是城市发展过程中不可缺少的物质条件和基础产业,在城市的经济建设和社会生活中具有至关重要的作用。 早在1985 年,“中国技术政策”蓝皮书就明确提出“大力发展城市公共交通 ” ,的交通发展策略。 随着公共交通各项方针政策的贯彻实施和改革措施的逐步落实,城市公共交通才得以在困境中维系发展。 进入 90 年代,经济体制改革的深入,人民生活水平不断提高
盟。 截至目前,该联盟大约已有约 27 家成员企业,所有这些公司都参加了负责开发 ZigBee 协议物理层和媒体控制层技术标准的 工作组。 ZigBee 联盟负责开发网络层及以上的协议。 ZigBee 协议则比蓝牙技术、高速率个人区域网或 无线 局域网等技术更简单而实用。 ZigBee 使用的是 波段,采用了跳频技术,这和蓝牙技术相似,可以说是同族兄弟了。 但相比之下, ZigBee
坏也将在一定程度上决定着软件性能的好坏,因此,对软件系统做数据库设计是一个必不可少的过程 [9]。 逻辑设计 根据需求分析,本系统主要有用户 (学生),普通管理员(老师),超级管理员,新闻公告,留言板,教学视频,教学课件,试卷等多个实体。 为了更清楚地说明各个实体以及各实体间的关系,下面采用 ER 图来形象的表示: 管理模块 常州大学本科生毕业设计 (论文) 第 5 页 共 35 页 n 1 n