菜单 English Ukrainian 俄语 主页

面向爱好者和专业人士的免费技术图书馆 免费技术库


无线电电子与电气工程百科全书
免费图书馆 / 无线电电子和电气设备方案

LPT端口的另一个生命。 第2部分.无线电电子电气工程百科全书

免费技术库

无线电电子与电气工程百科全书 / 电脑

文章评论 文章评论

为了记录 LPT 端口上的信号,我建议组装一个由八个开关和八个电阻为 1 Ohm - 270 kOhm 的电阻组成的电路(图 1)。 开关(按钮)SW1-SW8处于该位置时,所有上触点上都出现逻辑“1”,当其中任何一个闭合时,相应触点上都会出现逻辑“0”。 引脚可以直接连接到 D0-D7 总线(引脚 2-9,地址 &H378)或连接到 ERROR、SELECT、PAPER END、ACK 和 -BUSY(引脚 15、13、12、10 和 11,地址 &H379)。

LPT端口的另一种生活
图。 1

要显示来自 LPT 端口的数据,我推荐以下方案。

LPT端口的另一种生活
图。 2

电阻器 R1-R8 的标称值为 270 - 330 欧姆,任何 LED,例如 AL307B。 这样的电路不需要电源,无论如何一切都会发光。 我将所有信号带给自己,一切都立即可见。 一般来说,我强烈建议在 valery-us3leh.narod.ru/dlpt.html 下载 LPT 4D HARD 分析器程序。 由瓦列里·科夫通撰写。 在这个程序的帮助下......一般来说,您会亲眼看到。

让我们在 K561LA7 芯片上组装一个矩形脉冲发生器。 发电机+5V。 事实上,将所有设备组装起来更方便,例如在155、555系列上,使信号具有TTL电平。 逻辑“零”0-0,8V,对数“一”2,4-4,2V。 561系列的便利性在于电源的多功能性——从+3V到+12V都同样能正常工作。 因此,微电路的选择仍然取决于您的喜好,唯一的问题是获得幅度不超过+ 5V的矩形脉冲。 图 3 显示了简单脉冲发生器的示意图。

LPT端口的另一种生活
图。 3

发生器本身组装在元件 D1.1-D1.3 上,我只是使用元件 D1.4 来获得更“美丽”的输出脉冲前沿。 R1、R2、C1——频率设定元件。 根据这些元件参数,生成频率约为 5-7 Hz。 为了清楚起见,生成器的操作可以用下图的形式表示:

LPT端口的另一种生活
图。 4

逆变器输出 D1.4 连接到 LPT 连接器(总线 D2)的引脚 0。 在使用发生器之前,需要将D0-D7总线置于数据接收模式。 为此,我们将 37 发送到 &H43A。
接下来是代码。 对于那些使用
输入32.dll dll文件 DOS
出&H37A, 43 DlPortWritePortUchar &H37A, 43 OUT&H37A, 43

之后,我们开始轮询端口 &H378。
接下来是代码。 对于那些使用
输入32.dll dll文件 DOS
DimA 为 IntegerA = Inp(&H378) 将 A 调暗为 IntegerDlPortReadPortUchar(&H378) 定义 A-ZA=INP(&H378)

变量 A 将取值 254 或 255。为什么?
D0 D1 D2 D3 D4 D5 D6 D7  
20 21 22 23 24 25 26 27  
1 2 4 8 16 32 64 128  
1 1 1 1 1 1 1 1 255
0 1 1 1 1 1 1 1 254

事实是,D0-D7总线切换到数据接收模式后,它们被设置为逻辑单元电平(黄行)。

当 D0 总线上出现 D0 电平时,日志“0”(蓝色行)——第一位取值为零,表示 2 + XNUMX1+22+23+24+25+26+27 = 254。

因此,我们可以跟踪 D0 总线上信号的变化,但是如果我们计算 1 秒内的变化次数,我们将得到……正确的——数字频率计数器。 会心 号码 传入的冲动 每秒 可以说一下 以赫兹为单位的频率.

所以,频率计数器程序。 该表单应有 3 个按钮和一个标签。 按钮 1 启动频率计,按钮 2 停止,按钮 3 - 退出,标签 - 指示频率。

*******************************************

对于那些使用 inpout32.dll

选项显式

'使用端口地址的库声明

私有声明函数 Inp Lib“inpout32.dll”别名“Inp32”(ByVal PortAddress As Integer)As Integer

私有声明子输出库“inpout32.dll”别名“Out32”(ByVal PortAddress As Integer,ByVal Value As Integer)

'用于计算毫秒的库声明

私有声明函数 GetTickCount Lib "kernel32" () As Long

Dim FTV As Long '系统时间初始值

Dim STV As Long '系统时间结束值

Dim FV As Integer 'FV 是端口的初始状态

