• / 3
  • 下载费用:10 金币  

显示测试系统数字IO口控制的设计与实现.pdf

关 键 词:
显示 测试 系统 数字 IO 控制 设计 实现
资源描述:
Design and Implementation of the Digital I/OControlBased on Display Measurement SystemZHANG Lai-bin,YANG Xiao-wei,LI Xiao-hua(Department of Electronic Engineering, Southeast University, Nanjing 210096, China)Abstract:T he designers of the guns and the deflection units usually observe the shape, the size and thegravity of the spot on the screen in order to valuate and im prove the design of the guns or thedeflection unit. In the display m easurem ent system , the serial com m unication is developed toim plem entthe digitalI/O control. T he paper presents the design and im plem entation m ethod of theserial com m unication using R S-232 serial port, and introduces how to com m unicateusingMSComm,an activeX object offered by V C ++6.0.ThecontrolofthedigitalI/ObysinglechipAT89C51 is alsogiven.Key words:display m easurem ent system ;RS-232;MSComm;serial com m unication;AT89C51;digitalI/OEEACC:7260显示测试系统数字I/O口控制的设计与实现张来斌,杨晓伟,李晓华(东南大学电子工程系, 南京 210096)①摘 要:对彩色 CRT显示器屏上光点特性的观测和分析可用于电子枪和偏转单元的设计改进。 在完成此功能的显示测试系统中,可采用串口通信的方式实现个人计算机对数字I/O 口的控制。本文探讨了应用VC+ + 6.0中提供的MSComm控件编制串口通信程序,采用 RS-232 实现 PC 向下传输数据的具体方法,并简单介绍了采用 AT89C51单片机实现对数字 I/O 口的控制方式。关键词:显示测试系统; RS-232;MSComm;串行通信; AT89C 51;数字 I/O 口中图分类号:TN873 文献标识码:A 文章编号:1005-9490(2004)04-0741-03彩色阴极射线管( CathodeRay Tube,CRT)显示器显示机理是阴极电子束透过荫罩激发荧光粉后在荧光屏上形成亮度分布,所以屏上光点亮度分布直观地反映了电子束剖面的形状和尺寸,通过观察和测量光点的形状、 尺寸和重心等指标可做出对电子束特性的分析和判断,以验证和改进电子枪( E lectron G un)和偏转单元( DU)设计。目前已经有多种基于不同方法的光点测试系统在工厂和科研机构中应用。其中一种基于由个人计算机控制的采用脉冲方式的显示测试系统,可以测量和分析屏上任何位置真实光点的尺寸和质量。为了实现个人计算机对显示测试系统中一些关键部分的控制,一种方法是采购符合要求的现2004 年 12 月 Chinese JournalofElectron D evices D ec .2004收稿日期:2004-06-15作者简介:张来斌(1979-),男,硕士研究生,研究方向为显示测试系统研究,lai bin@ sohu.com ;杨晓伟,男,高级工程师, yxw @ seu.edu.cn;李晓华,男,教授,博士生导师, lx h @ seu.edu.cn。成板卡来完成所要求的功能,另一种方法就是自行设计与系统配套的电路,同时开发相应的软件程序。由于现成板卡的输入、 输出受到一定的限制,所以本实验采用第二种方法,以串行通信的方式实现显示测试系统中个人计算机对数字I/O口的控制。1 接口数据传输电路设计在显示测试系统中,除一部分设备可通过电脑直接控制外,还有诸多的信号控制是通过面板控制完成的,并未完全集成到上位机的程序控制界面中。进行数据传输电路设计实验的目的就是为了便于验证通过发送不同的字节命令来对系统中各个设备及其工作方式进行选通,从而实现更高程度的智能化控制。 1.1 电路设计R S-232-C 接口(又称 E IA R S-232-C ,C 代表最新版本)是目前计算机应用系统最常用的一种串行通讯接口,在应用中其主要有以下几个优点:①应用广泛,②在微控制器中,接口芯片使得RS232电平与 TTL 电平之间相互转换非常容易实现,③连接距离可以达到 50~100 ft,④通讯实现简单,连接线少,对于双向连接,只需要 3条导线。 所以在对速度要求不高,并且传输距离不远的显示测试系统中,RS-232是一种比较合适的通信方式。设计接口数据传输电路,将上位机PC 经由RS-232 串行 端口 COM 1传出来的串行数据转换为8 bit或16bit并行数据。 该电路的主要结构框图如图1 所示 。图1 接口数据传输板结构图首先,数据信号从 PC 机的串行口(COM 1)中经由 RS-232 的 TXD 端发送,经 MAX232 实现电平转换(接线方法如图2所示)。在电路中,NE555 作为时钟发生器,只在收到串行数据的时候产生时钟脉冲。由 74 LS74与 74 LS160构成计数电路,数据移位到串行/并行移位寄存器,与每个数据byte同时产生一个锁存脉冲(Latch),用于并行指定端口 。图2 MAX232连线图PC 机端口设置的波特率为 B=9600bit/s,故定时器NE555产生的时钟为CL= 16B。 根据时钟频率公式 CL=1.44(R1+2R2)× C2可选定电位器R1、 R2 和电容 C2 的值,见图 3。图3 外部时钟电路接口数据传输电路的整个电路图如图4 所示(有关芯片引脚的部分连线在此图中省略)。74LS74 的 CLK 1、 74LS160 和 74LS164 的 CLK与外部时钟电路 NE555 的 OUT 引脚相连。为方便观察整个电路的数据传输功能的实现,用发光二级管与取反后的串行/并行移位寄存器74LS164的并行输出端,以及74LS74的 Q/2相图4 数据传输电路图247 电 子 器 件 27卷连,通过观察二级管的亮灭来判断数据传输正确与否。1.2 程序设计M icrosoft Com m unications Control(简称M SCom m ) 是 M icrosoft 公 司 提 供 的 简 化W indow s下串行通信编程的 A ctiveX 控件,它为应用程序提供了通过串行接口收发数据的简便方法,避免了编程者去了解较为复杂的 API函数。在使用 M SCom m 控件开发串行口实现数据传输的程序中,采用了事件驱动法。 以下具体介绍实现方法。程序流程图如图5 所示 。图5 程序流程图打开 VisualC+ + 6.0集成开发环境,创建一个基于对话框的M FC 应用程序项目,命名为F irstStep。完成这一步后,在当前打开的 ProjectF irstStep 中,打开“ Project-> A dd to P roject->C om ponents and C ontrols-> R egistered A ctiveXControls”菜 单 选 择 Components: M icrosoftCom m unications Control, version 6.0 命令插入到当前的 Project 中。结果就添加了类CMSComm。类 CMSComm 的 相 关 文 件mscomm.h 和mscomm.cpp 也一并加入Project中。在FirstStepDlg.h 中添加下面的语句:protected: CM SComm m Com;对串行口 COM 1 进行初始化,为按钮控件“ Initializtion” 添加消息处理函数,设置 M SCom m的 Settin gs 属性为“ 9600,N ,8,1” ,其具体涵义为传输速率9 600 bit/s,无奇偶校验,8 bit数据比特,1 bit停止比特。m Com.SetC om m Port(1); ∥选择串行端口 COM 1m Com.SetInBufferSize(1024);∥设置输入缓冲区的大小, Bytesm Com.SetO utBufferSize(512);∥设置输出缓冲区的大小,Bytesif( ! m Com .GetPortOpen()) ∥打开串口m Com .SetPortO pen(T RU E );m Com.SetInputM ode(1);∥设置输入方式为二进制方式m Com.SetS ettings(“9600,n,8,1“);∥设置数据传输速率等参数m Com .SetRThreshold(1);∥为 1 表示有一个字符引发一个事件m Com .SetInputLen(0);M SCom m 控件接收到字符,然后发送事件。void CFirstStepD lg∷O nCom m M scom m (){V A R IA N T vR esponse;in t k ;if(m _ Com .GetCom mEvent()= = 2){k=m C om .G etInB ufferC ount();∥接收到的字符数目if(k>0)vResponse= m Com.GetInput(); ∥ read∥接收到字符, M SComm 控件发送事件}}将接收到的字符转换为字节数组,设置MSComm控件的 OutPut属性,通过 RS-232 的TxD 发送到接口数据传输板。C ByteA rray array;array.RemoveAll();array.SetSize(num ber);for(i=0;i< num ber; i+ + ) ∥生成字节数组array.SetA t(i, D ata[i]);m Com .SetO utput(C O leV ariant(array)); ∥发送数据关闭COM 1端口。m Com.SetPortOpen(FALSE);1.3 测试结果通过对接口数据传输板进行测试,上位机 PC分别发送 1、 2、 3 byte的十六进制数据,经由 RS-232传输到接口数据传输板,并由两片串行/并行移位寄存器 74 LS164 并行输出。通过对与74LS164 及 74LS74 的 Q/2相连的发光二级管的亮灭情况的观察,输出结果与所传送的数据相一致。(下转第771页)347第4期 张来斌,杨晓伟等:显示测试系统数字I/O口控制的设计与实现
展开阅读全文
1
  金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:显示测试系统数字IO口控制的设计与实现.pdf
链接地址:http://www.gold-doc.com/p-34268.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
copyright@ 2014-2018 金牌文库网站版权所有
经营许可证编号:浙ICP备15046084号-3
收起
展开