串行数据采集与传输
数据采集及传输处理解读
数据采集及传输处理摘要本文主要阐述了基于数字采集与传输处理系统的设计基本思想,包括硬件实现,应用软件实现以及驱动程序设计,同时也介绍了基于 MAX485数据传输系统。
硬件的主要组成部分为 AT89C51 ,ADC0809 ,MAX485 ,8155 ,LED 显示。
用软件编程控制硬件实现的过程:发送方的设备把模拟信息转换为数字信息后,发送到接收方的设备上。
接收设备利用 LED来显示数据。
使用的核心芯片是 AT89C51 ,这个芯片可以很好地满足我们的要求。
数据采集系统用来采集模拟数据,并将模拟数据存放于存储器中作以后发送用。
A/D 转换器将模拟形式转换为数字量表示。
使用 ADC0809 作为 A/D 转换器,它可以把连续的模拟信号转变成数字形式。
选用MAX485连接两台机器进行传递信息 . 软件编程的语言使用的是 C 语言,它的运行的环境是 keil 软件。
关键词: 单片机 AT89C51,ADC0809,MAX485,LE显D示 .AbstractThis article introduces the base method according to data collection and transmitting process system, including the hardware design, the application software design and the design of the program design, also introduces the data transmitting system according to the MAX485.The necessary hardware consists of AT89C5,1ADC0809,MAX485 ,8155,LED display.The process of the programme of software controlling hardware operation as follow: The device on the transmitting computer converts the analog signals to digital format and this digital format is transmitted to the receiving computer. The device on the receiving computer uses the information to driver LED display.The key chip we use is AT89C51. This chip can meet our need perfectly. Data acquisition system is used to acquire analog data and store it on storage devices for later transmitting. A/D converter converts an analog format into an equivalent digital representation. We use the ADC0809 as A/D converter, which is used to convert continuous analog signals into digital format. We choose the MAX485 as the device, which is used to connect two computers for transmitting information. The programme of software language is C language, which of operation is keil software.Key words: MCS-AT89C51, A/D converter, MAX485, LED display.目录摘要 . (I)Abstract . (II)1绪论 . (1)2数据发送端硬件 . (4)2.1ADC0809与AT89C51的硬件连接 . (4)2.1.1ADC0809 简介 (4)2.1.2启动端口的连接与工作原理 . (5)1.1.2输出端口的连接与工作原理 . (7)2.2晶振电路和复位电路 . (9)2.3AT89C51的数据传输 . (9)2.3.1AT89C51 的串行接口 (9)2.3.2MAX485 芯片 (11)3数据接收端硬件 . (14)3.18155 芯片结构和与 AT89C51的硬件连接 . (14)3.2AT89C51 对 8155I/O 口的控制命令 . (16)3.3七段 LED数码管硬件连接与工作原理 (17)3.4键盘的硬件连接与工作原理 . (19)3.5闪烁部分的连接与工作原理 . (20)4软件执行过程 (21)4.1发端软件执行过程 . (21)4.1.1AT89C51 和 ADC0809子程序工作过程 (21)4.1.274 汉明码的编码 (22)4.1.3收发数据的子程序工作过程 (23)4.2收端软件执行过程 (24)4.2.1收端主程序 (24)4.2.2按键子程序 (26)4.2.3显示子程序 (27)结论 . (28)致谢 . ...................................... 错误!未定义书签。
单片机 串口通信原理
单片机串口通信原理
单片机串口通信是指通过串行口进行数据的传输和接收。
串口通信原理是利用串行通信协议,将数据按照一定的格式进行传输和接收。
在单片机中,串口通信一般是通过UART(通用异步收发传输器)模块来实现的。
UART模块包括发送和接收两部分。
发送部分将数据从高位到低位逐位发送,接收部分则是将接收到的数据重新组装成完整的数据。
串口通信的原理是利用串行通信协议将发送的数据进行分帧传输。
在传输的过程中,数据被分成一个个的数据帧,每帧包括起始位、数据位、校验位和停止位。
起始位和停止位用于标识数据的开始和结束,数据位则是用来存放需要传输的数据。
校验位用于校验数据的正确性。
在发送端,单片机将需要发送的数据按照一定的格式组装成数据帧,然后通过UART发送出去。
在接收端,UART接收到的数据也是按照数据帧的格式进行解析,然后重新组装成完整的数据。
通过这样的方式,发送端和接收端可以进行数据的传输和接收。
串口通信具有简单、可靠性高、适应性强等优点,广泛应用于各种领域,如物联网、嵌入式系统等。
掌握串口通信原理对于单片机的应用开发具有重要意义。
串行通信的工作原理
串行通信的工作原理串行通信是一种在计算机或其他电子设备之间传输数据的方式,其工作原理是通过逐位地传输数据,从而实现数据的传输和通信。
串行通信与并行通信相比,具有传输速度较慢但传输距离较远、传输线数量较少的优势。
在串行通信中,数据以位的形式传输,即每次只传输一个位。
数据通过串行通信线路一个接一个地传输,按照一定的协议和规则进行传输。
串行通信的工作原理主要包括以下几个方面:1. 数据传输方式:串行通信通过一个传输线路逐位地传输数据,通常是通过串行通信线路传输数据。
数据在传输线路上传输时,会经过编码和调制处理,以确保数据传输的可靠性和准确性。
2. 数据传输速率:串行通信的数据传输速率通常以波特率(Baud rate)来衡量,波特率表示每秒传输的波特数,也可以理解为每秒传输的符号数。
波特率越高,数据传输速度越快。
3. 数据帧结构:在串行通信中,数据通常以数据帧的形式传输。
数据帧包括数据字段、校验字段、控制字段等,用于确保数据传输的正确性和完整性。
4. 数据传输协议:串行通信通常使用一定的数据传输协议,如UART(通用异步收发传输)协议、SPI(串行外设接口)协议、I2C(Inter-Integrated Circuit)协议等。
这些协议定义了数据传输的格式、时序、校验等规则,用于确保数据的可靠传输。
5. 数据传输方式:串行通信可以采用同步传输方式和异步传输方式。
同步传输方式需要发送方和接收方之间保持时钟同步,数据按照时钟信号进行传输;而异步传输方式则不需要时钟信号,数据的传输是根据数据帧的起始和停止位进行的。
总的来说,串行通信的工作原理是通过逐位传输数据,通过数据传输线路、数据传输方式、数据帧结构、数据传输协议等多个方面的配合,实现数据的传输和通信。
串行通信在计算机、通信、工业控制等领域广泛应用,是现代电子设备数据传输的重要方式。
单片机中串行通信的三种类型
单片机中串行通信的三种类型在单片机的世界里,串行通信就像一条小小的高速公路,将各种数据在不同的部件之间传递。
它的基本任务就是让不同的设备能够互相“聊天”,共享信息。
想象一下,如果没有串行通信,单片机和外设之间就像被厚厚的墙隔开了,彼此难以沟通。
因此,了解串行通信的三种主要类型非常重要。
下面,我们就来聊聊这些串行通信的类型吧!1. 异步串行通信1.1 什么是异步串行通信?异步串行通信,顾名思义,就是在数据传输的时候,双方并不需要保持同步。
说白了,就是两头在做各自的事情,偶尔通过约定的信号来“打招呼”。
就像你和朋友在微信上聊天,不需要时时刻刻保持在线,偶尔发个消息就行了。
1.2 异步串行通信的工作原理在这种通信方式中,数据被拆分成一串串的字节,每个字节都会被加上一个起始位和一个停止位。
起始位告诉接收方:“嘿,数据来了!”而停止位则是“这条消息完了!”的信号。
这就像在你发短信时,在开始和结束的时候都留个标记,让对方知道你的信息什么时候开始和结束。
1.3 异步串行通信的应用这种通信方式应用非常广泛,比如我们常用的UART(通用异步收发传输器)就属于这个类别。
UART在我们的生活中几乎无处不在,从电脑的串口到一些简单的传感器都用得上它。
2. 同步串行通信2.1 什么是同步串行通信?同步串行通信和异步串行通信有点像“有组织的队伍”,双方在数据传输的过程中要保持同步。
就是说,你发数据的时候,对方也要准备好接收数据,这就像排队一样,大家都得按顺序来。
2.2 同步串行通信的工作原理在同步通信中,除了数据本身,还需要一个额外的时钟信号来确保数据的准确传输。
可以把时钟信号看作是“指挥棒”,它帮助双方协调一致地进行数据传输。
想象一下在舞台上表演的舞者,大家都得跟着同一个节拍才能跳得整齐划一。
2.3 同步串行通信的应用同步串行通信的速度通常比异步串行通信快,因为它减少了数据传输过程中的额外开销。
常见的同步串行通信协议包括SPI(串行外设接口)和I2C(集成电路间接口)。
plc通信原理
plc通信原理PLC通信原理PLC(可编程逻辑控制器)是一种常用于自动化控制系统中的设备,它通过与其他设备进行通信来实现对工业过程的监控和控制。
PLC 通信原理是指PLC与其他设备之间进行数据交换和通信的工作原理。
一、PLC通信的基本原理PLC通信的基本原理是通过PLC与其他设备之间建立通信连接,在双方之间传输数据以实现信息的交换。
通信连接可以通过串行通信、以太网通信、无线通信等方式实现。
1. 串行通信串行通信是指通过串行接口将PLC与其他设备连接起来进行数据传输。
串行通信的特点是传输速度相对较慢,但可以实现较长距离的通信。
常用的串行通信协议有Modbus、Profibus等。
2. 以太网通信以太网通信是指通过以太网接口将PLC与其他设备连接起来进行数据传输。
以太网通信的特点是传输速度快,可以实现高速大容量的数据传输。
常用的以太网通信协议有Ethernet/IP、Profinet等。
3. 无线通信无线通信是指通过无线网络将PLC与其他设备连接起来进行数据传输。
无线通信的特点是可以实现设备之间的无线连接,方便设备的移动和布线。
常用的无线通信技术有Wi-Fi、蓝牙等。
二、PLC通信的工作流程PLC通信的工作流程可以简单分为数据采集、数据处理和数据传输三个步骤。
1. 数据采集数据采集是指PLC通过各种传感器和执行器对工业过程中的数据进行采集。
采集的数据可以包括温度、压力、流量、位置等各种参数。
PLC通过输入模块将采集到的数据转换成数字信号,以便进行后续处理和传输。
2. 数据处理数据处理是指PLC对采集到的数据进行逻辑运算和控制算法处理。
PLC可以根据预设的控制逻辑对采集到的数据进行判断和计算,并控制输出模块对执行器进行控制。
数据处理的结果可以用于监控工业过程的状态、控制设备的动作等。
3. 数据传输数据传输是指PLC将处理后的数据通过通信接口传输给其他设备。
PLC可以通过串行通信、以太网通信、无线通信等方式与其他设备进行数据交换。
基于串行通讯的数据采集装置及方法研究
接 口时 , 于特 定 的传输 线 路 , R4 5接 口到 负 载其 对 从 S8
数据 信 号传 输所 允 许 的最 大 电缆长 度 与信 号传 输 的波 “ ”一 V 2 0 ,6 ~一 V表 示“ ” S 8 1 。R 4 5有两线 制和 四线 制两 种 特 率成 反 比, 这个 长度数 据主 要是 受信 号失 真及 噪声等 接线, 四线制只 能实现 点对 点 的通 信方 式 , 很 少采用 , 现 现 在多采用 的是 两线 制接线 方式 , 这种 接线 方式 为总线
研究与探讨
广东建材 21 年第 6 01 期
基 于 串行 通讯 的数据 采集装 置及 方法研究
宋 延 伟 [ 州诚通金属公司 ( 广 原广 州 南 方 散 装 水 泥 公 司) ]
摘 要 :串行数据采集具有成本低、 扩展性好、 易于维护等特点。 本文介绍了一种 R45串行数据采 S8
集 系统 及 方 法 , 用 于 复 杂 工业 场 合 的 数据 采 集 工作 。 适
关键 词 :智能控制; 微型RV定位; 丰同归 O; 白
1引言
数据 采 集是 工业 控 制 领域 最 为 常见 的一 种 技术 手 起来 。而 忽略 了信号 地 的连 接 , 这种 连接方 法在 许多 场 段, 数据采集 为技术 分析 和控 制策 略提供 了依 据 。随着 合 是 能正 常工 作 的 , 但却 埋 下 了很 大 的隐 患 , 这有 二 个 工况 复杂程 度的提 高 , 数据 采集 也面 临着 数据类 型不 断 原 因 :( 共 模干 扰 问题 :R 一 8 接 口采用 差分 方式 传 1 ) S4 5 增加 , 对采集 速度要 求不 断提 高的 问题 。 输信 号方 式 ,并不 需要相对 于某 个 参照 点来检 测信 号 , 智能仪 表是 随着 8 0年代初 单 片机 技术 的成 熟而发 系 统只 需检测两 线之 间的 电位差 就可 以 了。 人们往 往 但 展起 来 的,现在世 界仪 表市场 基本被 智 能仪表 所 垄断 。 忽 视 了收 发器 有 一 定 的 共 模 电压 范 围 ,S 4 5收 发 器 R一 8 究其 原 因就 是企业信 息化 的需 要 , 业在 仪表 选 型时其 企 共模 电压 范 围为 -  ̄+ 2 , 7 1V 只有 满 足上 述条 件 , 整个 网 中的一个 必要条件 就 是要具有 联 网通 信接 口。 初是数 最 络才 能正 常工作 。 当网络线 路 中共 模 电压 超 出此范 围时 据模拟 信号输 出简单 过程 量 , 后来仪 表接 口是 R 2 2接 S3 就会 影 响通 信 的稳定 可靠 , 甚至损 坏接 口。( E I问题 : 2M ) 口, 这种接 口可 以实 现 点对 点 的通 信 方式 , 这 种方 式 但 发送 驱动器 输 出信号 中的共 模部 分 需要一 个返 回通路 , 不 能实 现联 网 功 能 。随后 出现 的 R 4 5解 决 了这个 问 S8 如没 有 个 低 阻的返 回通道 ( 号地) 就会 以辐射 的 形 信 ,
工控程序设计之串口设备的数据采集
工控程序设计之串口设备的数据采集1. 引言在工控系统中,串口设备是常用的数据采集和通信方式之一。
串口设备可以连接各种外部设备,如传感器、监测仪器等,通过串口进行数据的传输和采集。
本文将介绍工控程序设计中如何进行串口设备的数据采集。
2. 串口设备和串口通信协议串口设备是一种通过串行通信接口进行数据传输的外部设备。
常见的串口设备包括传感器、PLC(可编程控制器)、电机驱动器等。
串口通信协议通常使用RS-232或RS-485标准,通过串口发送和接收数据。
RS-232是一种常用的串口通信标准,使用DB9或DB25连接器,支持最长距离为50英尺。
RS-232通信协议使用一对差分信号进行数据传输,适用于近距离的数据传输。
RS-485是一种支持多点通信的串口标准,使用两线(A和B)进行数据传输。
RS-485通信协议支持最长距离为4000英尺,并能同时连接多个设备,适用于需要远距离传输和多设备通信的场景。
3. 串口设备的数据采集串口设备的数据采集是工控系统中重要的任务之一。
通过串口设备,可以从外部设备读取传感器数据、监测设备状态等信息,以实现实时监测和控制。
数据采集的过程包括以下几个步骤:3.1. 打开串口在进行串口设备的数据采集之前,需要首先打开串口。
在工控程序中,可以使用相应的库函数或API来打开串口。
打开串口时需要指定串口的名称、波特率、数据位、校验位、停止位等参数。
以下是一个使用Python的serial库打开串口的示例:import serialser = serial.Serial('COM1', baudrate=9600, timeout=1)3.2. 读取数据打开串口后,可以通过读取串口来获取设备发送过来的数据。
读取串口数据的方式有两种:阻塞读取和非阻塞读取。
阻塞读取是指程序在读取串口时会一直等待直到数据可读。
非阻塞读取是指程序会立即返回可用的数据,无需等待。
以下是一个使用Python的serial库进行串口数据读取的示例:data = ser.read(10) # 读取10个字节的数据3.3. 数据处理读取到的串口数据通常是原始数据,需要进行进一步的处理。
基于USB接口的数据采集与传输
USB(Universal Serial Bus, 通用串行总线) 是外 设与计算机进行连接的新型接口, 其特点是中低速、 双向、 同步、 低成本, 可动态连接。USB 简化了计算 机与外设的连接。由于其能够以较低 的成本同时连 接 127 种不同的USB设备, 因此被计算机外设硬件 制造商广泛采用。目 USB 技术 已经成为 PC 普 前, 遍流行的技术标准, 而且也逐渐被用 到消费电子和200Biblioteka 年 9 月 第 24 卷第 3 期
扬州教育学院学报 Jour na l of Yangzhou College of Ed ucation
Sept 20 0 6
Vol. 24 , . 3 No
基 于 USB 接 口的数据 采集与传 输
王 刚
(扬州教育学院 计算机系, 扬州 225002) 江苏
(I ) 数 字摄 像 头 的视 频 解 码 芯 片 采 用 了 LM9618, 该芯片将 CMOS 光感应核与外围支持电 路集成在一起 , 具有可编程控制和数字视频信号输 出的特点, 其视频为灰度图像 , 通过 IIC 总线控制。 IIC 总线是一种双向串行总线, 其控制非常简 单, 只有两根信号线; 串行数据线(SDA ) , 串行时钟 线(SCL) , IIC 总线的串行数据总线(SDA)和串行时 钟线(SCL ) 由单片机的通用 1/ O 口线分别编程模
收稿日 期: 2006 - 07 - 03 作者简介: 王刚 (1974- ) , 男,江苏扬州人 ,扬州教育学院计算机系 助教。
79 .
(1)设备固件是设备运行的核心 , 其主要的功能 是控制 USB接口 芯片并完成 USB1. 1 协议(包括标 准的设备请求、 厂商请求处理、 设置设备接 口 。 等) (2)USB 总线设备的客户端驱动程序的设计大 多采用 WDM 类型, 驱动程序由三部分组成 : 操作系统即插即用( PnP) 管理器 , 这一类实现 USB设备的热插拔及动态配置。一旦总线驱动程序 检查到新硬件存在, 管理器先装人最底层 的过 PnP 滤器驱动程序, 并调用其 AddDevice 函数, 该函数创 建一个功能设备对象(FDO) , 这样就在过滤器驱动 程序和 FDO间建立了水平连接。AddDevice 把 PDO 连接到 FDO上, 管理器继续向上执行, PnP 装入并调 用每个低层过滤器、 功能驱动程序 、 每个高层滤波 器, 直到完成整个堆楼 电源管理器管理整个系统的电源, 负责设备的
简述并行、串行、异步、同步通信原理
标题:并行、串行、异步、同步通信原理解析一、介绍并行、串行、异步、同步通信的概念1. 并行通信:指多个数据信号在同一时刻通过不同的传输路径传输,在数据传输过程中,多个信号可以同时进行传输,从而提高数据传输效率。
2. 串行通信:指数据信号按照顺序一个接一个地通过同一传输路径传输,在数据传输过程中,数据信号只能依次进行传输,适用于长距离传输和节约传输线路资源。
3. 异步通信:指数据传输时没有固定的时钟信号,数据在发送方和接收方之间按照不规则的时间间隔传输,需要通过起始位和停止位来标识数据的起始和结束。
4. 同步通信:指数据传输时需要有固定的时钟信号,数据在发送方和接收方之间按照固定的时间间隔传输,需要通过时钟信号进行同步。
二、并行通信的原理及特点1. 原理:多个数据信号同时通过不同的传输路径传输。
2. 特点:1) 传输速度快:由于多个数据信号同时进行传输,因此传输速度相对较快。
2) 传输距离有限:由于多条传输路径之间的信号相互干扰,因此传输距离相对较短。
3) 成本较高:需要多条传输路径和大量的接口,成本相对较高。
三、串行通信的原理及特点1. 原理:数据信号按照顺序一个接一个地通过同一传输路径传输。
2. 特点:1) 传输速度慢:由于数据信号只能依次进行传输,因此传输速度相对较慢。
2) 传输距离远:适用于长距离传输,可以节约传输线路资源。
3) 成本较低:只需要一条传输路径和少量的接口,成本相对较低。
四、异步通信的原理及特点1. 原理:数据传输时没有固定的时钟信号,数据在发送方和接收方之间按照不规则的时间间隔传输。
2. 特点:1) 灵活性高:数据传输时间不固定,可以根据实际需要进行调整。
2) 精度较低:由于没有固定的时钟信号,数据传输的精度相对较低。
3) 适用于短距离传输:由于数据传输精度较低,适用于短距离传输和数据量较小的情况。
五、同步通信的原理及特点1. 原理:数据传输时需要有固定的时钟信号,数据在发送方和接收方之间按照固定的时间间隔传输。
简述串行接口的工作原理以及串行接口的优缺点
串行接口是一种数字接口,用于在计算机系统中传输数字信号或者数据。
串行接口通过一根线依次传输每个位的数据,相比并行接口,串行接口只需要一根线就可以进行数据传输,因此在一些场景中可以节省成本和空间。
本文将首先简述串行接口的工作原理,然后分别对串行接口的优点和缺点进行详细介绍。
一、串行接口的工作原理1. 数据传输串行接口通过一个个数据位的顺序传送数据,每个数据位通过一根线进行传输。
在传输时,数据被分割成一个个数据包,每个数据包由起始位、数据位、校验位和停止位组成。
这些数据包按照一定的规则经过线路传输,接收端再将这些数据包组装还原成原始数据。
而整个过程中,数据包的传输是依赖于时钟脉冲信号的。
2. 时钟信号为了确保接收端能够正确地接收和理解发送端的数据,串行接口需要一个时钟信号来进行数据的同步。
时钟信号在数据传输的过程中充当了一个重要的角色,确保发送端的数据能够被准确地读取和复原。
3. 带宽利用串行接口能够更好地利用带宽,因为它只需要一根线来进行数据传输。
在一些对带宽有限制的环境下,串行接口可以更好地满足需求。
二、串行接口的优缺点串行接口作为一种常见的数字接口,在许多设备中被广泛使用。
其优缺点如下:优点:1. 使用简单串行接口只需要一根线进行数据传输,在设计和使用上相对简单。
这对于一些资源有限的情况下尤为重要,比如在一些嵌入式系统中,串行接口能够更好地满足需要。
2. 抗干扰能力强因为串行接口只需要一根线进行数据传输,相比并行接口,串行接口在传输过程中对于干扰的抵抗能力更强。
这使得串行接口能够更好地适用于电磁干扰严重的环境。
3. 长距离传输串行接口可以支持较长的传输距离,这对于一些需要进行长距离数据传输的场景非常重要。
缺点:1. 传输速率低由于串行接口是逐位传输数据的,因此在相同条件下,它的传输速率往往比并行接口要低。
这意味着在需要进行高速数据传输的场景下,串行接口可能无法满足需求。
2. 数据传输效率低串行接口在数据传输的过程中需要进行数据包的分割和再组装,这会导致数据传输的效率较低,尤其在大批量数据传输的情形下。
串行通讯数据传送的基本过程
串行通讯数据传送的基本过程随着科技的不断发展,数据通讯成为了现代社会中不可或缺的一部分。
在数据通讯中,串行通讯是一种常见的传输方式。
本文将介绍串行通讯数据传送的基本过程,以帮助读者更好地理解和应用串行通讯。
一、串行通讯概述串行通讯是指将数据按位逐位地传输,相邻的数据位之间通过一条信号线进行连接。
与之相对的是并行通讯,它是将数据按字节或字等单位一次性传输。
串行通讯相对于并行通讯具有成本低、线路简单等优点,因此在很多场景下得到了广泛应用。
二、串行通讯的基本过程1. 数据的编码与解码在串行通讯中,发送端将要传输的数据进行编码,以便在传输过程中能够正确地识别出每个位的取值。
常见的编码方式有ASCII码、UTF-8等。
接收端在接收数据时需要对数据进行解码,将其转化为可读的格式。
2. 数据的起始位和停止位为了标识出数据的开始和结束,串行通讯中通常会在每个数据字节的前后添加起始位和停止位。
起始位通常为逻辑低电平,停止位通常为逻辑高电平。
这样,接收端在接收数据时可以通过检测起始位和停止位来确定数据的边界。
3. 数据的传输顺序串行通讯的数据传输是按顺序逐位进行的。
发送端将数据从最高位开始逐位发送,接收端也是从最高位开始逐位接收。
这样可以保证数据的正确传输顺序,避免数据错位。
4. 数据的同步与异步传输串行通讯中有两种主要的传输方式:同步传输和异步传输。
同步传输是指发送端和接收端在传输过程中通过某种同步信号进行同步,以保证数据的正确传输。
常见的同步传输方式有SPI、I2C等。
异步传输则是通过起始位和停止位来进行同步,不需要额外的同步信号。
常见的异步传输方式有UART。
5. 数据的差错检测与纠正在数据传输过程中,由于各种原因(如信号干扰、噪声等),可能会导致数据出现错误。
为了保证数据的可靠性,串行通讯中通常会采用差错检测与纠正的方法。
常见的差错检测与纠正技术有奇偶校验、循环冗余校验(CRC)等。
6. 数据的重传机制当数据传输过程中发生错误时,串行通讯中通常会采用重传机制来保证数据的正确传输。
单片机串行口及应用特百度
单片机串行口及应用特百度单片机串行口是指单片机上的一组用于串行通信的接口。
串行通信是一种逐位传输数据的通信方式,相对于并行通信来说,占用的引脚数目较少,适用于资源有限的场合。
单片机串行口通常包括多个引脚,其中包括发送引脚(Tx),接收引脚(Rx)和时钟引脚(Clk)等。
单片机串行口的应用十分广泛,主要涉及以下几个方面:1. 与计算机通信:单片机通过串行口与计算机之间可以进行数据的传输与通信,可以用于单片机与PC进行数据的互传和控制。
在这种应用中,通过合理编程可以实现数据的双向传输,包括数据的发送和接收。
2. 控制外设:单片机可以通过串行口与外部设备进行通信和控制。
比如,单片机可以通过串行口与LCD液晶显示屏通信,控制其显示内容;通过串行口与电机驱动芯片通信,控制电机的转动;通过串行口与温湿度传感器通信,获取环境温湿度信息等。
3. 数据采集与传输:单片机可以通过串行口与各种传感器进行通信,实时采集传感器产生的数据,并通过串行口传输给其他设备进行处理。
比如,可以通过串行口与光电传感器通信,实时采集光照强度并传输给其他设备进行处理;通过串行口与压力传感器通信,实时采集压力数值并传输给其他设备进行处理。
4. 远程控制:单片机可以通过串行口与远程设备进行通信,实现对远程设备的控制。
比如,通过串行口与无线模块通信,实现对远程设备的远程开关控制;通过串行口与蓝牙模块通信,实现对蓝牙设备的远程控制等。
需要注意的是,由于单片机串行口的通信速率相对较低,一般只适合低速数据传输,对于高速数据传输,通常需要使用其他接口,如USB、以太网等。
单片机串行口在物联网、智能家居、工业控制、嵌入式系统等领域有着广泛的应用。
通过串行口的使用,可以实现信息的传输、设备的控制和数据的采集,提高系统的灵活性和可控性。
同时,单片机串行口的应用也需要深入了解串行通信的原理和相关编程知识,以保证通信的稳定和可靠性。
串行通信的工作原理及应用
串行通信的工作原理及应用1. 什么是串行通信串行通信是一种数据传输方式,在这种方式下,数据位是按照顺序一个一个地传输的。
相对应的是并行通信,它是一种同时传输多个数据位的通信方式。
在串行通信中,数据位通过一个传输线依次传送,每个数据位之间由一个起始位和一个停止位分隔。
这种传输方式的优点是占用较少的传输线资源,但由于需要一个接一个地传输数据位,速度较慢。
2. 串行通信的工作原理串行通信的工作原理包括以下几个要点:2.1 起始位和停止位在每个数据位之间,串行通信需要加入起始位和停止位作为分隔符。
起始位和停止位分别被设置为逻辑低和逻辑高,用于标识每个数据位的开始和结束。
这样接收端可以通过检测起始位和停止位来判断每个数据位的位置,从而正确地解析接收的数据。
2.2 传输速率串行通信的传输速率是指每秒传输的比特数,通常用波特率(bps)来表示。
波特率越高,传输速度越快。
但是在实际应用中,传输速率受到传输线路的限制,不能无限制地提高。
需要在实际应用中根据需求和可用的传输线路选择合适的波特率。
2.3 容错性串行通信在传输过程中需要保证数据的可靠性和完整性。
为了提高容错性,通常会在传输的数据中添加校验位或者奇偶校验位来验证数据的正确性。
接收端通过对接收到的数据进行校验,判断数据是否出错。
如果校验失败,说明数据传输中存在错误,可以通过重新传输或其他方式进行错误处理。
3. 串行通信的应用串行通信在现代通信领域有着广泛的应用,以下列举了一些常见的应用场景:3.1 串行通信接口串行通信接口是计算机与外部设备进行通信的重要方式之一。
例如,通过串口接口(RS232C 或 USB),计算机可以与打印机、调制解调器、传感器等设备进行串行通信。
串行通信接口可以通过串行线缆传输数据,并对数据进行解析和处理。
3.2 串行通信协议串行通信协议是在串行通信中定义数据传输格式和规则的一组约定。
常见的串行通信协议包括UART、SPI、I2C等,并且每个协议都有自己的通信规范和数据传输方式。
简述利用串行口进行多机通信的原理
简述利用串行口进行多机通信的原理串行口多机通信是一种常见的多机通信方式,它是指使用一条电缆连接多台计算机,实现它们之间的连接以及数据的交换。
它主要通过串行口进行数据传输,也就是说,它首先将发送数据转换为串行信号,然后通过电缆转发给另一台计算机,最后接收方接收到数据后将其转换为并行信号。
串行口多机通信的原理基本上与其他多机通信类似,但是它的优势在于用一根电缆就可以实现多台计算机之间的连接。
它的工作原理是,在两台计算机之间设置一个串行口,该口可以通过电缆来传输信号,发送和接收数据。
发送一端,将要发送的数据转换成串行信号,比如说,将逻辑1转换为正逻辑高电平,将逻辑0转换成正逻辑低电平,然后通过电缆输出到另一台计算机。
接收端接收到信号后,再将其转换成并行信号,即将正逻辑高电平转换为逻辑1,将正逻辑低电平转换为逻辑0,就完成了数据的传输。
串行口多机通信的传输速度比其他方式要慢,这一般与电缆的长度、数据的格式以及其他参数有关,但一般情况下,由于采用的是串行信号的传输,因此传输率不高,一般在几十Kbps到几百Kbps之间。
在采用串行口多机通信时,还需要进行相应的协议规定,以确保双方在通信过程中能够正确交换数据。
其中最常用的协议是RS-232,它是一种常用的通信协议,用于多机连接,它定义了一系列振幅、频率以及方向等参数,以实现单向或双向的数据传输。
串行口多机通信的缺点在于传输率较低,另外,如果出现故障,将会影响整体的网络运行,因为发生故障的部分将影响整体的网络效率。
因此,串行口多机通信在日常生活中还是有许多应用,比如用于简单的控制和数据采集,可以很好地解决上述问题,使得设备之间的数据交换更加高效。
总之,串行口多机通信是一种高效的多机通信方式,主要通过电缆连接两台以上的计算机,可以实现数据的发送和接收,但传输率较低,需要采用相应的协议规定,以确保通信的高效性。
串口的作用
串口的作用串口,也称为串行口,是一种用于在计算机和外设之间传输数据的接口。
它被广泛应用在各种设备之间的数据通信中,包括计算机与打印机、鼠标、键盘、传感器等外部设备之间的通信。
串口的作用主要有以下几个方面:1. 数据传输:串口用于在计算机和外设之间传输数据。
它通过将数据分割成多个字节的序列,并按照一定的协议进行传输,实现了可靠且高效的数据传输。
串口的通信速率可以根据需求调整,从几十个字节每秒到几十兆字节每秒不等。
2. 控制外部设备:串口提供了与外部设备进行通信和控制的接口。
例如,通过串口可以向打印机发送打印指令,向显示器发送显示内容的指令,或者读取传感器的测量结果等。
串口可以通过发送和接收不同的控制指令,实现对各种外部设备的控制。
3. 远程控制:串口可以用作远程控制的接口。
例如,在工业自动化领域,串口常被用于控制远程设备的开关、传感器的采集和监控等。
通过串口,计算机可以远程监控和控制多个外部设备,实现远程控制和自动化控制的目的。
4. 数据采集和存储:串口可以用于数据采集和存储。
许多传感器和测量设备都可以通过串口将测量数据传输到计算机中进行处理和存储。
例如,气象站可以通过串口将气象数据传输到计算机中进行气象预报和分析。
此外,串口还可以用于连接存储设备,如硬盘或固态硬盘,实现数据的高速传输和存储。
5. 调试和调试:串口常用于硬件和软件的调试和调试。
在硬件设计和软件开发过程中,通过串口可以实时显示调试信息、错误日志和运行状态等。
开发人员可以通过串口监视和调试设备的工作状态,定位和修复问题。
总之,串口是一种重要的数据传输和控制接口,广泛应用于各种设备之间的数据通信和控制。
它不仅能实现高速且可靠的数据传输,还能方便地控制外部设备、远程控制、数据采集和存储以及调试和调试等功能。
随着科技的不断发展,串口在各个领域的应用将越来越广泛,为各行各业的自动化和智能化进程提供强大的支持。
数据采集及传输处理
数据采集及传输处理摘要当今的生产趋向于少人甚至无人的流水线车间操作,这种方法虽然能够降低成本开支、高效便捷运行生产,同时也存在着因无人监视而无法即时排除故障和因无法调节生产过程值而导致生产或系统无法正常运行的重大问题。
为此,这套数据采集与传送系统应运而生。
发送端AT89C51负责采集8路数据,4路电压信号,4路电流信号,然后将采集到的电压、电流模拟量通过ADC0809芯片的处理变换,转变为对应的数字量,经过一定距离(通常为1.2公里以内),串行通信传输到接收方。
发送端与接收端之间的通信,采用国际标准的MAX485差分方式接口,可实现高性能、高准确率的实用型数据采集传输。
该系统结构简单、原理易懂、实用性强,实现了在一个固定的小房间内就可以监控整个系统范围内各个既定位置处的电压、电流信号,为用户提供了广泛的便利。
关键词:数据采集、模数转换、串行发送ABSTRACTThe production nowadays is inclined to that few person even none operates the flowing water line. Although this kind of method can make the expenditure cost become lower and circulate the production efficiently and conveniently, there are also important problems that the flowing water line may expel to break down because no man keeps watching the process on and that the production and system can not be in motion normally because we can not regulate the system value. As a result, this kind of data acquisition and transition comes out. The AT89C51 sending out message is responsible for collecting 8 channels transformation data, 4 channels electric voltage signals, 4 channels electric current signals, and then the electric voltage and current will be processed and transformed by passing through the chips of ADC0809, and will be changed into the corresponding numeral data. Through certain distances(usually within 1.2 kilometers) of serial data communicational transmission, the data can be received. The correspondence system of the part sending out messages and the part receiving data, adopts the MAX485 differential connection of the international standard, and then it can carry out the practical type of certain-distance 、various input data acquisition and transmission system of high performance、high accuracy. This system has characteristics of easy composition、simple principle、large practical value. It will realize controlling numbers of electric voltage and current signals at the selected places even in a fixed small room all around the whole system extension, providing comprehensive advantage for the clients.Keywords:data acquisition, simulation and numeral transformation, serial data transmission目录摘要 (I)ABSTRACT (II)1 绪论 (1)1.1 选题背景 (1)1.2 设计功能的实现 (2)2 系统概述 (4)3 数据变换部分设计 (7)3.1 ADC芯片的选择 (7)3.1.1 功能概述 (7)3.1.2 模数转换的实现 (7)3.2 单元电路设计 (8)3.2.1 外围电路 (8)3.2.2 输入转换与放大 (12)3.3 AT89C51对ADC0809的接口 (13)3.3.1 连接方法及作用 (13)3.3.2 工作时序及原理 (13)3.3.3 A/D转换的软件设计 (15)4 串行通信的实现 (17)4.1 寄存器 (17)4.2 串行接口的应用 (18)4.2.1 发送过程 (19)4.2.2 检验过程 (20)4.3 接口实现 (20)4.4 串行发送软件设计 (22)结论 (23)致谢.......................................................................................................... 错误!未定义书签。
单片机原理及应用第07章串行口
单片机原理及应用第07章串行口在单片机中,串行口是一种常见的通信接口。
串行口允许单片机与外部设备通过串行通信进行数据的传输和接收。
它常用于与计算机、显示器、键盘、传感器等设备进行数据交互。
串行口一般有两个主要的部分:发送器和接收器。
发送器负责将单片机内部的数据转换成串行数据,并通过一个引脚发送出去。
接收器负责将从外部设备接收到的串行数据转换成单片机内部的数据,供单片机进一步处理。
串行口的应用非常广泛。
以下是串行口在一些常见应用中的使用方式:1.与计算机通信:单片机可以通过串行口与计算机进行数据交互。
这种应用广泛用于传感器数据的采集、控制命令的发送等场景。
通过串行口,单片机可以将采集到的数据传输给计算机进行分析和处理,或者接收计算机发送的控制命令实现特定功能。
2.与显示器通信:串行口可以用来控制液晶显示器(LCD)。
通过发送特定的指令和数据,单片机可以控制液晶显示器显示不同的字符、图形或者动画。
这种应用广泛用于嵌入式系统中的人机交互界面,如数码相机、手机等设备。
3.与键盘通信:通过串行口,单片机可以接收来自键盘的按键数据。
这种应用广泛用于嵌入式系统中的输入设备,如电脑键盘、数字键盘等。
通过接收键盘的按键数据,单片机可以进行相应的操作,如控制电机、显示字符等。
4.与传感器通信:单片机可以通过串行口与各种传感器进行通信。
传感器可以是温度传感器、湿度传感器、光敏传感器等。
通过串行口,单片机可以获取传感器采集到的数据,并进行相应的处理和控制。
总之,串口是一种非常常见并且实用的通信接口,在单片机中得到了广泛应用。
它不仅可以实现单片机与外部设备之间数据的传输和接收,还可以用于控制和监测各种设备。
通过串口的使用,单片机可以更加灵活和方便地与外部设备进行通信,从而实现更多样化、智能化的应用。
串行通信的原理与应用
串行通信的原理与应用1. 什么是串行通信?串行通信是一种数据传输的方式,它将数据位逐个按照顺序传输,与之相对的是并行通信,后者是将多个数据位同时传输。
串行通信的主要特点是数据传输的速度相对较慢,但在距离较远、线路复杂或成本较高的情况下,串行通信更为可靠和经济。
串行通信常被应用于计算机网络、串口通信、串行总线等领域。
2. 串行通信的原理串行通信的原理基于如下几个要点:2.1 串行传输串行传输是指数据位逐个传输的过程。
在串行通信中,数据位按照顺序一个接一个地传输,相邻的数据位之间通过特定的通信协议进行区分和同步。
2.2 帧同步为了确保数据的准确性,串行通信中通常需要引入帧同步机制。
帧同步机制用于确定数据帧的起始和结束位置,使接收方能够准确识别出每个数据帧并进行解析。
2.3 通信协议串行通信需要定义一套通信协议,用于规定数据的格式、传输速率、起始位、停止位、校验位等信息。
通信协议是串行通信能够正常工作的关键,它使得发送方和接收方能够按照相同的规则进行数据的传输和解析。
2.4 数据编码在串行通信中,数据通常需要进行编码处理,以确保数据的传输和解析的可靠性。
常用的数据编码方式包括ASCII码、二进制编码、差分编码等。
3. 串行通信的应用串行通信在现代信息技术中得到了广泛的应用,下面是一些常见的应用场景:3.1 计算机网络在计算机网络中,数据的传输需要通过网络传输介质进行,而网络传输介质的带宽通常较为有限。
为了提高数据传输的效率,计算机网络通常使用串行通信方式进行数据的传输。
常见的例子包括以太网、串口通信等。
3.2 串口通信串口通信是指计算机通过串行接口与外设进行数据的传输和交互。
串口通信在嵌入式系统和外部设备之间起到了桥梁的作用。
常见的串口通信方式包括RS-232、RS-485等。
3.3 串行总线串行总线是一种将多个设备通过串行方式连接起来的通信协议和接口标准。
串行总线通常由一根线路连接多个设备,减少了线路的复杂性和成本。
一个单片机串行数据采集/传输模块的设计
3 单 片机 软件 设计 单 片机 程 序 主 要包 括 串 行数 据 采集 模 块 “ DAT S A— AM” 串行 数 据 传输 模 块 “ 22 , 和 RS 3 ” 调试 所 用到 的显 示子程 序在 此 略去 。 TL 5 3的通 道选择 和 方式数 据 为 8位 , 功能 为 : 、 、 C24 其 D7D6D5和 D4用 来 选择 要 求转 换
串口 C OM 1或 C OM2形 成一 种 串行 数据 采集 、 , 串行 数据 传输 的方 式 。经 实践 调试 证 实 : 该模 块 功耗 低 、 样精 度 高 、 采 可靠性 好 、 口简便 , 一定 实用价 值 。 接 有
1 主要 器 件介 绍
1 1 T C2 4 . L 5 3串行 A/ D转换 器
( )在 工作 温度 范围 内 1 2 0 s转换 时间 ; ( )1 3 1个模 拟输 入通 道 ; ( )3路 内置 自测试方 式 ; 4
()采样率 为 6k p ; 5 6b s
( )线 性误 差 +1 S ma ) 6 L B( x
( )有 转换 结束 ( OC) 出; 7 E 输 ( )具有 单 、 8 双极 性输 出 ; ( )可编 程 的 MS 9 B或 L B前导 ; S (0 1 )可编 程 的输 出数 据长度 。 T C 5 3的引 脚 排 列如 图 1 示 。 图 1中 AI  ̄AI 0为模 拟输 出端 ; S 片选 端 ; L 24 所 N0 N1 C 为 D N 为 串行 数 据输 入 端 ; OUT 为 A/ 转 换 结 果 的 三 态 串行 输 出端 ; OC 为转 换 结 束 端 ; I D D E C K 为 I0时钟 ; F+为 正基 准电压 端 ; E L / RE R F一为负基 准 电压端 ; c为 电源 ; Vc GND 为地 。
单片机串口通信原理及应用实例分享
单片机串口通信原理及应用实例分享串口通信是一种常见的通信方式,它被广泛应用于单片机与外设、单片机与计算机等设备之间的数据传输。
本文将介绍单片机串口通信的原理和一些典型的应用实例。
首先,我们来了解一下单片机串口通信的原理。
串口通信是通过串行数据传输完成的,即数据一位位地按照固定的顺序传输。
单片机通常会使用UART(通用异步收发传输器)芯片来实现串口通信。
UART芯片中有两个寄存器,分别为发送寄存器和接收寄存器。
发送寄存器用于存放待发送的数据,而接收寄存器用于存放接收到的数据。
在单片机串口通信中,发送和接收的数据通过引脚进行传输。
其中,一个引脚称为TXD(发送数据线),负责将数据发送给外设或计算机;另一个引脚称为RXD(接收数据线),负责接收外设或计算机发送过来的数据。
数据的传输是通过一定的通信协议进行的,如常用的有RS232、RS485等。
下面,我们来讲解一些单片机串口通信的应用实例,以便更好地理解和应用该技术。
1. LED灯控制假设我们想要通过串口通信来控制一个LED灯的开关状态。
首先,我们需要连接单片机的TXD引脚和LED控制引脚,以便通过串口发送命令给LED灯控制。
然后,在单片机程序中,通过串口接收数据的中断服务程序接收外部发送过来的命令,根据命令的内容来控制LED灯的开关状态。
例如,当接收到字符"ON"时,将LED灯的控制引脚拉高,使其点亮;当接收到字符"OFF"时,将LED灯的控制引脚拉低,使其熄灭。
2. 温度监测与控制我们可以利用串口通信来监测和控制温度。
首先,我们需要连接温度传感器和单片机的RXD引脚,以便将温度数据传输给单片机。
然后,在单片机程序中,通过串口发送数据的函数周期性地向外部发送命令请求温度数据。
接收到温度数据后,可以根据预设的温度阈值来判断是否需要控制附加设备进行温度调节。
例如,当温度超过设定的上限值时,通过串口发送命令给风扇或空调,使其自动调整温度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个单片机串行数据采集/传输模块的设计
作者:西安二炮 文章来源:非本站原创 点击数: 1069 更新时间:2005-11-30
以GMS97C2051单片机为核心,采用TLC2543 12位串行A/D 转换器,设计了一个串行数据采集/传输模块,给出了硬件原理图和主要源程序。
关键词 串行A/D 转换器 串行数据传输 GMS97C2051单片机
在微机测控系统中,经常要用到A/D 转换。
常用的方法是扩展一块或多块A/D 采集卡。
当模拟量较少或是温度、压力等缓变信号场合,采用总线型A/D 卡并不是最合适、最经济的方案。
这里介绍一种以GNS97C2051单片机为核心,采用TLC2543 12位串行A/D 转换器构成的采样模块,该模块的采样数据由单片机串口经电平转换后送到上位机(IBM PC 兼容机)的串口COM1或COM2,形成一种串行数据采集串行数据传输的方式。
经实践调试证实:该模块功耗低、采样精度高、可靠性好、接口简便,有一定实用价值。
1 主要器件介绍
1.1 TLC2543串行A/D 转换器
模块采用TI 公司的TLC2543 12位串行A/D 转换器,使用开关电容逐次逼近技术完成A/D 转换过程。
由于是串行输入结构,能够节省51系列单片机I/O 资源,且价格适中。
其特点有:
(1)12位分辨率A/D 转换器;
(2)在工作温度范围内10μs 转换时间;
(3)11个模拟输入通道;
(4)3路内置自测试方式;
(5)采样率为66kbps ;
(6)线性误差+1LSB (max )
(7)有转换结束(EOC )输出;
(8)具有单、双极性输出;
(9)可编程的MSB 或LSB 前导;
(10)可编程的输出数据长度。
TLC2543的引脚排列如图1所示。
图1中AIN0~AIN10为模拟输入端;为片选端;DIN 为串行数据输入端;DOUT 为A/D 转换结果的三态串行输出端;EOC 为转换结束端;CLK 为I/O 时钟;REF+为正基准电压端;REF-为负基准电压端;V CC 为电源;GND 为地。
1.2 GMS97C2051单片机
GMS97C2051是武汉力源公司和韩国LG 公司联合推出的一种性能价格比极高的 8位单片机,其指令系统与MCS-51系列完全兼容。
GMS97C2051与AT89C2051兼容(可直接替换),但其性能价格比优于AT89C2051。
引脚排列如图2所示。
1.3 电平转换器MAX3232
MAX3232为RS-232收发器,简单易用,单+5V 电源供电,仅需外接几个电容即可完成从TTL
电平到RS-232电平的转换,引脚排列如图3所示。
2 硬件设计
硬件电路如图4所示。
单片机GMS97C2051是整个系统的核心,TLC2543对输入的模拟信号进行采集,转换结果由单片机通过P3.5(9脚)接收,AD 芯片的通道选择和方式数据通过P3.4(8脚)输入到其内部的一个8位地址和控制寄存器,单片机采集的数据通过串口(3、2脚)经MAX3232转换成RS232电平向上位机传输。
图中串行LCD 显示电路仅用于调试,对采集/传输的数据进行监测。
3 单片机软件设计
单片机程序主要包括串行数据采集模块“DATA_SAM”和串行数据传输模块“RS232”,调试所用到的显示子程序在此略去。
TLC2543的通道选择和方式数据为8位,其功能为:D7、D6、D5和D4用来选择要求转换的通道,D7D6D5D4=0000时选择0通道,D7D6D5D 4=0001时选择1通道,依次类推;D3和D2用来选择输出数据长度,本程序选择输出数据长度为12位,即D3D2=00或D3D2=10;D1,D0选择输入数据的导前位,D1D0=00选择高位导前。
TLC2543在每次I/O周期读取的数据都是上次转换的结果,当前的转换结果在下一个I/O周期中被串行移出。
第一次读数由于内部调整,读取的转换结果可能不准确,应丢弃。
数据采集程序如下:
DATA_SAM:
MOV R0,#30H;数据缓冲区首地址30H→R0
MOV R1,#00000000B;0通道方式/通道数据
ACALL RD_AD;第一次读取的转换结果可能不准确,丢弃。
MOV R1,#00010000B;1通道方式/通道数据
ACALL RD_AD;送1通道方式/通道数据并读第0通道转换结果
MOV @R0,R2;转换结果存放到数据缓冲区,下同
INC R0
MOV @R0,R3
INC R0
MOV R1,#00100000B;2通道方式/通道数据
ACALL RD_AD;送2通道方式/通道数据并读第1通道转换结果
MOV @R0,R2
INC R0
MOV @RO,R3
INC R0
…………;其它通道操作方式类推
RET
单片机通过编程产生串行时钟,并按时序发送与接收数据位,完成通道方式/通道数据的写入和转换结果的读出,程序如下,供数据采集
模块“DATA_SAM” 调用。
CLK EQU P3.3
DIN EQU P3.4
DOUT EQU P3.5
CS EQU P3.7
RD_AD:
CLR CLK ;清I/O时钟
SETB CS ;设置片选为高
CLR CS ;设置片选为低
MOV R4,#08 ;先读高8位
MOV A, R1;把方式/通道控制字放到A
LOP1:
MOV C,DOUT ;读转换结果
RLC A;A寄存器左移,移入结果数据位,移出方式/通道控制位MOV DIN,C;输出方式/通道位
SETB CLK;设置I/O时钟为高
CLR CLK;清I/O时钟
DJNZ R4,LOP1;R4不为0,则返回LOP1
MOV R2,A;转换结果的高8位放到R2中
MOV A,#00H;复位A寄存器
MOV R4,#04;再读低4位
LOP2:
MOV C,DOUT;读转换结果
RLC A;A寄存器左移,移入结果数据位
SETB CLK;设置I/O时钟为高
CLR CLK;清I/O时钟
DJNZ R4,LOP2;R4不为0,则返回LOP2
MOV R3,A;转换结果的低4位放到R3中
SETB CS;设置片选为高
RET
串行数据传输模块包括串行口初始化子程序和数据传输子程序,各子程序分别如下。
其中数据传输采用查询方式,也可以方便地改为中断方式。
INIT_COM:
MOV SCON,#50H;串口方式1工作,8位数据位,1位停止位,无奇偶校验
MOV PCON,#80H ;SMOD=1,波特率增倍
MOV TMOD,#20H;波特率设置,f OSC=12MHz,波特率=2* 2400,N=0F3H
MOV TH1,#0F3H
MOV TL1,#0F3H
SETB TR1 ;启动定时器T1
RET
RS232:
MOV R0,#30H;缓冲区首地址30H→R0
MOV R5,#22;发送数据长度→R5,11* 2=22
LOOP:
MOV A,@R0;取数据→A
MOV SBUF,A;数据→SBUF
WAIT:
JBC TI,CONT;判断发送中断标志,是1则转到CONT,并清TI
SJMP WAIT
CONT:
INC R0
DJNZ R5,LOOP
RET
4 上位机串口接收程序设计
上位机接收数据所用C语言程序包括初始化子程序和接收子程序。
各子程序分别如下:
void init_com1(void) /*初始化子程序*/
{
outportb(0x3fb,0x80); /*线控制寄存器高位置1,使波特率设置有效*/
outportb(0x3f8,0x18); /*波特率设置,与单片机波特率一致为4800bps*/
outportb(0x3f9,0x00);
outportb(0x3fb,0x03); /*线控制寄存器设置,8位数据位,1位停止位,无奇偶校验*/
outportb(0x3fc,0x03); /*Modem控制寄存器设置,使DTR和RTS输出有效*/
outportb(0x3f9,0x00); /*设置中断允许寄存器,禁止一切中断*/
}
void receive_data(void) /*查询方式接收数据子程序*/
{
while(!kbhit())
{
while(!(inportb(0x3fd)&0x01));/*若接收寄存器为空,则等待*/
printf("%x ",inportb(0x3f8)); /*读取结果并显示*/
}
getch();
}
5 结论
本文给出的硬件和软件均经过实践检验,并且已经按照PC/104总线制作成数据采集卡,使用很方便,能够满足对数据采样频率要求不是特别高的应用场合。