对不起,兄弟想知道的就是在Delphi里如何实现这个控制?
能否示范一下?

解决方案 »

  1.   

    对不起,兄弟想知道的就是在Delphi里如何实现这个控制?
    能否示范一下?
      

  2.   

    这里软硬兼施的人太少!按我说得很容易实现,delphi的嵌入汇编可以帮你!
      

  3.   

    这个仪器的接口不是并口,也不是串口,它相当于是把面板的按钮都定义成数据了。如:RCL被定义成11000100,1被定义成11110001等等。
    我该如何实现呢?
      

  4.   

    楼上各位大哥:我也遇到这个问题,我知道delphi的嵌入汇编:
    asm
     mov dx,Port
     mov al,Value
     out dx,al
    end;
    可以实现,但在NT下不行,有什么方法可以在NT下直接操作端口吗?
      

  5.   

    真的吗?好,我再说一次。
    现在,领导让我把一台高频信号源的数据提取用电脑来控制,要求就是做一个界面,在界面上完成所有操作。该信号源的功能很简单,有:Modulation、Frequency、Level以及Memory功能。再设定好前面三项数据之后,都可以用Memory功能进行存储,存储数为两位。比如:我设定Modulation为:50%,Frequency为850MHZ,Level为:50db,我把它存储在Memory上的01上,在我要使用的时候,我只要按照上面的做法,先按RCL键,然后按DIAN键,再按0和1就把所需要的数据取出来了。
    这台仪器的后面有一个接口,它既不是串口,也不是并口,而只是一个普通的不标准接口,本来是跟一台配套仪器相连的,但是现在想用来连接到电脑上。它是14脚的,共分两排,上面一排从右到左为:1、2、3、4、5、6、GND,下面一排从左到右为:7、8、a、b、c、d、+5v,其中:1、2、3、4、5、6、7、8为DATA,a、b、c、d为:Control.
    关于按键的定义如下:RCL(11000100)、DIAN(11101110)、0(11110000)、1(11110001)、2(11110010)、3(11110011)、4(11110100)、5(11110101)、6(11110110)、7(11110111)、8(11111000)、9(11111001);
    这是几个主要按键的定义,当然还有其他按键,只要实现这些就行了。
    所能提供的资料就这么多,现在就想用Delphi来编一个程序,来实现控制这台仪器的功能。
    bjxbt大哥,这样足够了吗?
    麻烦你了!
      

  6.   

    pannap:
      虽然我不用DELPHI,但这方面我还是有些经验的,一般而言,计算机只能通过并口或串口来与外界进行数据联系,所以你必须做一个转换,比如用单片机什么的,不然我想以你现在的情况不太可能成功
      

  7.   

    难道用vb里面的mscomm.ocx空间都不行吗?
    我只听别人说过可以用这个控件,可并不知道该如何实现。
    另外,由于我是“半路出家”的,对很多东西都不是很了解。
    假如用汇编来做的话,该如何实现呢?
      

  8.   

    如果不是并口串口USB接口,你恐怕要做一个能接到这些口的东西在中间转换一下才行,你要去找这个仪器借口的资料才行。你与计算机都连接不上,还谈什么dephi,根本就和dephi无关了。
      

  9.   

    bjxbt大哥,其实意思很简单,就是放弃前面的按键不用,而在电脑里面通过Delphi编程并设计一个界面,然后之间操作电脑即可完成该仪器的各项功能。在该仪器的各项功能中,我现在首先要完成的是能够读取其Memory中所存储的数据。
      

  10.   

    bjxbt大哥,其实意思很简单,就是放弃前面的按键不用,而在电脑里面通过Delphi编程并设计一个界面,然后之间操作电脑即可完成该仪器的各项功能。在该仪器的各项功能中,我现在首先要完成的是能够读取其Memory中所存储的数据。
      

  11.   

    你这个问题用VB里的mscomm.ocx控件绝对能实现的,因为我以前都做过类似的设计,还有
    我的同学也用它实现了一个电子秤的功能呢!不过,我们都借助了单片机或者自己设计的
    硬件接口的。如何实现呢?就是根据定义好的通讯协议,按照固定的格式发送和接收数据
    端口的所有信息,然后分析接收到的信息,最后做出处理。具体的解决方案就要靠你自己
    多看该控件的Help文档的。
      

  12.   

    可是我这里没有vb,也找不到mscomm.ocx控件。
      

  13.   

    pannap你好:我的意思是指你的端口的:1、2、3、4、5、6、7、8为DATA,a,b,c,d是控制,你没有说明-----譬如:我要提取记录29,则:我先选择RCL,然后选择DIAN,再选择2和9即可
    我想rcl一定是在面板上,现在如果使用接口编程,a,b,c,d控制那一个是将数据输入的控制信号
    如果我知道的,那我可以通过并口向其发准备接受数据,然后通过端口对你接口的数据线(1,2,3,4,5,6,7,8)发(RCL(11000100)),
       你的仪器在受到我的提取指令后,应该给我一个准备好信号(在a,b,c,d中),我可以通过数据线将数据读出?
       你明白了吗?请回复
      

  14.   

    bjxbt大哥,关于这一点,我在上面的问题中已经有说明了,“pin9、10、11、12分别为:control d(display & busy)、control c(display & busy)、control b(read request)和control a(data stroble)”,这就是这仪器说明书关于它们的唯一说明,可以了吗?
      

  15.   

    control d(display & busy)、control c(display & busy)、control b(read request)和control a(data stroble)”,你这四条线的含义我不能理解?
      

  16.   

    不要用什么控件。直接用 Win32 函数 CreateFile 打开串口或者并行口,以文件方式进行数据交换。在 Win9x/NT/2000 下都没问题,还可以利用多线程特性,总之一句话,我用 Delphi 搞这些东西,从不用什么控件,都是 SDK 代码,爽
      

  17.   

    请问你是如何用电脑与设备通讯的!
    这很重要,我做过比这复杂上百倍的
    通讯程序,用的是PLC,这一定要选择
    一个中介来解释你的计算机指令,不
    管你是不是自己定义,并且用它来传送
    给你的设备!
      

  18.   

    Phoenix2000你没有看明题意,简直是瞎扯
      

  19.   

    pannap:我又看了你的帖子,看了这么多,你应该明白了,一定要有中介的,比如falaly(风雨) 说的用PLC(可编程控制器),用计算机直接完成是不太可能的!