Dim SV As Integer 'SV 可比端口状态

Dim cntr '脉冲计数器

Dim J As Integer 'J=1 计数允许,J=0 计数不允许

Private Sub Command1_Click()

Out &H37A, 43 '我们将轮胎 D0-D7 置于读取模式

FTV = GetTickCount '记住的系统时间(以毫秒为单位)

J = 1 '计数 - 允许

FV = Inp(&H378) '读取端口状态

SV = FV 'SV 等于端口状态

cntr = 0 '反零

当 J <> 0 时执行

事件

STV = GetTickCount '记住当前系统时间

If STV > FTV + 1000 ThenFrequencyShow '如果一秒过去了,显示结果

FV = Inp(&H378) '不断轮询地址&H378

If FV <> SV then '如果端口状态已改变

SV = FV 'SV 等于端口状态

cntr = cntr + 0.5 ' 计数器 + 0.5

结束如果

If J = 0 Then Exit Do '如果用户按下停止

循环

END SUB

Private Sub Command2_Click()

'停止循环

'如果用户按下停止

Ĵ = 0

END SUB

Private Sub Command3_Click()

J = 0 '计数-停止

Out &H37A,0'恢复D0-D7总线状态

卸载我'退出程序

END SUB

'频率显示例程

公共子频率显示()

Label1.Caption = Int(cntr) & " Hz" '显示结果

cntr = 0 '反零

暂停(0.2)'延迟。 需要测量低频

FTV = GetTickCount '记住的系统时间(以毫秒为单位)

END SUB

'延迟例行公事。 呼叫格式:暂停(秒数)

公共子暂停(单值)

昏暗的开始,结束

开始 = 定时器

Do While Timer < 开始 + 值

事件

循环

完成=计时器

END SUB

*******************************************

对于那些使用 dlportio.dll

选项显式

'使用端口地址的库声明

私有声明函数 DlPortReadPortUchar Lib“dlportio.dll”(ByVal 端口等长)作为字节

私有声明子 DlPortWritePortUchar Lib“dlportio.dll”(ByVal 端口为长,ByVal 值为字节)

'用于计算毫秒的库声明

私有声明函数 GetTickCount Lib "kernel32" () As Long

Dim FTV As Long '系统时间初始值

Dim STV As Long '系统时间结束值

Dim FV As Integer 'FV 是端口的初始状态

Dim SV As Integer 'SV 可比端口状态

Dim cntr '脉冲计数器

Dim J As Integer 'J=1 计数允许,J=0 计数不允许

Private Sub Command1_Click()

DlPortWritePortUchar &H37A, 43 '使D0-D7总线进入读模式

FTV = GetTickCount '记住的系统时间(以毫秒为单位)

J = 1 '计数-允许

FV = DlPortReadPortUchar(&H378) '读取端口状态

SV = FV 'SV 等于端口状态

cntr = 0 '反零

当 J <> 0 时执行

事件

STV = GetTickCount '记住当前系统时间

If STV > FTV + 1000 ThenFrequencyShow '如果一秒过去了,显示结果

FV=DlPortReadPortUchar(&H378)'不断轮询地址&H378

If FV <> SV then '如果端口状态已改变

SV = FV 'SV 等于端口状态

cntr = cntr + 0.5 ' 计数器 + 0.5

结束如果

If J = 0 Then Exit Do '如果用户按下停止

循环

END SUB

Private Sub Command2_Click()

'停止循环

'如果用户按下停止

Ĵ = 0

END SUB

Private Sub Command3_Click()

J = 0 '计数-停止

DlPortWritePortUchar &H37A,0'恢复D0-D7总线状态

卸载我'退出程序

END SUB

'频率显示例程

公共子频率显示()

Label6.Caption = Int(cntr) & " Hz" '显示结果

cntr = 0 '反零

暂停(0.2)'延迟。 需要测量低频

FTV = GetTickCount '记住的系统时间(以毫秒为单位)

END SUB

'延迟例行公事。 呼叫格式:暂停(秒数)

公共子暂停(单值)

昏暗的开始,结束

开始 = 定时器

Do While Timer < 开始 + 值

事件

循环

完成=计时器

END SUB

*******************************************

和所有? 你问。 是的,仅此而已。 这就是整个程序,由于某种原因它可以工作。

Ø 如您所见,不同库的代码几乎相同,因此,在下面的示例中,我们将仅考虑库的代码 比重.dll文件

如果你仔细分析频率计数器程序代码,你会注意到计数器增加了0.5,

中心 = 中心 + 0.5,

而不是 1。事实上,该程序代码考虑了端口状态从 1 到 0 的转变,反之亦然从 0 到 1,因此,为了计算频率,您必须添加 0.5,然后输出

Label1.Caption = Int(cntr) & "hz"

