摘要:串口通信作为计算机通信的一种,在计算机的发展过程中,得到了快速的发展和广泛的应用。随着单片机技术的不断扩展和发展,串口通信在单片机中也得到了广泛的应用和发展。
关键词:串口通信;单片机;开发;应用 serial communication application in the mcu development
yuan beijia
(information engineering,zhengzhou university,zhengzhou 450001,china)
abstract:serial communication as a computer communications,the development process of the computer,has been rapid development and wide application.with scm technology continues to expand and develop in the microcontroller serial
communication has also been widely used and developed.
keywords:serial
communication;mcu;development;application
随着电子继承技术的发展,现在的单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能
力的中央处理器cpu随机存储器ram、只读存储器rom、多种i/o口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。由于其功能不断的增强,相对通信的功能要求也就更高,因此串口通信技术在单片机的设计和使用中得到了广泛的应用。
一、串口通信的原理
不同的通信方式的有着不同的通信原理,串口通信采用的是按位(bit)来进行操作的,因此相对于按照字节(byte)来操作的通信方式速度要慢。但是串口通信也要他自身的优点,串口采用的是三根线来完成通信功能,一根线来实现数据的发送和接手,另外两个线来实现串口的控制。它虽然慢,但是可以实现远距离的传输,根据串口的配置模式的不同可以实现同步和异步两种传输方式。因此在实现串口的通信的时候必须要对相应的参数波特率、数据位、停止位和奇偶校验进行设置。
二、串口通信的模式
根据串口通信的特点和方式将串口通信的模式可以分为两类,分别是同步传输和异步传输两类。所谓的同步传输就是需要有共同的时钟源。只有收发双方都有相同的时钟源,才能够保证数据的正确发送和接收。传输的每组数据必须加上同步字,不允许有空隙,在没有信息要传输时,填上
空字符,传输的同事还要传输时钟信号。异步传输则不需要相同的时钟源,但是不能相差的太多。不能超过允许的范围。相比之下,同步传输的效率比异步传输的效率高,但是匹配时钟相对比较的复杂,一旦匹配不上,就会发生错位。因此在实际的应用过程中异步传输使用的范围相对较广,出错的几率相对较小,应用的比较广泛。
三、串口通信在单片机开发中的应用
(一)硬件设计。本文主要讨论的是串口通信在单片机开发过程中的应用。根据单片机的设计流程,首先是进行硬件的设计,也就是根据项目的需求完成相应的元器件的选型,包括控制器、电平转换芯片等等,进行硬件方案的设计。根据需求的不同采取不同的工作模式,设计不同的工作电路完成对串口通信的硬件设计。
(二)软件设计。串口通信的软件设计可以分为两部分,分别是上位机和下位机软件设计。最终来实现利用串口进行通信。
1.上位机软件。上位机是指人可以直接发出操控命令的计算机,因此他软件根据平台的不同编写的时候采用的开发语言和环境也不同。以下以常见的pc机为例来介绍上位机软件的开发,采用vc++来实现。pc机与单片机进行串行通信前,首先要分别对各自的串口进行初始化,确定串口的工
作方式、波特率、数据格式等。本例中约定,pc机与单片机之间串行通信使用pc机的串口1(com1),波特率为9600bps,数据格式为8个数据位、1个停止位、无奇偶校验位。具体过程如下所示:
建立一个基于对话框的mfc应用程序scommtest。添加控件mscomm,选择project菜单下add to project子菜单中的 components and control选项,在弹出的对话框中双击registered activex controls项,则所有注册过的activex控件出现在列表框中。初始化串口的工作模式,波特率,数据格式。设置好串口的格式和参数后,进行串口的读写操作。
2.下位机软件。下位机是直接控制设备获取设备状况的计算机,上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机随时读取设备状态数据,转化成数字信号反馈给上位机。为了节省下位机的资源和时间,下位机软件采用汇编来实现,执行速度快。
(1)串口初始化
ov tmod,#20hmov th1,#0fdhmov tl1,#0fdhsetb tr1mov scon,#50h setb ea setb es
(2)串口发送及显示
cjne a,#7dh,lp dec r0 mov p0,#07ch lcall delayljmp mlp:cjne a,#0bdh,loop3loop0:dec r0cjne r0,#29h,loop5inc r0ljmp mainloop5:mov p0,#77hmov a,@r1mov sbuf,a mov p0,#77hjnb ti,$clr timov p0,#77hlcall delay inc r1ljmp main
(3)串口接收及显示
mov a,sbufmov 30h,amov dptr,#table2mov r4,#0ffh mov a,sbuf
四、结束语
串口通信的应用随着嵌入式技术的不断更新和发展,正在发生着巨大的变化。单片机作为嵌入式领域的重要组成部分,使用也越来越广泛。串口通信作为单片机通讯的重要方式之一,其应用的领域也将越来越广泛。因此这种通信系统的研究和使用具有很大应用价值。
参考文献:
[1]李建设.单片机的串行通信接口技术探讨[j].现代电子技术,2005,18
[2]董学义.pc机与单片机的串行通信设计[j].科技资讯,2007,13
因篇幅问题不能全部显示,请点此查看更多更全内容