VC 高级程序设计

发布 2021-05-01 23:19:28 阅读 1394

目录。1.实验要求1

2.软硬件平台简介1

3.总体设计思想1

4.具体设计界面图(含详细操作步骤2

4.1建立应用工程2

4.2添加界面控件2

4.3映射控件通用消息3

4.4为对应控件添加**3

4.5生成可执行的exe文件7

五.软件流程图8

六。 测试结果截图9七。 总结10

一、实验要求。

把一台计算机和单片机(12c5a60s2)的串口通过串口线连在一起,通过串口实现通讯。利用vc++高级语言、c语言编程实现,要求程序界面友好,有发送和接收功能,其接收和发送内容可在屏幕上显示。

2、软硬件平台简介

cpu:p4 2g及以上兼容于80x86 架构的**处理器。

内存:1g 及以上。

硬盘:80g及以上。

网卡:100m及以上。

操作系统:windows xp 及以上。

软件:visual c++ 6.0 keil uvision3-4 stc_isp_v488

硬件:51开发板搭载stc12c5a60s2单片机1602液晶显示屏。

三、总体设计思想。

串口通讯把数据的字节分解成单个的二进制比特流依次传输,其结构简单,连接线少,应用非常广泛。实现串口通信的方法很多。如:

利用标准通信函数实现串口通信、利用api实现串口通信和利用activex控件实现。

本文主要采用activex控件microsoft communications control(mscomm)编程,windows平台先进的activex技术使得对串口编程不再需要处理烦琐的细节。利用已有的axtivex控件,只需要编写少量的**,就可以轻松高效地完成任务。

以下对activex控件属性进行简单介绍,在classwizard中为新创建的通信控件定义成员对象(cmscomm m_comm),通过该对象便可以对串口属性进行设置,mscomm控件共有27个属性,这里只介绍其中几个常用属性:

commport:设置并回通讯端口号,缺省为com4。

settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。

portopen:设置并返回通讯端口的状态,也可以打开和关闭端口。

input:从接收缓冲区返回和删除字符。

output:向发送缓冲区写一个字符串。

inputlen:设置每次input读入的字符个数,缺省值为0,表明读取接收缓冲区中的全部内容。

inbuffercount:返回接收缓冲区中已接收到的字符数,将其置0可以清除接收缓冲区。

inputmode:定义input属性获取数据的方式(为0:文本方式;为1:二进制方式)。

rthreshold和sthreshold:表示在oncomm事件发生之前,接收缓冲区或发送缓冲区中可以接收的字符数。

四、具体设计截面图。

1、建立应用工程。

启动vc++6.0,创建一个基于对话框的mfc应用程序项目,选择project菜单下add to project子菜单中的components and controls选项,在弹出的对话框中双击registered activex controls项,则所有注册过的activex控件出现在列表框中。选择microsoft communications control version 6.0,单击insert按钮即可将通信控件插入该工程。添加该控件到对话框中,设置控件id号为idc _mscomm.

2、添加界面控件。

将对话框中的按钮“取消”删除,将“确定”按钮改为“退出”。在对话框中添加适当的界面控件。本实验中需添加的标注用的静态控件、用于选择串口和设置波特率的组合框分别设置控件id号为idc_combo_select和idc _combo_btl set、添加控制开始发送/接收按钮控件并设置控件id号为idc_button_start,添加用于输入发送数据和输出接收数据的编辑框并设置控件id号为idc_edit_send和idc_edit_receve,同时为其设置各种属性。

添加完后如下图。

3、映射控件通用消息。

(1)打开mfc classwizard对话框,单击member valuable为相应控件添加变量。添加变量名和类型如下表:

如下图:4、为对应控件添加**。

1)为按钮idc_button_open添加单击响应函数void cmydlg::onbuttonopen();函数**如下:

void cmydlg::onbuttonopen()

// todo: add your control notification handler code here

if(m_updatedata(true);

if(m_nport==-1)

m_选择com

m_设置输入缓冲区的大小。

m_设置输出缓冲区的大小。

m_设置当前接收区数据长度为0

m_表示以二进制方式检取数据。

m_/* 接收缓冲区有1个及1个以上字符时,将引发接收数据的oncomm事件*/

m_打开串口。

if(m_else

2)为按钮idc_button_send添加单击响应函数void cmydlg::onbuttonsend();函数**如下:

void cmydlg::onbuttonsend()

updatedata(true); 读取编辑框内容。

int nsendlength=m_要发送的字符串送字符数组。

cbytearray bytearray;

VC程序设计教学大纲

vc程序设计 教学大纲。一 课程的性质和任务。课程性质 vc程序设计 是信息与网络技术 现代文秘专业的一门必修专业课。本课程的任务是 通过教学和实践,使学生了解面向对象的程序设计方法,掌握c 的面向过程与面向对象程序设计的基本数据类型 控制结构 表达式 函数 指针和引用 类与对象的基本概念 封装 继...

VC 程序设计课程设计模版

西安科技大学。vc 程序设计 课程设计报告。题目。院 系 部。专业及班级。学号。姓名。日期。1 题目要求。一级标题小三黑体,二级标题四号黑体,正文小四宋体,行间距20磅。2 功能需求。分析系统应具有哪些功能。3 总体设计。3.1 系统模块。绘制系统功能模块图。3.2 系统业务处理流程。给出系统业务处...

高级程序设计

信息与通信工程学院。高级程序设计 实验报告。学号 s314080098 专业 信息与通信工程 学生姓名 李长玺。任课教师 杨志钢。2015年3月。实验一。一 任务描述。1 设计一个带头结点的单链表,并随机生成一组序列,存入该单链表中。2 针对上一步生成的单链表,编写算法,将其中的数据元素按照值递增的...