labview与单片机通信设计毕业设计(编辑修改稿)内容摘要:

时钟输出 A/D 转换器的结构 STC12C5A60AD/S2 系列带 A/D 转换的单片机的 A/D 转换口在 P1 口,有 8 路 10 位高速 A/D 转换器,速度可达到 250KHz( 25 万次 /秒)。 8 路电压输入型 A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。 上电复位后 P1 口为弱上拉型 IO 口,用户可以通过软件设置将 8 路中的任何一路设置为 A/D 转换,不须作为 A/D 使用的口可继续作为 IO 口使用。 河南科技大学毕业设计(论文) 10 单片机 ADC 由多路开关、比较器、逐次比较寄存器、 10 位 DAC、转换结果寄存器以及 ADC_CONTER 构成。 该单片机的 ADC 是逐次比较型 ADC。 主次比较型 ADC 由一个比较器和 D/A 转换器构成,通过逐次比较逻辑,从最高位( MSB)开始,顺序地对每一输入电压与内置 D/A 转换器输出进行比较,经过多次比较,使转换所得的数字量逐次逼近输入模拟量对应值。 逐次比较型 A/D 转换器具有速度高,功耗低等优点。 需作为 AD 使用的口先将 P1ASF 特殊功能寄存器中的相应位置为 „1‟,将相应的口设置为模拟功能。 167。 温度传感器( DS18B20) DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。 DS18B20 的性能特点如下: ●独特的单线接口仅需要一个端口引脚进行通信; ●多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能; ●无须外部器件; ●可通过数据线供电,电压范围为 ~; ●零待机功耗; ●温度以 9 或 12 位数字; ●用户可定义报警设置; ●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器 件; ●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20 温度传感器的内部存储器还包括一个高速暂存 RAM 和一个非易失性的可电擦除的 EERAM。 高速暂存 RAM 的结构为 8 字节的存储器,结构如图 4 所示。 头 2 个字节包含测得的温度信息,第 3 和第 4 字节 TH 和 TL的拷贝,是易失的,每次上电复位时被刷新。 第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。 DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值。 该字节各位的定义如图 32 所示。 低 5 位河南科技大学毕业设计(论文) 11 一直为 1, TM 是工 作模式位,用于设置 DS18B20 在工作模式还是在测试模式, DS18B20 出厂时该位被设置为 0,用户要去改动, R1 和 R0 决定温度转换的精度位数,来设置分辨率。 TM R1 1R0 1 1 1 1 .... 图 32 DS18B20 字节定义 由表 1 可见, DS18B20 温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。 因此,在实际应用中要将分辨率和转换时间权衡考虑。 高速暂存 RAM 的第 8 字节 保留未用,表现为全逻辑 1。 第 9 字节读出前面所有 8 字节的 CRC 码,可用来检验数据,从而保证通信数据的正确性。 当 DS18B20 接收到温度转换命令后,开始启动转换。 转换完成后的温度值就以 16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第 2字节。 单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以 ℃ / LSB 形式表示。 当符号位 S= 0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位 S= 1 时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。 表 31 DS18B20 温度转换时间表 温度 LSB 温度 MSB TH 用户字节 1 TL 用户字节 2 配置寄存器 保留 保留 保留 CRC 河南科技大学毕业设计(论文) 12 R0R1000101119101112分辨率/位 温度最大转向时间/ms93 .7518 37 575 0.... DS18B20 完成温度转换后,就把测得的温度值与 RAM 中的 TH、 TL字节内容作比较。 若 T> TH 或 T< TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。 因此,可用多只 DS18B20 同时测量温度并进行报警搜索。 在 64 位 ROM 的最高有效字节中存储有循环冗余检验码( CRC)。 主机ROM 的前 56 位来计算 CRC 值,并和存入 DS18B20 的 CRC 值作比较,以判断主机收到的 ROM 数据是否正确。 DS18B20 的测温原理是这这样的 ,器件中低温度系数晶振的振荡 频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器 1;高温度系数晶振随温度变化其振荡频率明显改变,产生的信号作为减法计数器 2 的脉冲输入。 器件中还有一个计数门,当计数门打开时, DS18B20 就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。 计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将- 55℃ 所对应的一个基数分别置入减法计数器 温度寄存器中,计数器 1 和温度寄存器被预置在-55℃ 所对应的一个基数值。 减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预 置值减到 0 时,温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入,重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到 0 时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。 其输出用于修正减法计数器的预置值,只要计数器门未关闭就重复上述过程,直到温度寄存器值大致被测温度值。 另外,由于 DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。 系统对 DS18B20 的各种操作按协议进行。 操作协议为:初使化 DS18B20(发复位脉冲) → 发 ROM 功能命令 → 发 存储器操作命令 →处理数据。 河南科技大学毕业设计(论文) 13 167。 PL2303HX 简介 PL2303 是 Prolific 公司生产的一种高度集成的 RS232USB 接口转换器,可提供一个 RS232 全双工异步串行通信装置与 USB 功能接口便利联接的解决方案。 该器件内置 USB 功能控制器、 USB 收发器、振荡器和带有全部调制解调器控制信号的 UART,只需外接几只电容就可实现 USB 信号与 RS232 信号的转换,能够方便嵌入到手持设备。 该期间作为 USB/RS232 双向转换器,一方面从主机接受 USB 数据并将其转换为 RS232 信息流格式发送给外设;另 一方面,从 RS232 外设接收数据转换为 USB 数据格式传送回主机。 这些工作全部由器件自动完成,开发者无需考虑固件设计。 通过利用 USB 块传输模式,利用庞大的数据缓冲器和自动流量控制,PL2303HX 能够实现更高的吞吐量比传统的 UART(通用异步收发器)端口,高达 115200bps 的波特率可用于更高的性能使用。 167。 硬件电路图设计 167。 主板电路 系统整体硬件电路包括,温度检测电路, LED 灯控制电路,开关输入检测电路,串 行通讯接口电路,单片机主板电路等,如图 33 所示。 河南科技大学毕业设计(论文) 14 图 33 系统主板电路 167。 温度检测电路 温度检测电路包括滑动变阻器 2 个,以及 A/D 转换。 而单片机STC12C5A60S2 可以在其内部进行 A/D 转换,如图 34 所连 P1 口为 A/D 转换 接口。 前面介绍了温度传感器,为了方便期间,可将温度传感器传来的数据简化为电压值,经过 A/D 转换传入上位机中。 河南科技大学毕业设计(论文) 15 图 34 温度检测电路 167。 键盘电路 键盘电路设计采用 8 个独立按键来对应 8 个 LED 灯, S1~S8 对应 L1~L8,电路原理图如图 7 所示。 按键连在单片机上的 ~ 引脚。 图 35 键盘电路 167。 LED 灯控制电路 LED 灯一共八个,分别是白色、黄色、绿色和红色各两个。 它们连在 P2引脚上。 用来对实现上位机与下位机通信做一个直观的控制显示。 图 36 LED 灯控制电路 河南科技大学毕业设计(论文) 16 167。 串口通信电路 串口通信电路采用的是 USB 接口与上位机通信。 USB 是英文 Universal Serial BUS 的缩写, 中文含义是 “通用串行总线 ”。 它不是一种新的总线标准,而是应用在 PC 领域的接口技术。 USB 是在 1994 年底由 英特尔 、 康柏 、 IBM、 Microsoft 等多家公司联合提出的。 USB 是一个外部总线标准 ,用于规范电脑与外部设备的连接和通讯。 USB 接口支持设备的即插即用和热插拔功能。 除此之外,电路中用到了上文提到的 PL2303 转换器,引脚 TXD 接单片机 RXD 引脚,而 PL2303 的 RXD 引脚接单片机 TXD 引脚。 图 37 串口通信电路 河南科技大学毕业设计(论文) 17 第 4 章 系统软件设计 167。 单片机接口程序设计 单片机接口程序采用 C51 语言编写,这是专门为 51 系列单片机设计的高效率 C 语言编译器,符合 ANSI 标准,生成的程序代码运行速度极高,所需要的存储器空间极小,汇编语言更简单易用。 接口程序编写时,首先进行串 口的初始化,即在 SCON 寄存器中赋值 050H,将波特率设置为 9600,用定时器 1 产生波特率,串口工作在方式 2。 下面为串口通信 程序流程图。 图 41 下位机串口通信流程图 只有上位机能够主动发命令。 也就是说在下位机接收到上位机的命令后 ,才进行发数据或进行相关的动作 ,它不能主动向上位机发送数据。 单片机在接收到上位机的数字后 ,返回这个数字,并由 PC 显示出来。 数字的起始符是数字 00,结束符是数字 FF。 河南科技大学毕业设计(论文) 18 167。 串口设置及 HMI 设计 167。 VISA 简介 虚拟仪器软件体系 结构( VISA, Virtual Instrument Software Architecture),采用通用的 I/O 口标准,具有与仪器硬件接口和具体计算机无关的特性,即VISA 是面向器件功能,而不是面向接口总线的,在控制 VXI, GPIB,RS232等仪器时,不必考虑接口总线类型。 167。 串口通讯函数 本章节用到的主要串口通讯调用函数为: Functions InstrumentI/O VISA Advanced Interface Specific Serial。 该函数主要用于串口的初始化,其主要参 数的意义如下: VISA resource name: VISA 资源名称,在这里指串口号; Baund rate:波特率,默认为 9600; Data bits:一帧信息中的位数, LabVIEW 中允许 5~8 位数据,默认值为 8位; Stop bits:一帧信息中的停止位的位数,可为 1 位、 1 位半或 2 位; Parity:奇偶校验设置。 可谓无校验、奇校验或偶校验; Flow c。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。