标题: VB如何控制51单片机的4个IO口? [打印本页]

作者: lichenyin    时间: 2021-6-23 15:33
标题: VB如何控制51单片机的4个IO口?
VB如何控制51的4个IO口?
1.目前已做到P0口,P0.0-P0.7LED亮或灭,BCD码控制;
2.51层面将P1、P2、P3口都置位了,BCD码也是相同的;
3.如何分别控制P1、P2、P3?MSCOMM控件语句为:MSCOMM1.OUPUT=BUFF

作者: yzwzfyz    时间: 2021-6-23 16:14
1、VB是一个语言,它与51的4个IO口没有一点关系。这一点你必须清楚!!!
2、你需要将【VB】与【51的4个IO口】之间,搭建一个连通的“桥”。
“桥”通了,你的问题也就通了。
“桥‘呢?
作者: yzwzfyz    时间: 2021-6-23 16:18
1、做4个存储器X1-X4;
2、写个51的程序,将X1-X4的数据分别控制51的4个IO口。
3、通过”桥“,将VB的数据,送入X1-X4。
估计能做到这样,就完成你的意愿了。

作者: yzwzfyz    时间: 2021-6-23 16:20
你有更好的思路吗?
作者: glinfei    时间: 2021-6-23 17:22
VB只能写上位机程序,把PC和51连接,看你的要求应该用串口包括蓝牙串口连接的,51根据串口收到的命令控制不同的端口。
不过是调用些api,查查手册没啥难度。
作者: lichenyin    时间: 2021-6-23 17:37
感谢总工程师的热心解惑!虽然我还不甚了了,继续探索吧?
作者: lichenyin    时间: 2021-6-23 18:09
'串口页面
Option Explicit
Private Declare Function ReleaseCapture Lib "user32" () As Long '***************窗体的移动--开始
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long '***************窗体的移动--开始
Dim Cnn As New ADODB.Connection     '定义数据连接
Dim rs1s As New ADODB.Recordset '定义数据连接
Dim rs2s As New ADODB.Recordset '定义数据连接
Dim rs3s As New ADODB.Recordset '定义数据连接
Dim rs4s As New ADODB.Recordset '定义数据连接
......
本平台有30路继电器VB实例,实在看不懂!也许是思路不同,坐实费解。也有用FPGA来做的,真是“豆腐做出肉价钱了”。51最小系统应该就能实现,继续努力!
作者: taotie    时间: 2021-6-23 19:36
本坛上位机板块多去逛逛
作者: 徐花花    时间: 2021-6-23 22:33
看你用的是什么型号的单片机啦不同的单片机控制IO口的指令都不同,51的你如果想输出就把值给IO口,就相当于输出读IO口的值,就可以知道输入的值
作者: xgll    时间: 2021-6-23 22:48

1、做4个存储器X1-X4;
2、写个51的程序,将X1-X4的数据分别控制51的4个IO口。
3、通过”桥“,将VB的数据,送入X1-X4。
估计能做到这样,就完成你的意愿了。
作者: ming0675    时间: 2021-6-24 01:30
上位机板块xia逛逛
作者: lichenyin    时间: 2021-6-24 11:06
用MSCOMM控件可以构成上位机与51的联系,通过MSCOMM1.OUPUT=BUFF语句可以向51的P0.0-P0.7的8位寄存器赋值相应的BCD码,打开或关闭该位的LED,简单方便。这是最小化的应用,最大化的应用则是应将P1-P3都予以赋能,其技术才是最优的,形成产品才有好的性价比。这就是我请教高手的初心和目的。还望高手海涵和不吝赐教。谢谢啦!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1