TMS320VC33与PC机RS-232通信的几种方法
- 格式:doc
- 大小:413.00 KB
- 文档页数:6
PC 机与单片机通信(RS232 协议)目录:1、单片机串口通信的应用2、PC控制单片机IO口输出3、单片机控制实训指导及综合应用实例4、单片机给计算机发送数据:[实验任务]单片机串口通信的应用,通过串口,我们的个人电脑和单片机系统进行通信。
个人电脑作为上位机,向下位机单片机系统发送十六进制或者ASCLL码,单片机系统接收后,用LED显示接收到的数据和向上位机发回原样数据。
[硬件电路图][实验原理]RS-232是美国电子工业协会正式公布的串行总线标准,也是目前最常用的串行接口标准,用来实现计算机与计算机之间、计算机与外设之间的数据通讯。
RS-232串行接口总线适用于:设备之间的通讯距离不大于15m,传输速率最大为20kBps。
RS-232协议以-5V-15V表示逻辑1;以+5V-15V 表示逻辑0。
我们是用MAX232芯片将RS232电平转换为TTL电平的。
一个完整的RS-232接口有22 根线,采用标准的25芯插头座。
我们在这里使用的是简化的9芯插头座。
注意我们在这里使用的晶振是11.0592M的,而不是12M。
因为波特率的设置需要11.0592M的。
“串口调试助手V2.1.exe”软件的使用很简单,只要将串口选择‘CMO1’波特率设置为‘9600’数据位为8 位。
打开串口(如果关闭)。
然后在发送区里输入要发送的数据,单击手动发送就将数据发送出去了。
注意,如果选中‘十六进制发送’那么发送的数据是十六进制的,必须输入两位数据。
如果没有选中,则发送的是ASCLL码,那么单片机控制的数码管将显示ASCLL码值。
[C语言源程序]#include "reg52.h" //包函8051 内部资源的定义unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容sbit gewei=P2^4; //个位选通定义sbit shiwei=P2^5; //十位选通定义sbit baiwei=P2^6; //百位选通定义unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,}; //1~10 void Delay(unsigned int tc) //延时程序{while( tc != 0 ){unsigned int i;for(i=0; i<100; i++);tc--;}}void LED() //LED显示接收到的数据(十进制){gewei=0; P0=table[dat%10]; Delay(10); gewei=1;shiwei=0; P0=table[dat/10]; Delay(10); shiwei=1;baiwei=0; P0=table[dat/100]; Delay(10); baiwei=1;}///////功能:串口初始化,波特率9600,方式1/////////void Init_Com(void){TMOD = 0x20;PCON = 0x00;SCON = 0x50;TH1 = 0xFd;TL1 = 0xFd;TR1 = 1;}/////主程序功能:实现接收数据并把接收到的数据原样发送回去///////void main(){Init_Com();//串口初始化while(1){if ( RI ) //扫描判断是否接收到数据,{dat = SBUF; //接收数据SBUF赋与datRI=0; //RI 清零。
咼速DSP与PC 实现串口通信的万法数字信号处理器(Digital Signal Processor , DSP )在图形图像处理、高精度测量控制、高性能仪器仪表等众多领域得到越来越广泛的应用,实际运用中,通常须将 DSP 采集处理后的数 据传送到PC 机,然后进行存储和处理。
T1公司的TMS320VC33微处理器具有性价比高,同时,该芯片的I/O 电平、字长、运行 速度、串口功能具有大多数 DSP 的共同特点。
本文针对TMS320VC33与PC RS-232的通讯, 分析三种具体的接口电路和软件设计方法,实现高速 DSP 与低速设备的通讯:①通过TMS320VC33的通用I/O 口实现通信;②通过TMS320VC33中可设置为通用I/O 的串行引脚 实现通信;③直接利用TMS320VC33的串口功能实现通信,在硬件和软件设计的基础上,完 成相关试验和调试,并达到预期的效果。
采用通用I/O 口实现PC 的RS-232接口按照设定的固定波特率传送,RS-232串行口进行通信采用三线式 接法,即RX (数据接收)、TX (数据发送)、GND (地)三个引脚,PC 机按帧格式发送、接收数据, 一帧通常包括1位起始位("0"电平)、5-8位数据位、1位(或无)校验位、1位或1位半停止位("1"电平),起始位表示数据传送开始,数据位为低位在 前、高位在后,停止位表示一帧数据结束。
TMS320VC33微处理器的串口帧格式没有起始位和停止位,只有数据位,且数据位 为高位在前、低位在后。
利用 TMS320VC33微处理器的通用I/O 引脚实现串行通信时,须依 据RS232的通信协议并结合DSP 硬件资源编写相应的DSP 程序。
1 •硬件设计TMS320VC33微处理器共有10个引脚可配置为通用I/O 口,其中XFO 、XFl 为专用 的通用I/O 口,通过软件设计可实现 XFO 、XFl 专用I/O 口与RS232的串行通信,电路结构 如图1所示。
论数控系统和PC机的双向数据传输方法随着数控机床在机械制造业中,特别是在航空、航天、汽车等行业的广泛应用,数控机床所加工的产品零件形状越来越复杂,依靠自动编程软件所生成的数控程序代码容量也越来越大,那么,如何可靠地将大容量的数控程序代码送入数控系统成为数控加工的关键。
现如今的数控机床系统大多具备RS-232串行接口,通过数控系统的RS-232串口与外部计算机之间连接实现串行通讯,是准确可靠传送数控代码的一种有效方法。
本文借助南京第一机床厂有限公司生产的VCM-800(FANUC 0i Mate-MD 系统)加工中心机床提供的RS-232C串行接口平台,介绍通过RS-232C串口实现通讯系统硬件连接、通讯参数设置以及数据双向传输和DNC加工的方法。
1 数据串行通讯系统改造与连接1.1 通讯系统组成(1)南京第一机床厂有限公司VCM-800(FANUC 0i Mate-MD系统)加工中心机床,配有9针和25针RS-232C串行接口;(2)装有UG NX6.0软件的PC 机,提供9针串口COM1;(3)可实现数控编程、文件智能比较、刀位轨迹三维模拟以及DNC传输功能的CIMCO软件公司通讯软件CIMCO Edit V5;(4)一头9针、另一头9槽式RS-232通讯电缆。
1.2 串行通讯系统改造与连接1.2.1 通讯电缆线路连接改造。
RS-232C串口是数据通信设备(DCE)和数据终端设备(DTE)间的一个接口,其引脚及功能见表1。
其中,RXD(接收数据)、TXD(发送数据)、GND(信号地)是三条最基本的连接端,DSR(数据准备好)、DTR(数据终端准备好)、RTS(请求发送)、CTS(清除发送)是硬件联络端口。
PC机COM口各针脚及含义与RS-232C各针脚的含义对应相同,即2-RXD、3-TXD、5-GND。
由于在发送数据前,发送端给出发送信号请求,接收端发出数据终端准备好信号,发送端的DSR(数据准备好)接收到对方的DTR(数据终端准备好)信号后,开始在TXD上传送数据。
无Modem的Rs232串口连接与通讯RS232串口通讯是最常用的,但是为什么就连接了RXD,TXD和GND三个信号,没有任何的握手信号。
原来一直高不明白。
在网上搜了很多关于RS232的资料,也没有找到理想的。
后来就找了一篇英文的资料,自己翻译了一下,总算真正弄清楚了RS232。
特此分享一下。
(本文原创:百度空间——发现电子设计之美,作者Flyasiwng,转载请注明出处。
)简介Rs232串口通讯是计算机领域中最古老、应用最广泛的通讯方式。
Rs232标准规定了DTE和DCE 之间的通讯方法,即PC与Modem这类外围设备的通讯。
DTE是数据终端设备,DCE是数据通讯设备。
而当今,串口通讯最主要的应用是没有Modem的DTE与DCE之间的通讯,而标准中并没对种通讯方式作出详细的规定。
最初的Modem并没有执行某些握手功能。
但是握手功能可以提高通讯的速度,因为这可以让计算机有能力控制信息的流动。
RS232最初的应用方式观察RS232的引脚分配图,可以看到两个专门用于流控制的引脚。
一个RTS,一个CTS。
RTS是请求发送,从DTE输出,输入到DCE。
CTS是确认发送,从DCE输出,输入到DTE。
在发送数据前,DTE先将RTS设为高电平,向DCE请求数据。
如果DCE不允许发送数据,将使CTS保持低电平。
如果允许发送数据,则就爱能够CTS置为高电平。
这是一种简单并有效的单向数据流控制机制。
为了对数据流进一步的控制,通信双方都增加了向对方汇报当前自身状态的能力。
为了实现这一目的,便增加了DTR和DSR信号。
数据终端设备使用DTR信号告知自己已经准备好接受数据。
数据通讯设备使用DSR说明自己已经准备好接受数据。
这两个信号不像RTS和CTS那样,只是单向的请求与应答,它们是双向的握手信号。
DTE和DCE通讯的最后一个流控制信号是CD(载波监听)。
CD不直接对流进行控制,而只是表征Modem可以与对方进行通讯。
这个信号表明两个Modem设备间存在通讯线路。
RS-232接线方法电脑9孔对应机床25孔孔1 孔202 23 34 65 76 207 58 49(空)空备注:1,6同时与20脚焊接RS-232接口有两种连接器。
大多数电脑上的RS-232连接器是一个公螺纹接头DB-25,因此只能用一种电缆连接到控制器上,或在控制器之间连接。
这条电缆必须一端是DB-25公螺纹接头而另一端是DB-25母螺纹接头。
引脚1、2、3、4、5、6、7、8、和20必须一个一个地连接起来。
它不能是对绞线,因为这种电缆会颠倒为引脚2和3。
为了检查电缆类型,可使用一个电缆测试器来检查通信线路是否正确。
控制器是DCE(数据通信设备)。
这意味着它在RXD(接收数据)线(引脚3)传送和在TXD(发送数据)线(引脚2)接收。
在大多数电脑上,RS-232连接器的布线适合于DTE(数据终端设备),因此不需要任何特殊的跨接线。
下行线路DB-25连接器仅在使用一个以上控制器时使用。
第一个控制器的下行线路连接器连接到第二个控制器的上行线路连接器,等等。
哈斯转台控制与铣床的接口连接RS-232接口传送和接收数据位为7、奇偶校验、以及停止位2。
接口设定必须正确。
数据传输速率可以在每秒110至19200位之间。
当使用RS-232时,很重要的一点是,必须确保参数26(RS-232速度)和33(用于启用X-on/X-off)在控制器和电脑中被设定为相同的数值。
如果参数33被设定为on(接通),控制器使用X-on(X轴接通)和X-off(X轴断开)代码来控制接收,因此注意确保你的计算机能够处理这些代码。
它在传送X-off的同时还省略CTS(清除发送)(引脚5)而在发送X-on的同时恢复CTS(清除发送)。
RTS线(引脚4)可用于启动/停止通过控制器的传送,否则可以使用X-on/X-off代码。
DSR线(引脚6)在控制器接通电源时被启动,而DTR线(来自电脑的引脚20)没有被使用。
如果参数33是0,则CTS(清除发送)线仍可用于使输出同步。
基于RS-232C总线的PC与TMS320C203串行通信电路邓勇;施文康;马伟方;刘艾
【期刊名称】《计算机工程与应用》
【年(卷),期】2002(038)005
【摘要】介绍了一个数字信号处理器与PC机基于RS-232C总线的串行通信电路,所设计的硬件电路解决了DSP与PC机电平转换的问题,并利用TMS320C203的I/O线作为RS~232C接口的握手信号,使TMS320C203与PC机可以通过标准的RS-232C串行总线进行通信.该电路结构简单,可靠性好,通信速度快,在实际使用中效果良好;它也适用于其它同类似的DSP与PC机串行通信系统.
【总页数】3页(P129-131)
【作者】邓勇;施文康;马伟方;刘艾
【作者单位】上海交通大学电子信息学院,上海200030;上海交通大学电子信息学院,上海200030;上海交通大学电子信息学院,上海200030;上海交通大学电子信息学院,上海200030
【正文语种】中文
【中图分类】TP36
【相关文献】
1.基于通用异步通信电路的DSP与PC的高速串行通信 [J], 孙贺欣;刘艳
2.基于PCF8584实现串行I2C总线接口的扩展 [J], 张艳春
3.基于PCI总线的1394串行总线接口设计 [J], 边庆;代明清
4.基于CPCI总线的异步串行模块设计 [J], 杨跃轮;李士刚
5.利用RS-232C串行总线接口实现仪器的自动测试 [J], 顾涵铮
因版权原因,仅展示原文概要,查看原文内容请购买。
FANUC系统R232传输程序步骤工学院周全元对于一些复杂的零件,我们往往会用到自动编程,进行数控加工。
那么如何将自动编程的程序传输到数控机床,这就是我们今天需要学习的。
首先,程序的传输需要将电脑的R232接口与数控机床的R232 接口相连,这就需要一根两端不同数量针孔的R232连接线,自己制作或者购置都可以。
然后,数控机床准备接收程序过程。
〔以FANUC Series oi-MB系统为例,传输的程序为00003文件〕。
传输的文件为O0003,那么就需要确定机床中没有存储00003文件,所以我们需要检索一下。
传输的程序名,一定要确保机床当中没有重名,否那么会报警,因而无法将程序传输进来。
2•选择“编辑〞模式“PROGRAM〞程序界面。
2•输入“00003〞,然后“O检索〞确定是否有该文件。
3•如果有该文件,就删除该文件,因为不能重名。
再次输入-00003;然后按••DELETE* 删除键。
4•如果没有,会出现报警,按下“RESET 〞复位键。
5•同样是“编辑:“PROG 〞程序界面,按下“DIR+〞进入目录界面,需要注意一下,文件存储是否还有余量,如果有继续。
6•按下“操作〞键,然后按“下一个〞界面。
063・8OT308PROGR.)(対■ ) MEMORY (CHAR.►42. 120 220, 08«CONMEMT■ ) MEMORY (CHAU ) I42. 12・ 226 eeeCOMMtMl0MI9 00364 ooaee 8322 83230M19 O«3«4 0«3t6 8322 0*32305398PROGR.9axBL > MEMORY (CHAR.4 乙 12« 22・,08» COMMENT7•按下“READ〞键输入文件名“00003〞,然后按下“EXEC〞执行键,机床就准备好。
O63B8 NOMooMEMORY (CHAR. >42, ue 22a 080S 5 N最后,电脑传输软件发送文件。
VC++编程让PC机与三菱PLC串口通讯的实现随着微电子及控制技术的不断发展,PLC已逐渐成为一种智能型、综合型控制器,由PLC构成的集散控制是现代工业控制的一个重要组成部分。
PLC具有使用简单方便,故障率低,抗干扰能力强等优点;但同时,数据的计算处理与管理能力较弱,且无法提供良好的人机界面。
将计算机与PLC结合起来,可使两者优势互补,充分利用计算机友好的人机界面,实现人机对话和监控功能,并可进行一定的辅助决策,组成高性能价格比的控制系统。
实现计算机与PLC结合的控制系统的关键之一是二者之间的通信。
本设计选用三菱FX2N系列的PLC,以Visual c++6.0作为开发工具对PLC通讯主程序进行设计,串口通讯采用ActiveX控制Microsoft Communication Control 6.0,最后用PLC编程电缆将PLC编程口与计算机串口连接进行调试。
1 三菱PLC与计算机之间通信协议串行通信是指外设和计算机间使用一根数据信号线一位一位地传输数据,每一位数据都占据一个固定的时间长度。
“串行”是指外设与接口电路之间的信息传送方式,CPU与接口之间仍按并行方式工作。
串行通信的四个重要参数:波特率(衡量通信速度的参数)、奇偶校验位(一种简单的检错方式)、数据位(衡量通信中实际数据位的参数)和停止位(表示单个数据包的最后一位)。
(1)三菱FX2N系列通信数据帧格式FX2N系列的PLC与计算机之间的通信采用RS-232C标准,其传输速率一般设为9 600 bps,实际传输过程还可设其它,比如115 200 bps 等。
奇偶校验位采用偶校验。
数据以帧为单位发送和接收。
一个多字符帧由起始字元、命令号码、元件首地址、结束字元、和校验五部分组成,其中和校验值是将命令码STX—ETX之间的字符的ASCII码(十六进制数)相加,取得所得和的最低二位数。
STX和ETX分别表示该字符帧的起始标志和结束标志。
起始字元(STX):ASCII码的起始字元STX对应的16进制数位0x02。
RS-232实现单片机与PC间的串行通信串行通信是计算机与外设之间数据传输的一种方式。
RS-232是一种经典的串行通信标准,它被广泛应用于单片机与PC之间的通信。
什么是RS-232协议RS-232是一种串行通信接口标准,它定义了单片机与外设之间信号的电气特性、传输协议和机械连接方式。
RS-232标准的发展可以追溯到20世纪60年代,在数十年的时间里,它成为了计算机与外设之间最常见的传输方式之一。
RS-232标准规定了单片机与PC之间使用的物理连接、数据传输的时序和控制信号等方面的细节。
它定义了一组信号电平和电气特性,用于在两个设备之间传输数据。
RS-232标准的物理层使用了DB-9或DB-25连接器,其中DB-9连接器是最常见的。
在RS-232协议中,数据被分割成小的数据包进行传输。
每个数据包由一个起始位、数据位、奇偶校验位和一个或多个停止位组成。
这些位用于将数据解释为字符并将其传输到目的地设备。
如何使用RS-232实现单片机与PC间的串行通信要使用RS-232实现单片机与PC间的串行通信,需要实现以下几个方面:1.物理连接:使用RS-232标准定义的连接器,将单片机和PC连接起来。
2.电气特性:保证单片机和PC之间的电气特性匹配。
3.传输协议:使用RS-232标准定义的数据传输协议,将数据从单片机发送到PC,或者从PC发送到单片机。
4.数据编码:将数据编码为RS-232标准定义的数据格式。
以上所有方面都需要实现正确,才能使单片机与PC间的串行通信正常进行。
RS-232实现单片机与PC间的串行通信的优缺点RS-232协议是单片机与PC间串行通信的经典标准,它具有以下优缺点:优点:1.稳定性高:RS-232协议信号电平的质量非常高,能够保证数据传输的稳定性和可靠性。
2.延迟低:RS-232协议传输速度相对较慢,但延迟非常低,能够及时传输数据。
3.成本低:RS-232协议使用简单、成本低廉,适合开发者在项目中广泛使用。
TMS320VC33与PC机RS-232通信的几种方法党瑞荣,石浩亮,高国旺西安石油大学,陕西省光电传感测井重点实验室陕西西安710065摘要为了实现高速数字信号处理器TMS320VC33与PC机RS-232的接口,提出了三种具体的接口电路和软件设计方法,第一种方法是通过TMS320VC33的通用I/O引脚实现通信,第二种方法是通过TMS320VC33中可设置为通用I/O的串行引脚实现,第三种方法是直接利用TMS320VC33的串口功能实现通信。
在硬件和软件设计的基础上,完成了相关的软硬件的调试和试验,实现了高速DSP与低速设备的接口,达到了预期的效果。
可以作为其它高速CPU与PC机实现异步通信的参考。
关键词异步串行通信;RS-232 ; DSP中图分类号:TP273 文献标识码:BMETHODS OF COMMUNICATIONS BETWEEN PC’S RS-232 AND TMS320VC33 DANG Ruirong, SHI Haoliang, GAO Guowang(Xi’an Shiyou University ,Shanxi Key Laboratory of Photoelectric Sensing Logging ,Xi’an710065 ,China)Abstract: It discusses the interface between high speed digital signal processo r-TMS320VC33 and PC’s RS-232. It provides three different interface circuits and software design methods. The first method uses universal I/O pins of TMS320VC33 to communicate with RS232. The second method carries out communications by serial port pins of TMS320VC33, which is configured as universal I/O pins. The last method directly completes communications by serial port pins of TMS320VC33, which are configured as serial function. Based on the hardware design, software emulation and the system experiment, the high quality communications device is accomplished. These methods are useful and can be used as reference high speed DSP communications with low speed device.Key words: Asynchronous Serial Communications;RS-232; DSP1 引言数字信号处理器(Digital Signal Processor, DSP)有高速数字信号处理等特点,软件运行采用了流水线作业方式,指令周期为ns级,字长可以是16位、32位或64位,能够实现整数或浮点数的实时处理,在图形图像处理、高精度测量控制、高性能仪器仪表等众多领域得到越来越广泛的应用。
在许多场合,往往需要把DSP采集处理后的数据传送给PC机进行存储和进一步处理,通过PC机的RS-232异步串行口通信是一种简单易行的方法。
但DSP的种类繁多,硬件不兼容,指令不统一,即使同一厂商推出的芯片,其功能和性能也差异很大。
运行速度一般很高,有些DSP的指令周期仅为0.05ns[1],字长多为32位或更长,I/O电平多为3.3V,即使有些DSP中设置了串行口,其串口的引脚数目、通信速率、工作方式、接口电平等与PC机的RS232口也有着很大的差异,这对DSP与PC 机RS232口的通信带来了一定的困难。
采用德克萨斯仪器公司(Texas Instrument, TI)于2001年推出的新一代高性价比DSP—TMS320VC33实现了与PC机RS232口的通信。
选择该芯片实现与RS232口通信的意义在于:第一,在目前的几十家DSP生产商中,TI是最大的供应商,占到市场份额的50%以上[1];第二,TMS320VC33是该公司性价比最高的芯片;第三,该芯片的I/O电平、字长、运行速度、串口功能代表了许多DSP 的共同特点。
因此,TMS320VC33与PC机RS232通信的实现方法对其它类型的DSP有许多可供参考之处。
2 采用通用I/O引脚实现串行通信PC机的RS-232口没有时钟信号,只能按照设定的固定波特率传送。
通过PC机的RS-232串行口进行通信采用三线式接法,即只需连接RX(数据接收)、TX(数据发送)、GND(地)三个引脚。
PC机按帧格式发送、接收数据,一帧通常包括1位起始位(“0”电平)、5-8位数据位、1位(或无)校验位、1 位或1位半停止位(“1”电平)。
起始位表示数据传送开始,数据位是低位在前,高位在后,停止位表示一帧结束。
而VC33的串口帧格式与PC机不同,它没有起始位和停止位,只有数据位,而且是高位在前,因此要想利用VC33的通用I/O 引脚实现串行通信,必须针对RS232的通信协议编写相应的DSP程序,同时这一工作又与所采用的DSP硬件资源有关。
VC33共有10个引脚可配置为通用I/O引脚,其中XF0和XF1是专用的通用I/O引脚,通过软件设计可使这两个专用I/O引脚与PC机RS232实现串行通信,其电路结构如图1所示。
图1 通用I/O引脚与PC机RS232口的连接图图中采用MAX202作为RS232C电平与TTL电平的转换芯片,即R1in、T1out 为RS232C电平,R1out、T1in为TTL电平,但由于VC33能够承受的最高电压为4.5V[2],所以作为输入引脚使用的XF0和INT2不能直接与R1out相连,为了简化结构,采用了电阻分压的方式,使这两个引脚上的高电平为 3.3V,这就保证了VC33不被损坏。
XF1是VC33的输出引脚,可以与MAX202的T1in引脚直接相连。
图1中VC33的INT2引脚为外部中断脚,MAX202的R1out经电阻分压后同时连接到INT2和XF0,这样可以利用传输的第一位触发VC33的外部中断。
这种传输方式的传输速率及传输位数都是在软件中控制的。
实现这种方案的关键是软件设计,在本系统中设计的传输软件不仅灵活性很高,并且在一定程度上降低了误码率。
利用VC33内部定时器和中断标志寄存器IOF来完成软件设计。
数据接收和发送流程基本相同,下面以图2的数据接收流程来说明数据传输过程(假设已经对系统进行了初始化)。
设传输速率为9600bit/s,一个起始位(“0”),8位数据位,一个终止位(“1”)。
开始位只定时半位的时间,第一位以后的定时周期设置为一个位的时间,这就保证了每一位都是在中间采样,这是与传统RS232串口传输方式最大的不同,也是设计这种传输方式的一个特点,这种方法有利于降低传输的误码率。
当数据的起始位到来时就触发VC33的INT2中断,进入INT2中断服务子程序后,首先关掉INT2中断,设置传输的字节长度Rx =0AH,开定时器0(TIMER0)的中断。
当进入定时器0中断服务子程序后,先判断Rx是不是0Ah,即判断是不是传输起始位,若Rx=0Ah,表明传输的是数据起始位,同时要判断XF0管脚的状态是“0”还是“1”,如果此时XF0管脚上的状态是“1”,则可以判定数据传输错误,重新开始接收下一个数据的准备工作。
反之表明数据开始正常的传输。
Rx将减1,同时刷新Rx中的内容,即Rx=Rx-1,在TIMER0图2 通用I/O引脚实现串行通信的数据接收流程图的周期寄存器和计数寄存器中存入定时整个位的时间常数,开定时器0的中断。
定时时间一到,程序又进入TIMER0的中断服务子程序,再判断Rx是不是终止位,如果是终止位,就开始接收新的数据,打开INT2,TIMER0周期寄存器和计数寄存器中存放半位的时间参数。
如果判断的结果不是终止位,采样并存储XF0的状态,同时刷新Rx中的内容,即Rx=Rx-1,启动定时器。
定时一到就进入TIMER0的中断服务子程序,再判断各个参数。
直到接收到的是终止位。
处理发送数据的程序与接收数据的程序大体相同。
3 VC33的串口引脚作为通用I/O引脚实现串行通信VC33的串口引脚也可以作为通用I/O引脚,通过对I/O引脚的操作可实现串行数据的接收和发送,本文用VC33中口的数据接收引脚DR接收RS232数据,用VC33的数据发送引脚DX向RS232口发送数据,电路结构如图3,图中,图3 VC33的串口引脚与PC机RS232口的连接图MAX202的R2out与VC33的INT1和DR相连。
VC33软件的设计需要用到定时器和串口寄存器,其中定时器的设置与图1所示电路相同,因此,将VC33的串口寄存器设置好后,数据接收流程与图2类同。
VC33串口寄存器设置的关键是将其串口引脚DR、DX设置为通用I/O引脚,即不实施串口功能。
这时,DR、DX引脚的作用与图1中XFO和XF1的功能相同,接收数据的流程也与图2大体相同。
需要说明的是:第一,通过图1和图3所示硬件电路的组合,可实现一片VC33与两台微机的同时通信;第二,VC33共有10个引脚可配置为通用I/O引脚,因此,通过巧妙地利用VC33的内部和外部中断源、2个定时器、1个串口定时器和软件定时等方式,实现1片VC33与多台微机同时通信。
4 直接利用VC33的串口功能实现RS232通信这种方法的特点是直接利用VC33的串口功能进行通信,而不是将串口引脚设置为通用I/O引脚再实现串行通信。
VC33 的串行通信有固定数据速率和可变数据速率两种类型,每种类型又有连续、标准和爆发方式[3],适合与RS232接口的通信方式是固定速率的爆发方式,在该方式下,每个字的传送都由帧同步(FSX/FSR)信号开始,后面是数据位,其时序如图4所示。
R/XVAREN=0R/XFSM=0 CLKX/RFSR/FSX(extermal)FSX(int-ernal)图4 VC33串口固定爆发方式时序图需要注意,VC33在爆发方式接收数据时,从帧同步信号后开始接收就不再考虑FSR信号,但在一帧信号的最后一位时,FSR必须为低电平,否则就将会被作为下一帧的帧同步信号位。