佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1379|回复: 19

各位高手,请问谁懂得怎样让PIC的output send 去VB?

[复制链接]
发表于 19-10-2007 09:55 PM | 显示全部楼层 |阅读模式
各位高手
我现在想让PIC的output(5V) send 去 VB, 然后让 VB 能知道有input 进来,可以通过 parallel port 弄到吗?
应该要怎么做啊?
程序该怎么写?
先谢谢咯。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 19-10-2007 10:56 PM | 显示全部楼层
原帖由 jason86 于 19-10-2007 09:55 PM 发表
各位高手
我现在想让PIC的output(5V) send 去 VB, 然后让 VB 能知道有input 进来,可以通过 parallel port 弄到吗?
应该要怎么做啊?
程序该怎么写?
先谢谢咯。。。


serialport & parallel port都可以
回复

使用道具 举报

 楼主| 发表于 19-10-2007 11:22 PM | 显示全部楼层
原帖由 fritlizt 于 19-10-2007 10:56 PM 发表


serialport & parallel port都可以


那么程序方面要怎么写呢?
可以教教我吗?
回复

使用道具 举报

发表于 20-10-2007 10:40 AM | 显示全部楼层
原帖由 jason86 于 19-10-2007 11:22 PM 发表


那么程序方面要怎么写呢?
可以教教我吗?

通常我们都不send voltage(5V)去pc的。
都是senddata去pc,然后再process.也就是一个byte 一个byte这样send.
我用serial port。
pic方面用usart.这个不多解释。 datasheet里面有很详细地讲解。

pc 方面, 我用vb6.0。 你需要一个library. 就是mscomm.
把mscomm加进去。
然后要一点setting.我的mscomm命名为MSComm1.

MSComm1.CommPort = 1         ‘设定你要的com port.
MSComm1.Settings = "9600,N,8,1" '9600baudrate, no parity bit, 8 data bits, 1 stop bit.
接下来就很简单。
要以用的时候就要open port.
MSComm1.PortOpen = True    'open com port.

要send data就用 MSComm1.output = <string>
要receive data就用<string> = MSComm1.Input
EXAMPLE:    receive.Text = MSComm1.Input

你是要拿来做什么用途的??
这个贴应该开在单晶片分区那边把

