基于PC打印口的IO接口扩展
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
O U T D X , A L
; W R 为低
C A L L D E L A Y 2 0 M S
M O V A L , 0 0 0 0 1 1 1 1 B
; 延时 2 0 m s
O U T D X , A L I ; I R 为高 C A L L D E L A Y 2 0 M S ; 延时 2 0 r n s
析比较, 若读人数据与送出数据完全一致, 则可以说明 这种 v 0扩展方式完成正确, 可以在更多的领域内得到
应用。
O U T D X , A L ; 8 2 5 5 方式字
M O V D X, 3 7 A H M O V A L , 0 0 0 0 1 1 1 1 B
( 1 ) 软件设计 软件 采 用 B o r l a n d公 司 的 可 视 化 高 级 语 言 C ++ B u i l d e i 6 . 0 , 它支持 C ++ 与8 0 4 8 6 汇编语言混合 编程, 因此利用 C ++ 编写界面及主程序框架, 汇编语 言编写直接对硬件端口操作的子程序, 这样程序的界 面美观, 执行效率高。其软件流程框图如图2 所示。
张 醒 高富强 ( 重庆大学自 动化学院 重庆, 4 0 0 0 4 4 )
摘 要: 本文介绍了代 机打印口 通过 8 2 5 5 进行 v 0 接口 扩展的方法, 增加了打印口1 / 0的数量, 使其可以在 更多领域内得到应用。文章对系统的硬件设计及其软件控制方法均进行了详细阐述和论证。 关键词: 打印口 v 0 接口 8 2 5 5 C + + B u i l d e r A B S T R A C T : T h e a u t h o r i n t r o d u c e a m e t h o d o f e x p a n d i n g 1 / 0 i n t e r f a c e o f P C L P T 勿8 2 5 5 , a d d i n g t h e a m o u n t o f L P T 1 / 0 p o r t s , S o i t c a n b e a p p l i c a t i o n i n , d o m a i n s . T h e a t r i c l e a l s o d e t a i l s t h e d e s i g n m e t h o d o f h a r d w a r e c i r c u i t a n d t h e c o n t r o l
me t h o d o f s o f t w a r e .
K E Y W O R D S : L P T / 1 0 p o t r s 8 2 5 5 C ++ B u i l d e r
中图分类号 T P 3 3 4 . 8 文献标识码 : B
0 引
言
相连, 实现了打印口 对8 2 5 5 的完全控制, 使P C 打印口 具有了 3 个可编程的 8 位通用 1 / 0口, 功能更强大。
4 结束语
图 2 软件流程框图
( 2 ) 8 2 5 5 初始化程序 由于程序太长, 只给出 8 2 5 5 初始化程序。程序如
下:
该装置接口资源丰富, 透明度好, 通用性强, 应该说 还可以在更多的领域内应用, 例如: 把8 2 5 5 的A , B , C 口 并联, 可以用来检测 8 2 5 5 芯片的好坏; 也可以用作多 路数据采集的输人接口; 还可以输出多路控制信号驱动 复杂的设备。通过该装置接口, 可以充分利用计算机强 大的运算处理功能以及丰富的开发、 编程语言, 完成各 种复杂的任务。
接口占用 三个 系统 v 0地 址 , 常用 的就 只有 L P T 1 0 L P T I 的具体管脚分配情况如表 1 所示。
功 能 连接器引脚号
P i n 2一P i n 9
裹 1 代 打印口《 L P n) 连接定义表
端口种类
位标记
D O一97 功 一D 2 D 3
D4
3 7 8 H ( 输出) 3 7 9 H ( 输人)
数据端口
状态端口
输出到打印机 没使用 E R R O F 出错 S L C r 打印机选择
P E纸尽
P i n 1 5 P i n 1 3 P i n 1 2 P i n 1 O P i n l l Rn l
P i n 1 4
D 5 D 6 D 7
A C K 应答
B U S Y忙
3 7 A H ( 输出)
M O V D X , A L I
; 开7 4 1 5 2 4 5 , 方式字数据送到 8 2 5 5 数据线
C A L L D E I A Y 2 0 M S ; 延时 2 0 m s
A S M f M O V D X , 3 7 A H
MO V A L , 0 0 0 0 0 1 1 1 B
M O V A L , 0 0 0 0 1 1 0 1 B
O U T D X , A L ; 7 4 L S 3 7 3 锁存数据
M O V D X, 3 7 8 H M O V A L , 1 0 0 0 1 0 1 1 B
态口 从8 2 5 5 的 数据线上把数据读人到计算机中 进行分
信号达到稳定。在使用较长 的连接线时, 这是非常需
要的, 如果使用只有几十厘米的连接线时, 可以不采用 插人延迟的方法。 ( 2 ) 增加滤波电容。在打印口的 v 0线与连接器 之间加人滤波电容, 可以提高传输的可靠性。
2 硬件系统描述 本系 统 硬 件 主 要 由 8 2 5 5 , 7 4 1 - S 3 7 3 , 7 4 I S 2 4 5 , 7 4 L S 1 5 7 构成。其电路原理图见图 1 。各设备功能如
自动化与仪器仪表
Z 1 田 i O N G H U A Y U Y I Q I Y I B I A O
2 0 0 4 年第 4 期( 总第 1 1 4 期)
文章编号: 1 0 0 1 一 9 2 2 7 ( 2 0 0 4 ) 0 4 一 0 0 3 5 一 0 3
基于 P C打印 口的 I / 0接 口扩展
1 L P T 接口工作原理简介
wk.baidu.com
微机( P C ) 的并行接口( L P T ) 又称打印机接口, 是P C 常用的输出接 口之一。不管是台式的还是便携式的, 也不论是 P C机还是 P C / A T机乃至当前最流行 的 P 4 机, 无一例外的都有这种接 口。其主要用法是联接打 印机, 除此之外, 它还有多种用途, 可以把并行接 口用 于其他目的。由于打印口的 1 / 0数量有限( 1 3 个输出 位, 5 个输人位) , 而且均是单向的, 在实际应用中很不 方便。本文利用一片并行接口 输人芯片8 2 5 5 与打印口
v0口地址
标准的 P C 打印口 是由一个 2 5 芯的 D 一 s h e l l 连接 器提供 T M输人和输出信号, 它可以支持 3 个并行接 口, 分别定义为 L P T I I L P 几和 L P 玲, 三个打印接口电路 结构一样, 区别仅在于 v o端 口基地址不同, 每个打印
; W R 上升沿写入数据 该段程序模拟了总线方式对 8 2 5 5 进行操作, 写人 8 2 5 5 控制字, 设定了 8 2 5 5 工作方式为 0 , A口输出 B , C
口 输人, 在编程中 应注意 使读写数据均发生在而和棘
上升沿, 并进行延时处理, 保证了数据读写的可靠性。 其余程序的编写也按照这种方式进行。
端口, 这里利用 7 4 L S 3 7 3 具有的锁存保持数据功能, 将 其与打印 口的数据端 口相连, 分时复用数据总线。
冲器, 其A / B端选择输人数据是高 4 位还是低 4 位。
7 4 L S 3 7 3 的 控 制 端L E 连 打 印口 的 不万, 由  ̄ 丽至 的 上 升
读 人8 位的 数据。 A / B 端连接7 4 L S 3 7 3 的Q 2 端, 由 打
据是高4 位还是低4 位。
3 6
万方数据
的A , B , C口 按位相连, 通过打印口的数据 口和控制口 模拟总线方式对 8 2 5 5 进行操作, 设定 8 2 5 5 工作模式为 模式0 , 让A , B , C 三个 v 0口 依次作为输出口 输出测试 的标准数据, 同时另外两个 v 0口 作为输人口把测试数 据读进来送到 8 2 5 5 的数据总线上, 再通过打印口的状
印口的数据口 通过 7 4 1 S 3 7 3 锁存后对它进行控制。 3 应用举例 为了验证该设计方案的正确性, 将图 1 中的 8 2 5 5
沿 锁 存 数 据, , 丽 万为 “ 1 ” 时 保 持 数 据 ; Q O , Q 1 连8 2 5 5 的
A 1 , A O , 选择8 2 5 5 的 端口; 邻用来选择7 4 L S 1 5 7 输人数
打印口数据线对 8 2 5 5 数据线的影响。 ( 4 ) 7 4 L S 1 5 7 功能。7 4 I S 1 5 7 是8 输人 , 4 输出的缓 由于打印口的状态端 口只有 5 位, 所 以只有分两次才能
( 2 ) 7 4 L S 3 7 3功能。由于打印口的控制 口只有 4 位, 而该系统中要用到 7 条控制线 , 因此必须扩展控制
D I R 接地, 控 制端E 连打印口 的 万 而而 , 当 要从打印口 的 数 据口 向8 2 5 5 写 人 数 据时, 赢孙 面 为高电 平, 数据 送
到8 2 5 5 的数据线上; 当要从打印口的状态口读人数据 时, A u x o F D 为低电平, 切断 8 2 5 5 与打印口的连接, 防止
控制端口
DO D1
S T R O B E 数据输出触发 A u t o F D自 动回车换行 I N f f 初始化打印机 S L C T I N 选择数据输出打印机
D 2
D 3 D4
P i n 1 6
P i n 1 7
p a 中断允许( l R Q 7 )
没使用
仍 一m
万方数据
特别是, 3 7 9 1的第 7 位( B U S Y ) 在接口电路中是从 连接器经过反相之后接到总线上的, 而3 7 A H的位 0 , 1 , 3 是经过反相器接到连接器的 1 , 1 4 , 1 7 脚上的, 这在读 取数据和送出数据时应该注意。 另外, 为防止长线传输的不稳定性对数据传输的 影响, 可以采取以下措施: ( 1 ) 在程序中插人适当的延迟。信号的高速变化 可能会导致数据读取错误, 插人适当的延迟后, 可以使
A S M t M O V D X , 3 7 8 H
MO V A L , 0 0 0 0 0 0 1 1 B
平有效 , 上升沿读/ 写数据 , 因此 , 在读/ 写数据时, 应先 待数据总线上的数据稳定下来再进行读/ 写。因此, 编 程时, 在把数据放上数据总线后, 要用延时命令延时, 让数据稳定后再发出读/ 写命令, 这样数据才能正确的 读/ 写。
( 3 ) 7 4 1 5 2 4 5 功能。7 4 L S 2 4 5 是三态输出的双向八 缓冲器, 由8 路输人、 输出构成, 其D I R 端决定数据传送 的方向, 控制端 E的高或低电平决定数据被接通还是 断开。7 4 L S 2 4 5 连着打印口、 8 2 5 5 , 7 4 1 5 1 5 7的数据线,
下:
图 1 系统电路原理图
( 1 ) 8 2 5 5 功能。提供 3 个双向 8 位的 v 0口, 由打 印口 输出数据进行控制。特别是, 由于 8 2 5 5 是工作在 总线方式下, 其读/ 写操作都要按总线时序进行, 才能
保证 数据正 确的 输人与 输出, 8 2 5 5 的 初和 丽都是低电