




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
综合设计性实验论文题 目:院 系:专 业:学 号:姓 名:指导教师:设计日期: 基于PC的智能数字电压表设计 信息与通信学院 电子信息工程 0901130443 农 聪 王守华 2012-10-31 桂林电子科技大学就业指导(论文)报告用纸 第5页 共5页摘 要在实际的数据采集系统中,常常采用PC机作为系统的上位机,控制整个采集过程,完成命令的发送接收和数据的存储处理,而下位机是以单片机为核心的现场数据采集装置,完成现场数据的采集和上传。上下位机之间通过RS232总线连接,实现数据和命令的传送与接收。上位机中,采用在Windows环境下,通过VB中的MSComm控件实现软件编程;下位机则采用了可以直接控制硬件整个系统将单片机小巧、灵活、可靠的优点结合,应用了二者的长处,从而实现了微机与单片机的通信。以下主要介绍PC机通信程序设计部分,即上位机的操作显示界面采用VB进行可视化编程。一、具体步骤过程1、建立项目:打开VB,创建窗体,在默认窗体Form1上添加控件,以构建用户界面。2、在项目中插入MSComm控件:在窗体上添加界面的控件,在Form1窗体上添加以下控件:标签Label11:用于显示文字“测量电压”;标签Labe14:用于显示文字“基于PC的数字电压表设计”;标签Labe16:用于显示文字“制作人:”;标签Labe17:用于显示文字“量程:”;标签Labe18:用于显示文字“精度:”;标签Labe19:用于显示文字“误差:”;文本框Text1:用于显示计算结果(平方数)。命令按钮Command1:用于计算输入数的平方,并把结果显示在文本框Text1中;命令按钮Command2:用于结束应用程序的运行;Frame1:用于串口设定显示;Combo1:用于选择串口;Combo3:用于波特率选择。3、设置对象属性:在“属性窗口”中进行设置以上对象的属性。4、添加串口事件消息处理函数MSComm1_OnComm():双击窗口体上“Text1”文本框添加MSComm1_OnComm()函数,这个函数是用来处理串口消息事件的,如每当串口接收到数据,就会产生一个串口接收数据缓冲区中有字符的消息事件,我们刚才添加的函数就会执行,我们在MSComm1_OnComm()函数加入相应的处理代码就能实现自已想要的功能了。本设计在函数中加入如下代码:Private Sub MSComm1_OnComm()Dim INBYTE() As Byte Dim BUF$, I% /声明变量Dim NVALUE As VariantDim DY As VariantSelect Case MSComm1.CommEvent /选择测量与停止Case comEvReceiveBUF = /保存数据MSComm1.InputLen = 0INBYTE = MSComm1.InputFor I = LBound(INBYTE) To UBound(INBYTE)BUF = BUF + Hex(INBYTE(I) + Chr(32) /数据转换Next INVALUE = CLng(&h + BUF) DY = NVALUE * 0.0196Text1.Text = DYMSComm1.InBufferCount = 0End SelectEnd Sub 5、选择串口和设置串口参数: 可以选择任意的串口和需要的时候打开或关闭串口,在窗体中双击“Combo1”添加Combo1_Change()函数,在窗体中双击“Combo3”添加函数Combo3_Change(),并加入如下代码:Combo1_Change()Select Case Combo1.SelTextCase COM1MSComm1.CommPort = 1 使用COM1 口Case COM2MSComm1.CommPort = 2Case COM3MSComm1.CommPort = 3Case COM4MSComm1.CommPort = 4Case COM5MSComm1.CommPort = 5Case COM6MSComm1.CommPort = 6Case COM7MSComm1.CommPort = 7Case COM8MSComm1.CommPort = 8End SelectText1.Text = Combo3_Change()Select Case Combo3.SelTextCase 115200MSComm1.Settings = 115200,n,8,1 设置通信参数Case 14400MSComm1.Settings = 14400,n,8,1 设置通信参数Case 9600MSComm1.Settings = 9600,n,8,1 设置通信参数Case 4800MSComm1.Settings = 4800,n,8,1 设置通信参数End Select6、读取数据:先为测量按钮添加一个单击消息即Command1_Click()处理函数,并在函数中添加如下代码:Command1_Click()If MSComm1.PortOpen = False ThenMSComm1.PortOpen = TrueCommand1.Caption = 关闭串口ElseMSComm1.PortOpen = FalseCommand1.Caption = 打开串口End If7、清空编辑框内容:为编辑框显示的内容设置一个清空显示按钮,即“停止”按钮并添加Command2_Click()函数,并在函数中添加如下代码:Command2_Click()If MSComm1.PortOpen = True ThenMSComm1.PortOpen = FalseEnd IfUnload Me二、总体功能实现编译并保存文件,生成文件夹目录,编译时自动弹出可执行文件“电压表界面.EXE”,设置好串口参数后,接着按下“测量”按钮,此时由单片机控制的AD采样电压值经内部处理,以及通过串口通信将数据发送到上位机的显示界面来。在实践应用中,经过反复测试整个样机的功能,各项指标达到了预先的设计要求。整机工作性能稳定,同时可视化界面正常显示相应的电压值。智能数字电压表上位机的操作界面如图1所示。图1 数字电压表人机界面三、测试结果分析1、指标测试:0-5V量程电压精度测试:下面表1是0-5V量程的测量的实际值和理论值。电压范围电压取值实测误差0-1V1.2V1.10V0.1V1-2V1.55V1.50V0.05V2-3V2.56V2.52V0.04V3-4V3.89V3.90V0.01V4-5V4.59V4.66V0.07V表1 测量的实际值和理论值2、测试结果分析与结论:(1)测试结果的分析测试得到的结果与理论值的确存在一定的误差,产生误差的原因有三个:待测电压的脉冲波动不为5V(5.02V)。在给A/D0809的参考电压也可能存在波动,参考电压的波动会使得电压精度的下降,这也是产生误差的一原因;人为的误差,在程序编写的时候,为了避免麻烦,对小数进行四舍五入的计算,这样对于数据小些就会产生较大的误差。(2)测试结论电压表基本上达到了所设计的要求,并且利用软件节约了几块芯片降低了成本,符合电子产品发展趋势,但工艺有所欠缺。电压可以通达单片机和PC机之间的通信通过电压实时显示出所显示的电压。四、总结经过这次作品的设计和制作的成功,我们深深的体会到和别人互相多交流的重要性。这次作品又给我一次锻炼的机会,是对我对所学理论知识得到进一步巩固,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民生监督业务培训课件
- 民法课件简单案例
- 民法学第二章课件
- 冰雪运动考试题库及答案
- 河南安全监管动态讲解
- 基层医护人员关系优化
- 民族资本主义经济课件
- 保教个人工作方案(模板)
- 新质生产力:科技与创新的融合
- 光棍节双十一活动方案
- 2025年乡镇民政办招聘养老护理员面试常见问题及答案
- 2025客运从业资格试题及答案
- 2025租房合同范本下载参考
- 2025广东广州市公安局招聘交通辅警150人(第二批)笔试参考题库附答案解析
- 2025危险品押运员模拟考试试题及答案
- (2025秋新版)人教版二年级数学上册全册教案(教学设计)
- 网络意识形态课件
- 中小学预防基孔肯雅热主题班会课件-防蚊灭蚊守护健康
- 社工基础知识培训课件
- 党史宣讲面试题目及答案
- 2025年小水电行业当前竞争格局与未来发展趋势分析报告
评论
0/150
提交评论