[ 本帖最后由 fritlizt 于 20-10-2007 10:43 AM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 20-10-2007 11:21 AM | 显示全部楼层

回复 #4 fritlizt 的帖子

哦。。。 那我想我真的是开错地方了。。。 对不起
其实我是要让PIC做完一个task后send signal 去 PC(VB), VB 接收到信号后就让counter 提高一个数据。。。

我现在弄着的project是 PCB driller machine, 就是说,当钻完一个洞后 PIC 会 send signal 去 PC, 然后在 VB 的 GUI 里会显示哪一个洞已经完成。
你有更好的建议吗?

谢谢你的教学咯,感激不尽
回复

使用道具 举报

发表于 20-10-2007 11:37 AM | 显示全部楼层
原帖由 jason86 于 20-10-2007 11:21 AM 发表
哦。。。 那我想我真的是开错地方了。。。 对不起
其实我是要让PIC做完一个task后send signal 去 PC(VB), VB 接收到信号后就让counter 提高一个数据。。。

我现在弄着的project是 PCB driller machine, 就是 ...

强!这样的话就要控制driller的位置控制到很准。
不然的话会钻错洞。

我就没什么建议啦。。。。precision control我不在行。
做完后来分享分享一下。
回复

使用道具 举报

Follow Us
 楼主| 发表于 20-10-2007 12:01 PM | 显示全部楼层
原帖由 fritlizt 于 20-10-2007 11:37 AM 发表

强!这样的话就要控制driller的位置控制到很准。
不然的话会钻错洞。

我就没什么建议啦。。。。precision control我不在行。
做完后来分享分享一下。


我完成整个 project 后一定把全部资料 post 上去,跟各位分享。。。
控制 precision 我搞定了,现在只是剩下 VB part 罢了。。。

其实刚才你提供的我不是很明白,能不能改用parallel port?
我已经加入MsComm 了, 外来的 signal 该从哪里进呢?
VB 我真的很不在行,没学过。。。 只是乱试一场。。。
PIC 勉强还可以。。。

谢谢咯。。。
回复

使用道具 举报

发表于 20-10-2007 12:58 PM | 显示全部楼层
原帖由 jason86 于 20-10-2007 12:01 PM 发表


我完成整个 project 后一定把全部资料 post 上去,跟各位分享。。。
控制 precision 我搞定了,现在只是剩下 VB part 罢了。。。

其实刚才你提供的我不是很明白,能不能改用parallel port?
我已经加入 ...


改用paralle port是可以的。不过我不会/ 要请教pic斑竹。
其实我的方法是send data给cpu,不是cpu detect signal再process.你可以pic process再send data给cpu.或者直接send raw data给cpu process也可以。自己决定。

把pic rx -->db9 tx, pic tx-->db9 rx.ground 要common.
中间要用一个max232.来做level shifter.
回复

使用道具 举报


ADVERTISEMENT

发表于 20-10-2007 03:51 PM | 显示全部楼层
电子跑灯的帖, 教了如何Output 到 Parallel Port.

你要input, 可以用以下的code。

  1. Private Declare Function DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As Byte

  2. Value = DlPortReadPortUchar(&H379)
复制代码


value是读回来的8bit , Address &379, 是Parallel port 的Status port。

基本的Parallel Port 可以读回5个bit,
你可以用 Pin 10 , ACK (Bit 6) 为input。

我只是简单讲, 你不明白再问。
回复

使用道具 举报

 楼主| 发表于 20-10-2007 05:41 PM | 显示全部楼层
原帖由 pic 于 20-10-2007 03:51 PM 发表
电子跑灯的帖, 教了如何Output 到 Parallel Port.

你要input, 可以用以下的code。

Private Declare Function DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As Byte

Value = DlPort ...


对,我就是用电子跑灯的基本程序来更改的,要先谢谢你咯
"in 10 , ACK (Bit 6) 为input。" 是什么意思?

其实我想改点你的程序,就是当5V send in 时,那个本来没有色的圆圈会变成青色。教教我咯。。。谢谢。。。
我改你的程序你不会生气吧?
我的project 完成后一定放一个特别鸣谢于你的名字,你真的教会了我好多东西,感激不尽!
回复

使用道具 举报

发表于 26-10-2007 05:16 PM | 显示全部楼层

回复 #10 jason86 的帖子

可以改, 改好了贴上来。
回复

使用道具 举报

发表于 28-10-2007 11:33 AM | 显示全部楼层
至于 c++ 的呢??

我在尝试用  c 和 c++ 来comunicate , 但是, 试了很多方法,
visual studio , turbo c , 都不能 。
然后我尝试用 dos 来控制 parallel port , 但是还是不能。。
回复

使用道具 举报

发表于 28-10-2007 02:41 PM | 显示全部楼层
原帖由 chan1314 于 28-10-2007 11:33 AM 发表
至于 c++ 的呢??

我在尝试用  c 和 c++ 来comunicate , 但是, 试了很多方法,
visual studio , turbo c , 都不能 。
然后我尝试用 dos 来控制 parallel port , 但是还是不能。。


chan1314, 如果你想在windows-xp 的 dos 环境下操控 paraller port 的话,那你就不必浪费时间了。因为 windows-xp 已经把这些界面保护起来了,不能直接的使用,必须同过系统调用 。除非是在 windows-98 下,你就能使用 dos,可是必须是真 dos 哦!

[ 本帖最后由 rothmans 于 28-10-2007 02:42 PM 编辑 ]
回复

使用道具 举报

发表于 28-10-2007 02:53 PM | 显示全部楼层
原帖由 rothmans 于 28-10-2007 02:41 PM 发表


chan1314, 如果你想在windows-xp 的 dos 环境下操控 paraller port 的话,那你就不必浪费时间了。因为 windows-xp 已经把这些界面保护起来了,不能直接的使用,必须同过系统调用 。除非是在 windows-98 下 ...



刚才在某些forum 看到, NT 以上就不能直接控制 parallel port 了。
麻烦啊。。。。。。。
回复

使用道具 举报

发表于 28-10-2007 03:01 PM | 显示全部楼层
原帖由 chan1314 于 28-10-2007 02:53 PM 发表



刚才在某些forum 看到, NT 以上就不能直接控制 parallel port 了。
麻烦啊。。。。。。。


windows 98 以后就不能 在 dos 模式下直接控制界面了。

[ 本帖最后由 rothmans 于 28-10-2007 03:03 PM 编辑 ]
回复

使用道具 举报

发表于 28-10-2007 06:54 PM | 显示全部楼层
原帖由 chan1314 于 28-10-2007 11:33 AM 发表
至于 c++ 的呢??

我在尝试用  c 和 c++ 来comunicate , 但是, 试了很多方法,
visual studio , turbo c , 都不能 。
然后我尝试用 dos 来控制 parallel port , 但是还是不能。。


还是用dlportio1.dll, 下载Driver. << Port95NT.exe (1,573,094bytes)>>
安装后参考VC 源码。
回复

使用道具 举报


ADVERTISEMENT

发表于 28-10-2007 08:04 PM | 显示全部楼层
原帖由 pic 于 28-10-2007 06:54 PM 发表


还是用dlportio1.dll, 下载Driver. >
安装后参考VC 源码。



basic 得 example 用到, vc 就用不到, 没有 signal .
小弟的 programing 不行, 现在看有没有人要卖书。

找了一些source code , 用 turbo c 和 m$ c 都complier 都有error .

想找一些关于 c 得, 因为之前学到一点基本的。
basic 就完全不会。 computer 得书不像physic 书那样, 价钱差一倍, 不能乱买。。。。。。


没关系, 继续尝试。 其实尝试了很久, 但是还是不能。。。
可能尝试用 basic 来做
回复

使用道具 举报

 楼主| 发表于 28-10-2007 08:12 PM | 显示全部楼层

回复 #17 chan1314 的帖子

直接用VB比较容易吧。。。
你的C是那一个version 的?
现在有新的version,VC 差不多像VB那样的,有GUI...
回复

使用道具 举报

发表于 28-10-2007 09:16 PM | 显示全部楼层
我试用vb , 然后大概agak agak 参考别的, 然后做到, 不知道syntax 真的很麻烦。 还好vb 不想 c /c++ 那么复杂, 猜到, 然后能用。

c 我是用 6.0 , visual.net 2005 之前向学校申请拿到, 但是不会用
回复

使用道具 举报

 楼主| 发表于 28-10-2007 10:39 PM | 显示全部楼层
原帖由 chan1314 于 28-10-2007 09:16 PM 发表
我试用vb , 然后大概agak agak 参考别的, 然后做到, 不知道syntax 真的很麻烦。 还好vb 不想 c /c++ 那么复杂, 猜到, 然后能用。

c 我是用 6.0 , visual.net 2005 之前向学校申请拿到, 但是不会用


VB.net 是比较新的。。。
那个电子跑等的是VB 6.0 的,VB.net 我没用过,应该要一样吧。。。
算了啦,我建议你还是用VB比较方便啦。。。
VC 像 DOS 一样,比较复杂...
不过,如果VC成功的话,开帖分享咯。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 25-12-2024 01:28 AM , Processed in 0.176155 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表