文档详情

面向对象实训报告.doc

发布:2017-06-04约3.38千字共12页下载文档
文本预览下载声明
面向对象实训报告 学 号 xxxxxxxx 姓 名 xxxx 指导教师: 年 月 日 串行通信上位机程序 一:基本任务 设计一个基于对话框的计算器串行通信上位机程序,实现常用串行通信。 二:性能、指标、要求: 1.性能:基于VC++6.0的MFC编辑框架的串口通信,要求要求独立设计计算器所需的所有按钮,能够实现波特率可变,能够实现串口端口可选,能够实现发送与接收数据的实时显示等基本功能。 2.指标:通过基于VC++6.0的MFC编辑框架,按照实训要求设计出简单的能完成串口通行所需的按钮功能,能够实现波特率可变,串口端口可选,能实现发送与接收数据的实时显示的基本功能。 3.要求:(1) 按照题目要求独立设计计算器所需的所有按钮,并完成程序源码编写、调试及关键代码注释。 (2)能够实现波特率可变。 (3)能够实现串口端口可选。 (4)能够实现发送与接收数据的实时显示。 三:方案设计: 1. 方案论证: 通过Mscomm控件实现串口间的通信,Mscomm控件提供了一些修改属性的函数,可以对波特率,串口属性进行修改。并能与AccessPort.exe进行数据发送和接收。 2.工作原理: (1)目的:通过设计的基于对话框的计算器串口通信上位机程序,实现常用 串口通信,能够完成发送和接收,及波特率可变,串口端口可选。 (2)波特率的可变和串口端口的可选的分析:通过VC++6.0的MFC中的组合框来设计波特率及串口端口的可选,在程序中用switch语句来实现这两个功能的操作。波特率的数据为: 2400,4800,9600,115200;串口的端口的数据为:COM1,COM2,COM3,COM4.设计好它们的属性,在程序中就可以对它们进行操作了。 (3)发送及接收的文本框的分析:自己设计的串口通信,在发送的文本框中写入内容,通过发送按钮可以把这些内容发送到AccessPort.exe中,并能显示发送的内容。在AccessPort.exe中写入数据并发送,能够在自己设计的串口中的接收文本框中接收到数据。 (4)发送按钮的分析:按下发送按钮,就能把自己设计的串口接收文本框的内容发送到AccessPort.exe中,在AccessPort.exe中,能显示接收到的内容。 (5)打开串口按钮的分析:按下打开串口按钮,就能打开相应的串口端口。 (6)整体步骤: 四:软件设计: 按下列图所示建立一个基于对话框的MFC程序 点击完成,得到下面的对话框: 这样就得到了下图所示的界面 右键点击class1的对话框界面,在弹出的菜单中选择属性,打开下面的属性对话框: 建立下图所示的对话框控件: 各控件属性如下: 第一个文本框: 第二个文本框: 串口的属性: 波特率的属性: 五:制作与调试过程 1. 打开串口按钮的程序: void CClass1Dlg::OnBtnPortopen() { // TODO: Add your control notification handler code here int nIndex , nIndex2; int com ; nIndex= m_combox1.GetCurSel();//获得串口下拉列表当前值 nIndex2=m_combox2.GetCurSel();//获得波特率下拉列表当前值 switch(nIndex)//串口的选择 { case 0: com=1; break; case 1: com=2; break; case 2: com=3; break; case 3: com=4; break; } m_msComm.SetCommPort(com);//获取串口 m_msComm.SetInBufferSize(1024);//设置输入缓冲区的大小 m_msComm.SetOutBufferSize(512);//设置输出缓冲区的大小 if (!m_msComm.GetPortOpen())//判断串口是否打开 { m_msComm.SetPortOpen(TRUE); } switch(nIndex)//波特率的选择 { case 0: m_msComm.SetSettings(2400,N,8,1); break; case 1: m_msComm.SetSettings(4800,N,8,1); break; case 2: m_msComm.SetSettings(9600,N,8,1); break; case 3: m_msComm.SetSetti
显示全部
相似文档