或加 1

中心 = 中心 + 1,

然后输出

Label1.Caption = Int(cntr/2) & "hz"

这是数学。

顺便问一下,您是否尝试过在某些发动机的旋转轴上放置某种传感器。 也许,在这个程序的帮助下,你会得到一个很棒的转速表 J

好吧,让我们继续。

我们采用相同的脉冲发生器,而不是电阻器 R2 或 R1,而是焊接热敏电阻(文章作者去了一家汽车商店,花了 30 卢布从 VAZ-2101 购买了温度传感器)。 该热传感器根据温度改变其电阻(+3200 时为 14 欧姆)0C 和 143 欧姆,温度为 +1000C.) 由于我们改变了电阻,发电机的频率也会改变,这意味着我们得到了一个转换器 温度频率, IE。 数字温度计。 我想提请您注意这样一个事实,即电阻随温度的变化并不是线性发生的,如下图所示,

LPT端口的另一种生活
图。 5

因此,向计算机“解释”100 个脉冲是 20 度,110 个脉冲是 21 度并不是很容易,但仍然是可能的。 问题仅在于代码和算法的大小。

如果我们在油箱上安装燃油传感器而不是电阻器,那么我们就会得到一个液位指示器。 构建这样的指标更方便,如下所示:

1. 我们用空罐测量脉冲频率

2. 我们添加一些音量(取决于您想要获得的等级 - 准确性)并再次测量频率

3. 依此类推,直到容器的最顶部。

如果组装下图所示的结构,您可以根据不同的原理构建液位指示器。

LPT端口的另一种生活
图。 6

如果液位发生变化,那么浮子与磁铁的位置也会发生变化,因此相应的干簧管闭合(打开)。 最好使用薄壁塑料管。 该装置的方案如下:

LPT端口的另一种生活
图。 7

您可以根据以下算法处理来自此类设备的信息。

  1. 将地址 &H378 处的总线置于读取模式。
  2. 空罐 - 255
  3. 倒数第一名 - 254
  4. 倒数第二个部门 - 252
  5. 三个部门 - 248
  6. 四个部门 - 240
  7. 五个师 - 224 等

Ø 有些人可能会反对我,没有必要将D0-D7总线置于读模式,这样就可以了。 对此我只能回答如下——谁愿意翻译,就让他不翻译吧。 我不会讨论这个话题。 如果 &H378 端口未处于数据接收模式并且所使用的引脚(在我们的例子中为 2 - D0 )具有逻辑“1”,则 发电机不工作。 数据传输模式下D0-D7总线的输出电流大于CMOS芯片(561LA7)的输出电流,因此不会产生。 当然,如果用镊子将触点短路到地,那么电流就不够了。 但在我看来,额外输入一行代码并按照计算机硬件开发人员的建议进行操作并不困难。

现在让我们考虑相反的过程,即将数据从计算机传输到您的设备的过程。 我们以相同的脉冲发生器为例,只需稍微改变其电路即可。

LPT端口的另一种生活
图。 8

给发电机通电后,我们突然发现发电机不工作了。 并且只有当D2元件的输入1.1处出现逻辑电平“1”时才起作用。

DlPortWritePortUchar &H378,1

一切立即奏效。 这是一台计算机控制的发电机。 嗯,发生器都很小,尽管我们必须向这个装置致敬——在这么多电子电路中,它是作为基础的脉冲发生器。 我们为什么不把一些更严肃的东西连接到计算机上呢?

这是这样的计划

LPT端口的另一种生活
图。 9

我们将该设备的输入连接到我们喜欢的任何输出,例如连接到 D3,我们将 GND 输入连接到连接器的公共线,但 + 12V 必须从单独的电源获取。 继电器可采用汽车。 一般来说,元素的所有参数都可以完全不同(我拿的是手头的)

DlPortWritePortUchar &H378, 8

или

DlPortWritePortUchar &H378, 9

или

DlPortWritePortUchar &H378,10

最主要的是D3总线上应该有“1”的日志。 继电器会起作用,但你接什么是你的事。 一般来说,在开关高压设备时,有必要(以防万一)保护自己免受短路,击穿的情况,一般情况下,这样做。 这样,万一发生事故,您精彩的 LPT 端口就不会烧坏。 因此,对于此类连接,可以方便地使用端口和设备的电流隔离,例如通过光耦合器。

LPT端口的另一种生活
图。 10

如果你的设备中的所有东西都“烧坏”,那么通过光 - 唉,电流不会通过,他们还没有想出这样的东西。

第二部分到此结束。 会有第三部分吗——我想会有的,但这就是它的内容……

作者:阿列克谢·克柳什尼科夫,伊万诺沃; 出版:cxem.net

查看其他文章 部分 电脑.

读和写 有帮助 对这篇文章的评论.

