飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件_第1页
飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件_第2页
飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件_第3页
飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件_第4页
飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件第三章第三章 高级语言的串行通信编程高级语言的串行通信编程 主要内容v Visual Basic 6.0 编程简介 v Visual Basic 6.0 语言基础 v Visual Basic的常用控件 v Visual Basic的串行通信控件MSCommv Visual Basic的串行通信编程实例 飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.1 Visual Basic 6.0 编程简介编程简介3.1.1 Visual Basic概述概述 Visual Basic 6.0是是Windows环境下的通用程序设计

2、工具。环境下的通用程序设计工具。“Visual”指的是开发图形用户界面指的是开发图形用户界面(GUI)的方法,即可视化的方法。的方法,即可视化的方法。“Basic”指的是指的是BASIC(Beginners All-Purpose Symbolic Instruction Code) 语言,一种在计算技术发展历史上应用最为广泛语言,一种在计算技术发展历史上应用最为广泛的语言的语言 。 特性特性 : 可视化程序设计方法。可视化程序设计方法。 采用面向对象的程序设计方法。采用面向对象的程序设计方法。 采用事件驱动方式的程序设计原理。采用事件驱动方式的程序设计原理。 飞思卡尔8位单片机MC9S080

3、3高级语言的串行通信编程课件3.1.2 面向对象的程序设计概念面向对象的程序设计概念(1)对象及其相关概念)对象及其相关概念 对象:一个整体看待的数据和代码的集合。对象:一个整体看待的数据和代码的集合。 属性:每一个对象所具备的特性。属性:每一个对象所具备的特性。 事件:对象所能识别的动作。事件:对象所能识别的动作。 方法:对象所能执行的动作。方法:对象所能执行的动作。(2)面向对象的程序设计)面向对象的程序设计 面向对象的程序设计方法与编程技术不同于标准的过程化程序设面向对象的程序设计方法与编程技术不同于标准的过程化程序设计。面向对象程序设计基本上是一种包装代码,代码可以重用而且维计。面向对

4、象程序设计基本上是一种包装代码,代码可以重用而且维护起来很容易。护起来很容易。飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.1.3 事件驱动的程序设计事件驱动的程序设计(1)原理)原理 在事件驱动的应用程序中,代码不是按照预定的路径执行,而是在事件驱动的应用程序中,代码不是按照预定的路径执行,而是在响应不同的事件时执行不同的代码片段。事件可以由用户操作触发、在响应不同的事件时执行不同的代码片段。事件可以由用户操作触发、也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序本身的消息触发。本身的消息触发。 (2)

5、事件驱动的程序设计过程)事件驱动的程序设计过程 设计出窗口界面。设计出窗口界面。 设置界面中各种对象的属性。设置界面中各种对象的属性。 为对象规定在被某个为对象规定在被某个“事件事件”激活时执行的激活时执行的“过程过程”。 构成完整的应用程序。构成完整的应用程序。飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.1.4 Visual Basic 6.0开发系统开发系统(1)Visual Basic 6.0的集成开发环境的集成开发环境 Visual Basic是一个所见即所得的软件快速开发工具,在实际的是一个所见即所得的软件快速开发工具,在实际的开开发流程中,分为两个部分:窗体设计

6、和程序编写。发流程中,分为两个部分:窗体设计和程序编写。关键部分关键部分 有工具有工具箱、工程管理区、窗体设计区、程序设计区、调试运行区箱、工程管理区、窗体设计区、程序设计区、调试运行区。(2)Visual Basic 6.0的开发环境的开发环境 Visual Basic开发环境有开发环境有3种模式,即设计模式、运行模式和中种模式,即设计模式、运行模式和中断模式,整个系统的开发过程,就是在这断模式,整个系统的开发过程,就是在这3种模式间不断切换进行的种模式间不断切换进行的过程。过程。 飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件(3) Visual Basic 6.0 开发应用

7、程序的步骤开发应用程序的步骤 创建程序的用户界面;创建程序的用户界面; 设置界面上各个对象的属性;设置界面上各个对象的属性; 编写对象响应事件的程序代码;编写对象响应事件的程序代码; 保存工程;保存工程; 测试和调试应用程序,检查并排除程序中的错误;测试和调试应用程序,检查并排除程序中的错误; 创建可执行程序。创建可执行程序。 飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.1.5 Visual Basic 6.0的帮助系统的帮助系统Visual Basic 6.0本身并不提供帮助系统,它的帮助信息集成在本身并不提供帮助系统,它的帮助信息集成在MSDN(MicroSoft De

8、veloper Network)中。要获得中。要获得Visual Basic 6.0的的帮助信息,必须另外安装微软公司提供的帮助信息,必须另外安装微软公司提供的MSDN。MSDN综合了微软可综合了微软可视化开发工具、系统技术及相关的技术信息。视化开发工具、系统技术及相关的技术信息。MSDN提供了提供了Visual Basic的技术细节及例程。的技术细节及例程。 返回返回飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.2 Visual Basic 6.0 语言基础语言基础3.2.1 编码基础编码基础 (1)代码的大小写敏感性)代码的大小写敏感性 VB代码不区分字母的大小写,但是系

