论文部分内容阅读
摘要:系统通过芯片ADC0809将电压信号传送给单片机,由单片机将数据传送到液晶显示芯片RT1602C上。利用VB串行通信控件实现上位机与单片机之间的串行通讯。采用芯片CP2102将上位机的USB口虚拟成串行口把信号由单片机传送到上位机,上位机能够通过USB口接收、显示数据和发送数据给下位机,下位机能够正确接收数据并由RT1602C显示接收到的数据。
关键词:电压采集;RT1602C;CP2102
数据采集技术是状态监测、设备控制和人机交互的基础,由计算机对数据进行存储、处理以及控制成为科学研究和工业应用的必然趋势。电压采集监测系统有助于建立对数据采集和微机控制的基本认识,为实际开发和应用功能更强大的数据采集系统作准备。
1 系统设计方案
电压量采集系统整体设计框图如图1所示。
系统采用USB-UART桥接器CP2102的USB总线直接供电的功能,无需外接电源。USB-UART桥接器CP2102能使单片机以普通串口的方式发送和接收数据,而与PC机的硬件连接却是通过USB接口实现的。利用VB提供的MSComm控件,PC机能以串口的方式实时的接收和显示单片机发送来的数据。
2 电压量采集显示模块设计
2.1 采集模块设计
在本系统中,ADC0809由USB总线直接供电,片内锁存控制可以对8路0~+5V的输入模拟电压信号分时进行转换。由于ADC0809具有三态输出缓冲器,可直接与单片机的数据总线相连[1]。
本系统中单片机从A/D转换器得到的是8位的二进制数字量,而每个数字量都对应一个唯一的电压值,故需要将这些二进制数转换成其对应的十进制电压值。本系统采用USB总线供电,经测量可得ADC0809的基准电压为4.779V,故按照ADC0809采回的数字量转化成对应的电压值的式1就可以完成数字量到电压值的转换。
2.2 显示模块的设计
显示模块采用液晶显示芯片RT1602C,液晶显示芯片RT1602C与单片机的接口电路如图3所示【2】。机的P3.3,P3.4,P3.5脚作为液晶显示的3根控制线,P1.0~P1.7作为与液晶的数据接口,"BL1"(第15脚)接正,"BL2"(第16脚)接负点亮背光灯,V0(第14脚)通过一个10K的电位器接地使其能调整显示对比度。
每次调用RT1602C显示时都应对RT1602C进行初始化设置,在执行每条写指令或读/写数据之前一定要确认模块的忙标志为低电平,表示不忙,否则指令将会失效,显示字符时还要先输入显示字符地址。
因为RT1602C最多只能显示两行,每行显示16个字符,所以每显示一屏只能显示两个通道的通道号和电压值,故要轮流显示完8个通道需要连续显示4屏,这就要求每显示完一屏后有几秒钟的停留再开始显示下一屏以便于读取该屏显示的两个通道的电压值。
本系统通过初始化子程序设置RT1602C为2行8位显示、5×7点阵、开光标且允许光标闪烁、显示完一个字符后字符不动,光標自动右移的显示模式【3】。
3 数据通信模块设计
3.1 基于 CP2102的USB硬件接口电路
CP2102的VBUS与VREGIN引脚必须始终连到USB的VBUS信号上,并在VREGIN的输入端加上去耦电容。CP2102与单片机接口是标准UART电平,与PC机的USB端口连接是USB标准电路,因此,与采用USB总线供电的单片机连接不需要电平转换。其硬件接口电路如图4所示。
使用时通过USB口连接基于CP2102的好单片机通讯模块,系统将会提示发现新硬件,点击“取消”按钮取消系统自动的驱动程序安装操作,然后安装好Cygnal提供的CP2102的驱动程序,通过查看“我的电脑→属性→硬件→设备管理器→端口→CP210X USB to UART Bridge Controller”可以找到桥接器虚拟的串口号【4】。最后用VB通过设置MSComm控件进行编程就能够以USB口向基于CP2102的设备按传统的串行口方式传输数据了。
3.2 通讯程序设计
本系统采用11.0592MHz晶振,波特率选择9600bps,定时器T1工作于方式2,PCON的SMOD位等于零,串口工作于方式1且允许接收,即串行口为10位通用异步通信接口:一帧信息包括一位起始位、8位数据位和1位停止位的格式,其波特率可调。
经计算可得定时器初值N为FDH。
使用MSComm控件开发串口通信软件。
1)加入通信部件。
2)设定通信端口号码。本系统采用CP2102的驱动程序将USB口虚拟成一个有效的COM口。
3)设定通信协议。该属性用来设置或返回硬件握手协议,即个人计算机与通信设备之间为了控制流速而约定的内部协议。本系统采用其默认值0,即没有握手协议。
4)设定通信参数。本系统采用9600波特率,无奇偶校验,8位数据位和1位停止位的通信格式,故有MSComm1.Setting=”9600,N,8,1”
5)设定其他参数,必要时可以加上其它属性设定。
6)开启通信端口,PortOpen属性设为True。
7)送出字符串或送入字符串,使用Input或者Output属性。
8)使用完MSComm通信对象后,将通信端口关闭,PortOpen属性设为False。
4 结束语
该电压量采集系统利用单片机完成了对ADC0809转换好的数字信号的存储并转换成各通道对应的电压值的功能,并控制液晶显示芯片RT1602C分屏轮流显示8通道电压数据。利用VB提供的串行通信控件MSComm设计实现了串口通讯测试程序。采用芯片CP2102将PC机的USB口虚拟成COM口把8通道数字信号由单片机发送给PC机,PC机能够通过USB口接收、显示数据。此外,由于采用了USB-UART电路,单片机是通过传统的串行口接收PC机发送的数据并由RT1602C显示接收到的数据的。
参考文献
[1] 孙俊逸,盛秋林,张铮.单片机原理及应用[M].北京:清华大学出版社,2006:183-184.
[2] 董朝贤,李冉琦.基于HD44780的字符型液晶显示模块接口的单片机实现研究[J].三门峡职业技术学院学报,2008,7(1):114-116.
[3] 周正华,唐宁.液晶显示模块RT1602C与FPGA接口技术[J].中国科技信息,2008,19:110-111.
[4] 谢志萍.基于USB总线的温度测试系统设计与实现[J].仪表技术与传感器,2005,8:27-29.
作者简介:
战晔(1984-),女,讲师,从事检测技术与航空仪表的研究。
地址: 吉林省长春市东南湖大路2222号,控制系(130022 )
收信人: 战晔
手机: 13943175371
关键词:电压采集;RT1602C;CP2102
数据采集技术是状态监测、设备控制和人机交互的基础,由计算机对数据进行存储、处理以及控制成为科学研究和工业应用的必然趋势。电压采集监测系统有助于建立对数据采集和微机控制的基本认识,为实际开发和应用功能更强大的数据采集系统作准备。
1 系统设计方案
电压量采集系统整体设计框图如图1所示。
系统采用USB-UART桥接器CP2102的USB总线直接供电的功能,无需外接电源。USB-UART桥接器CP2102能使单片机以普通串口的方式发送和接收数据,而与PC机的硬件连接却是通过USB接口实现的。利用VB提供的MSComm控件,PC机能以串口的方式实时的接收和显示单片机发送来的数据。
2 电压量采集显示模块设计
2.1 采集模块设计
在本系统中,ADC0809由USB总线直接供电,片内锁存控制可以对8路0~+5V的输入模拟电压信号分时进行转换。由于ADC0809具有三态输出缓冲器,可直接与单片机的数据总线相连[1]。
本系统中单片机从A/D转换器得到的是8位的二进制数字量,而每个数字量都对应一个唯一的电压值,故需要将这些二进制数转换成其对应的十进制电压值。本系统采用USB总线供电,经测量可得ADC0809的基准电压为4.779V,故按照ADC0809采回的数字量转化成对应的电压值的式1就可以完成数字量到电压值的转换。
2.2 显示模块的设计
显示模块采用液晶显示芯片RT1602C,液晶显示芯片RT1602C与单片机的接口电路如图3所示【2】。机的P3.3,P3.4,P3.5脚作为液晶显示的3根控制线,P1.0~P1.7作为与液晶的数据接口,"BL1"(第15脚)接正,"BL2"(第16脚)接负点亮背光灯,V0(第14脚)通过一个10K的电位器接地使其能调整显示对比度。
每次调用RT1602C显示时都应对RT1602C进行初始化设置,在执行每条写指令或读/写数据之前一定要确认模块的忙标志为低电平,表示不忙,否则指令将会失效,显示字符时还要先输入显示字符地址。
因为RT1602C最多只能显示两行,每行显示16个字符,所以每显示一屏只能显示两个通道的通道号和电压值,故要轮流显示完8个通道需要连续显示4屏,这就要求每显示完一屏后有几秒钟的停留再开始显示下一屏以便于读取该屏显示的两个通道的电压值。
本系统通过初始化子程序设置RT1602C为2行8位显示、5×7点阵、开光标且允许光标闪烁、显示完一个字符后字符不动,光標自动右移的显示模式【3】。
3 数据通信模块设计
3.1 基于 CP2102的USB硬件接口电路
CP2102的VBUS与VREGIN引脚必须始终连到USB的VBUS信号上,并在VREGIN的输入端加上去耦电容。CP2102与单片机接口是标准UART电平,与PC机的USB端口连接是USB标准电路,因此,与采用USB总线供电的单片机连接不需要电平转换。其硬件接口电路如图4所示。
使用时通过USB口连接基于CP2102的好单片机通讯模块,系统将会提示发现新硬件,点击“取消”按钮取消系统自动的驱动程序安装操作,然后安装好Cygnal提供的CP2102的驱动程序,通过查看“我的电脑→属性→硬件→设备管理器→端口→CP210X USB to UART Bridge Controller”可以找到桥接器虚拟的串口号【4】。最后用VB通过设置MSComm控件进行编程就能够以USB口向基于CP2102的设备按传统的串行口方式传输数据了。
3.2 通讯程序设计
本系统采用11.0592MHz晶振,波特率选择9600bps,定时器T1工作于方式2,PCON的SMOD位等于零,串口工作于方式1且允许接收,即串行口为10位通用异步通信接口:一帧信息包括一位起始位、8位数据位和1位停止位的格式,其波特率可调。
经计算可得定时器初值N为FDH。
使用MSComm控件开发串口通信软件。
1)加入通信部件。
2)设定通信端口号码。本系统采用CP2102的驱动程序将USB口虚拟成一个有效的COM口。
3)设定通信协议。该属性用来设置或返回硬件握手协议,即个人计算机与通信设备之间为了控制流速而约定的内部协议。本系统采用其默认值0,即没有握手协议。
4)设定通信参数。本系统采用9600波特率,无奇偶校验,8位数据位和1位停止位的通信格式,故有MSComm1.Setting=”9600,N,8,1”
5)设定其他参数,必要时可以加上其它属性设定。
6)开启通信端口,PortOpen属性设为True。
7)送出字符串或送入字符串,使用Input或者Output属性。
8)使用完MSComm通信对象后,将通信端口关闭,PortOpen属性设为False。
4 结束语
该电压量采集系统利用单片机完成了对ADC0809转换好的数字信号的存储并转换成各通道对应的电压值的功能,并控制液晶显示芯片RT1602C分屏轮流显示8通道电压数据。利用VB提供的串行通信控件MSComm设计实现了串口通讯测试程序。采用芯片CP2102将PC机的USB口虚拟成COM口把8通道数字信号由单片机发送给PC机,PC机能够通过USB口接收、显示数据。此外,由于采用了USB-UART电路,单片机是通过传统的串行口接收PC机发送的数据并由RT1602C显示接收到的数据的。
参考文献
[1] 孙俊逸,盛秋林,张铮.单片机原理及应用[M].北京:清华大学出版社,2006:183-184.
[2] 董朝贤,李冉琦.基于HD44780的字符型液晶显示模块接口的单片机实现研究[J].三门峡职业技术学院学报,2008,7(1):114-116.
[3] 周正华,唐宁.液晶显示模块RT1602C与FPGA接口技术[J].中国科技信息,2008,19:110-111.
[4] 谢志萍.基于USB总线的温度测试系统设计与实现[J].仪表技术与传感器,2005,8:27-29.
作者简介:
战晔(1984-),女,讲师,从事检测技术与航空仪表的研究。
地址: 吉林省长春市东南湖大路2222号,控制系(130022 )
收信人: 战晔
手机: 13943175371