<< 返回

科技、新电子最新动态:

用于触摸仿真的人造革 15.04.2024

在现代科技世界,距离变得越来越普遍,保持联系和亲密感非常重要。萨尔大学的德国科学家最近在人造皮肤方面的进展代表了虚拟交互的新时代。萨尔大学的德国研究人员开发出了超薄膜,可以远距离传输触觉。这项尖端技术为虚拟通信提供了新的机会,特别是对于那些发现自己远离亲人的人来说。研究人员开发的超薄膜厚度仅为 50 微米,可以融入纺织品中并像第二层皮肤一样穿着。这些薄膜充当传感器,识别来自妈妈或爸爸的触觉信号,并充当将这些动作传递给婴儿的执行器。父母触摸织物会激活传感器,对压力做出反应并使超薄膜变形。这 ... >>

Petgugu全球猫砂 15.04.2024

照顾宠物通常是一项挑战,尤其是在保持房屋清洁方面。 Petgugu Global 初创公司推出了一种有趣的新解决方案,这将使猫主人的生活变得更轻松,并帮助他们保持家中干净整洁。初创公司 Petgugu Global 推出了一款独特的猫厕所,可以自动冲掉粪便,让你的家保持干净清新。这款创新设备配备了各种智能传感器,可以监控宠物的厕所活动并在使用后激活自动清洁。该设备连接到下水道系统,确保有效清除废物,无需业主干预。此外,该厕所还具有较大的可冲水存储容量,非常适合多猫家庭。 Petgugu 猫砂碗专为与水溶性猫砂一起使用而设计,并提供一系列附加功能 ... >>

体贴男人的魅力 14.04.2024

长期以来,女性更喜欢“坏男孩”的刻板印象一直很普遍。然而,英国莫纳什大学科学家最近进行的研究为这个问题提供了新的视角。他们研究了女性如何回应男性的情感责任和帮助他人的意愿。这项研究的结果可能会改变我们对男性对女性吸引力的理解。莫纳什大学科学家进行的一项研究得出了有关男性对女性吸引力的新发现。在实验中,女性看到了男性的照片,并附有关于他们在各种情况下的行为的简短故事,包括他们对遇到无家可归者的反应。一些人无视这名无家可归的人,而另一些人则帮助他,比如给他买食物。一项研究发现,与表现出同理心和善良的男性相比,表现出同理心和善良的男性对女性更具吸引力。 ... >>

来自档案馆的随机新闻

CC2591——高频放大芯片 29.10.2008

德州仪器 (TI) 推出了用于低功率无线应用的高度集成的 2,4 GHz 射频放大器。 CC2591 通过将输出功率提升至 +22dBm 的功率放大器和将接收器灵敏度提升至 +6dBm 的低噪声放大器相结合,扩展了无线系统的范围。

CC2591 是一款高性能且具有成本效益的放大器,适用于所有 2,4 GHz 无线系统,例如 ZigBee-ceTH、测量传感器、工业、消费和音频电子产品。 该器件能够与所有现有和正在开发的 TI 2,4 GHz 射频收发器、发射器和片上系统配合使用,这将加快开发时间并提高生产力。

“CC2591 提供了如此大的范围和覆盖范围,Paxton Access 首次能够为其客户提供有线楼宇访问和控制系统的无线替代方案。” “CC2591 与 CC2430 片上系统相结合,将使我们能够开发新一代无线访问和控制系统,”Paxton Access Ltd 开发总监 Mark Thompson 说。

CC2591 芯片包含功率放大器、低噪声放大器、变压器、开关、电感器和射频网络接口。 这种无与伦比的集成水平简化了高性能设备的开发,并允许客户使用更少的外部组件构建强大的无线解决方案。

CC2591 采用 16x4mm QFN-4 封装。

其他有趣的新闻:

▪ 显示器 MSI Optix G32C4

▪ 12,5Gbps Mindspeed 矩阵切换器

▪ MAX30205 - 医用数字温度传感器

▪ 超耐用镁化合物

▪ 可再生能源的危险

科技、新电子资讯

 

免费技术图书馆的有趣材料:

▪ 现场电气设备保护部分。 文章精选

▪ 文章 Lokhvitskaya Nadezhda Aleksandrovna(Teffi)。 名言警句

▪ 文章阿波罗从哪里得到七弦琴? 详细解答

▪ 文章高地山。 传说、栽培、使用方法

▪ 文章基于激光笔的照片拍摄画廊。 无线电电子电气工程百科全书

▪ 文章土耳其谚语和俗语。 多种选择

留下您对本文的评论:

Имя:


电子邮件(可选):


点评:





本页所有语言

主页 | 图书馆 | 用品 | 网站地图 | 网站评论

www.diagram.com.ua

www.diagram.com.ua
2000-2024