9、统会自动将保留字某些字代码不区分字母的大小写,但是系统会自动将保留字某些字 母更改为大写。在定义变量时,如果变量名中包含大写字母,在后续母更改为大写。在定义变量时,如果变量名中包含大写字母,在后续引用该变量时,变量名也会自动改变大小写,使其与定义时保持一致。引用该变量时,变量名也会自动改变大小写,使其与定义时保持一致。(2)语句书写自由)语句书写自由 一行可书写几条语句,语句之间用冒号分隔。一行可书写几条语句,语句之间用冒号分隔。 一条语句可分若干行书写,用续行符一条语句可分若干行书写,用续行符“_”连接。连接。 一行内的字符不得超过一行内的字符不得超过255个。个。(3)使用注释有利于程序的

10、维护和调试)使用注释有利于程序的维护和调试 飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件(4)常量和变量)常量和变量 在编程时一些固定不变的数值就是常量经常变化的量就是变量在编程时一些固定不变的数值就是常量经常变化的量就是变量常量和变量的命名规则如下:常量和变量的命名规则如下: 以字母或汉字开头,后可跟汉字、字母、数字或下划线,长度以字母或汉字开头,后可跟汉字、字母、数字或下划线,长度小于等于小于等于255个字符。个字符。 不要使用不要使用VB中的关键字。中的关键字。 为了增加程序的可读性,可在变量名前加一个缩写的前缀来表为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明

11、该变量的数据类型。明该变量的数据类型。 (5) 数据类型数据类型飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.2.2 基本语句基本语句 (1) 赋值语句赋值语句(2) 条件语句条件语句(3) 循环语句循环语句(4) 子过程语句子过程语句(5) 自定义函数的语句自定义函数的语句 向过程或函数传递参数向过程或函数传递参数有两种方式:传地址和传值。在实际编程有两种方式:传地址和传值。在实际编程时,推荐使用传值方式传递参数。时,推荐使用传值方式传递参数。 返回返回飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.3 Visual Basic的常用控件的常用控件常用控件说

12、明常用控件说明(1)Label控件控件(标签标签)(2)TextBox控件控件(文本框文本框) (3)Frame控件控件(框架框架)(4)CommandButton控件控件(命令按钮命令按钮) (5)OptionButton控件控件(单选按钮单选按钮)(6)Timer控件控件(定时器定时器)(7)Picture控件控件(图片框图片框) (8)Shape控件控件(几何图形几何图形)返回返回飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.4 Visual Basic的串行通信控件的串行通信控件MSComm3.4.1 串口通信编程串口通信编程 一般说来,计算机都有一个或多个串行端口,

13、它们依次为一般说来,计算机都有一个或多个串行端口,它们依次为Com1、Com2、.。这些串口还提供了。这些串口还提供了PC与外部设备进行数据传输和通信的通与外部设备进行数据传输和通信的通道,这些串口在道,这些串口在CPU和外设之间充当解释器的角色。当字符和外设之间充当解释器的角色。当字符 数据从数据从CPU发送给外设时,这些字符数据将被转换成串行比特流数据;当接收数据发送给外设时,这些字符数据将被转换成串行比特流数据;当接收数据时,比特流数据被转换为字符数据传递给时,比特流数据被转换为字符数据传递给CPU。Visual Basic的的MSComm通信控件提供了一系列标准通信命令的接口,通信控件

14、提供了一系列标准通信命令的接口,它允许建立串口连接,可以连接到其他通信设备、还可以发送命令、进它允许建立串口连接,可以连接到其他通信设备、还可以发送命令、进行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件,行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件,从而可以用它创建全双工的、事件驱动的、高效实用的通信程序。从而可以用它创建全双工的、事件驱动的、高效实用的通信程序。飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.4.2 MSComm控件的引用控件的引用 由于由于Visual Basic的串行通信控件并不主动出现在工具箱中,当的串行通信控件并不主动出现

15、在工具箱中,当我们需要我们需要MSComm控件时,可把它添加到工具箱中,步骤如下:图控件时,可把它添加到工具箱中,步骤如下:图3-5 加载的加载的MSComm控件。控件。 单击【工程】菜单。单击【工程】菜单。 在【工程】菜单中选择【部件】命令。在【工程】菜单中选择【部件】命令。 打开【部件】对话对话框,选中打开【部件】对话对话框,选中“Microsoft Comm Control 6.0”复选框。复选框。 单击【应用】或【确定】按钮,即可在工具箱中看到单击【应用】或【确定】按钮,即可在工具箱中看到“MSComm控件控件”图标,如图图标,如图3-5所示,我们就可以象使用标准控件所示,我们就可以象

16、使用标准控件一样使用一样使用MSComm控件。控件。飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.4.3 MSComm控件的主要属性控件的主要属性 (1)CommPort属性属性 (2)Settings属性属性(3)PortOpen属性属性 (4)Input属性属性(5)InputMode属性属性 (6)InputLen属性属性(7)OutPut属性属性 (8)RThreshold属性属性(9)SThreshold属性属性 (10)CommEvent属性属性(11)DTREnable属性属性 (12)RTSEnable属性属性(13)HandShaking属性属性飞思卡尔8位

17、单片机MC9S0803高级语言的串行通信编程课件3.4.4 MSComm控件的事件控件的事件 MSComm控件只有一个事件,即控件只有一个事件,即OnComm事件,所有可能发生事件,所有可能发生的状况,全部集成在这个事件中进行处理。而且只要的状况,全部集成在这个事件中进行处理。而且只要CommEvent属属性值发生变化,就会产生性值发生变化,就会产生OnComm事件,表示发生了一个通信事件事件,表示发生了一个通信事件或一个通信错误。事件及错误如前面表或一个通信错误。事件及错误如前面表3-4及表及表3-5所列的常数定义。所列的常数定义。通过事件的引发,利用通过事件的引发,利用CommEvent属

18、性值的数值就可清楚地了解到属性值的数值就可清楚地了解到所发生的事件或错误,所以在编程时,一旦所发生的事件或错误,所以在编程时,一旦OnComm事件发生,就事件发生,就会引入会引入CommEvent参数,用户可以在一个相关的参数,用户可以在一个相关的CASE语句之后编语句之后编写程序代码来处理特定的事件或错误写程序代码来处理特定的事件或错误 。飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.4.5 MSComm控件通讯的方式控件通讯的方式(1)事件驱动方式)事件驱动方式 事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。事件驱动通讯是处理串行端口交互作用的一种非常有效的方法

19、。在许多情况下,在事件发生时需要得到通知,例如,在串口接收缓冲在许多情况下,在事件发生时需要得到通知,例如,在串口接收缓冲区中有字符,或者区中有字符,或者 Carrier Detect (CD) 或或 Request To Send (RTS) 线上一个字符到达或一个变化发生时。在这些情况下,可以利用线上一个字符到达或一个变化发生时。在这些情况下,可以利用MSComm控件的控件的OnComm事件捕获并处理这些通讯事件。这种方法事件捕获并处理这些通讯事件。这种方法的优点是程序响应及时,可靠性高。的优点是程序响应及时,可靠性高。 (2)查询方式)查询方式 查询方式实质上还是事件驱动,但在有些情况下

20、,这种方式显得查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程序的每个关键功能之后,可以通过检查更为便捷。在程序的每个关键功能之后,可以通过检查CommEvent属性值来查询事件和错误。如果应用程序较小,并且是自保持的,这属性值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。种方法可能是更可取的。 返回返回飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.5 Visual Basic的串行通信编程实例的串行通信编程实例3.5.1 实例概述实例概述 串行通信编程实例主要演示在串行通信编程实例主要演示在PC机上通过串行口进行数据的机上

21、通过串行口进行数据的收发,实现两台收发,实现两台PC机之间的数据通信,通信模型如下图所示。机之间的数据通信,通信模型如下图所示。串行通信实例RS232412356789412356789 串行口连线AB 在这个实例中,我们所使用的串行线只需要用到串行口中的三根在这个实例中,我们所使用的串行线只需要用到串行口中的三根线,即地线线,即地线(5)、发送线、发送线(2)、接收线、接收线(3)。具体的连线如下图所示,地。具体的连线如下图所示,地线相连、线相连、A串口的发送线连到串口的发送线连到B串口的接收线,串口的接收线,A串口的接收线连到串口的接收线连到B串口的发送线,通过这种方法连接而成的串行线称为

22、交叉线,即串口的发送线,通过这种方法连接而成的串行线称为交叉线,即A口口发送的数据发送的数据B口接收,口接收,B口发送的数据口发送的数据A口接收。口接收。 飞思卡尔8位单片机MC9S0803高级语言的串行通信编程课件3.5.2 窗体设计窗体设计 窗体设计的操作步骤如下:窗体设计的操作步骤如下: 新建一个新建一个VB工程,将窗体的工程,将窗体的Caption属性改为属性改为“串行通信实串行通信实例程序例程序”。 在窗体上放置在窗体上放置1个个MSComm控件,作为串行通信的通道,将控件,作为串行通信的通道,将控件的控件的Name属性设置为属性设置为MSComm1。 放置放置2个个Label控件,将控件,将Caption属性分别改为属性分别改为“发送数据发送数据区区”、“接收数据区接收数据区”。 放置放置2个个TextBox控件,作为送出数据的输入位置及接收数据控件,作为送出数据的输入位置及接收数据的显示区,并将的显示区,并将Name属性分别更改为属性分别更改为txtSend及及txtReceive。 放置放置1个个CommandButton控件,在其控件,在其Caption属性内输入属性内输入“发送数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论