当前位置:首页 >> 信息与通信 >>

AVR单片机与PC机打印口高速双向数据通信接口_图文


!"# 单片机与 $% 机打印口高速 双向数据通信接口
胡平平 王晶杰 ! 北京机械工业学院计算机及自动化系 "北京 *"""L##
摘 要 文章给出了一个简单而又实用的利用 &C 机打印口进行高速双向数据通信的接口 " 详细介绍了接口的原理和

,.+HIJ3 环境下驱动程序的设计 " 并以该接口与 8PQ 单片机的连接为例 " 介绍了它的使用方法 $ 最后给出了各种情况下
通信性能的测试结果 $ 关键词 数据通信

%&& 接口

,.+HIJ3 驱动程序

单片机 中图分类号 S&>>=

文章编号 *""!RL>>*R !!""#%!#R"**!R"=

文献标识码 8

&’( )*+’ ,-((. /*.*0(12*3456 7525 8399:4*152*34 ;42(0<51( =(2>((4 ?"@ ,8A 54. $8 $0*42(0 $302
B: $*4+-*4+ C54+ D*4+E*( ’CITUV/0- W 8V/IT2/.I+ 90U2-/T0+/!10.X.+Y ’+3/./V/0 IZ G2[M.+0-F!10.X.+Y *"""L# (
?=F20512& 8 3.TU\0 2+H U-2[/.[2\ M.YMR3U00H 5.H.-0[/.I+2\ H2/2 [ITTV+.[2/.I+ .+/0-Z2[0 J./M &C U-.+/0- UI-/ .3 Y.]0+! ’/3 M2-HJ2-0 U-.+[.U\0 2+H H-.]0- U-IY-2TT.+Y ZI- ,.+HIJ3 3F3/0T 2-0 H.3[V330H .+ H0/2.\!’/3 2UU\.[2/.I+ 50/J00+ 8PQ BCG 2+H &C U-.+/0- UI-/ .3 Y.]0+ 2+H /M0 U0-ZI-T0+[03 .+ 30]0-2\ [2303 2-0 /03/0H 2+H H.3[V330H! G(H>30.F & H2/2 [ITTV+.[2/.I+!%&& .+/0-Z2[0 !,.+HIJ3 H-.]0-!BCG ! ! ! ! 基 于 &C 机 的 数 据 采 集 和 监 测 控 制 系 统 往 往 用 各 种 单 片
机构成现场部件 ! 因为它具有高可靠 $ 低成本 $ 小体积和抗干扰 性好的特点 ! 而 &C 机则完 成 数 据 分 析 处 理 和 构 成 友 好 易 用 的 人机界面 % 在这样的系统 中 ! 单 片 机 与 &C 机 间 的 数 据 通 信 是 不可缺少的一个环节 % 传统系统多利用 &C 机的串行接口与单 片 机 进 行 数 据 通 信 !一 则 因 为 系 统 的 数 据 量 不 大 !二 则 因 为 大 程即可实现 % 随着计算机的发展 ! 一方面传统串行接口因速率太低而逐 多数单片机都内置了串行接口 ! 数据通信只需要简单的软件编 *
!67 *" ** +,-./0 89":89; ?’+/?,2./
用户定义 用户定义

* %&& 端口通信原理 *K* %&& 端口的引脚和定义
用于进行数据双向通 信 的 %&& 端 口 相 关 的 引 脚 和 定 义 如 表 * 所示 %
表*
引脚 %&& 信号名 ’ ( ) 说明 低表示写操作 ! 高表示读操作 双向数据 < 地址线 高电平有效 ! 外部中断信号 低时 ! 可进行数据通信 " 高时 ! 结束操作 可以读入的输入信号线 可以读入的输入信号线

%&& 端口相关引脚的定义和说明
寄存器地址和位

) ’<) ’ ’ ’ ’ ) ’ )

12304!!5./" 12304= <>!5./":5./; 1230@*!5./A 12304*!# 5./; 12304*!5./# 12304*!5./= 12304*!5./>

渐 被 淘 汰 ! 尤 其 是 便 携 计 算 机 ! 已 很 少 再 配 备 传 统 的 串 行 接 *! 口 了 " 另 一 方 面 ! 应 用 系 统 要 求 的 数 据 通 信 量 也 不 断 增 加 ! *> 传 统 串 行 接 口 已 不 能 满 足 要 求 % 虽 然 新 型 DB1 串 行 接 口 的 *= 出 现 解 决 了 &C 机 传 统 串 行 接 口 速 率 低 的 问 题 ! 但 同 时 也 大 *# 大增加了通信的软硬件成本! 造成用于通信的成本和复杂 性 大 于 现 场 设 备 本 身 的 现 象% 在 批 量 较 少 的 情 况 下 !问 题 更 为突出% 在 &C 机 提 供 的 各 种 接 口 中 ! 打 印 接 口 一 直 是 必 备 的 接 口 ! 而且已经从 B&& 方式的单向输出接口扩 充 为 %&& 和 %C& 方 式 的 双 向 接 口 ! 其 通 信 速 率 也 可 以 达 到 #""E1F/03 ( 3 到
*;

+9B/-5
用户定义

低电平有效 ! 表示正进行数据读 < 写操作 12304!!# 5./* 可以读入的输入信号线 低电平有效 ! 表示正进行地址读 < 写操作 12304!!5./>

+8B/-5

注 &1230 表示 %&& 端口的基地址 ! 一般为 >;LM "# 表示状态相反 %

*K! %&& 端口的操作
%&& 端口的操作分数据和地址两种 ! 通过对数据寄存器和
地址寄存器的读写操作可以完成数据和地址的输入和输出 % 在 端口上 ! 则以 +9B/-5 和 +8B/-5 分别为低加以区分 % 除了这两个 信号外 ! 数据和地址操作的其他信号状态完全一样 % 每一条对 数据或地址寄存器的读写指令 ! 便会自动启动并完成一次 %&& 端口的输入或输出操作 % %&& 端口的寄存器地址和定义如下 & 基地址 ’>;LM (& 端口数据输出 ! 锁存输入地址 % 基 地 址 N* ’>;7M (& 状 态 输 入 端 口 !5./AO5./> 分 别 为 端 口 引 脚 *" !*! !*> 和 *# 的状态 %

!G1F/03 ( 3 % 利 用 &C 机 打 印 接 口 进 行 数 据 双 向 通 信 的 成 本 和
复 杂 性 又 远 比 DB1 接 口 低 ! 因 此 是 单 片 机 与 &C 机 间 数 据 通 信 的 一 个 较 好 的 替 代 方 案 %与 利 用 传 统 的 串 行 接 口 通 信 方 案 相 比 ! 该 方 案 涉 及 到 硬 件 接 口 设 计 和 ,.+HIJ3 驱 动 程 序 设 计 两 个 额 外 的 问 题 !本 文 就 这 两 方 面 的 问 题 给 出 了 较 为 详 细 的 论述%
基金项目 ! 北京市科委资助科技项目 ’ 编号 &EG!"">**!>!*>A (

""#

!""#$!# 计算机工程与应用

! ! ! ! 基 地 址 %! !&’() "# 控 制 输 入 * 输 出 端 口 ! 该 端 口 +,-. 必 须
置 / 才 能 使 外 部 中 断 信 号 线 010-2 的 上 升 沿 产 生 打 印 端 口 中 断 "$ 基地址 %&!&’3)"# 地址寄存器 $ 基地址 %.!&’4)"# 数据寄存器 $

种信号线 % 右端为与单片机相连的各种信号线 $

/$&

566 端口输入操作时序
任何时候 % 当 078,- 为低时读数据或地址寄存器的指令将

产生图 / 所示的输入操作时序 $ 在 19: 为低后 %072,-; 保持为 高表示输入 % 主机检测到 078,- 为低后使 0<=-2+ 或 0(=-2+ 变 低 % 表 示 开 始 输 入 操 作 % 当 有 效 的 输 入 数 据 在 (<">(<? 上 准 备 好 时 % 外 设 可 以 使 078,- 变 高 % 这 时 主 机 使 0<=-2+ 或 0(=-2+ 变高 % 数据 ! 地址 " 被读入到特定的寄存器 % 输入操作结束 $ 为进 行下一次操作 % 外设必须使 78,- 变低 $

图&

566 数据传送接口的原理图

主机向单片机送数据 # 在 935 为高时 % 主机可以向 566 的
图/

566 端口输入操作时序

数据寄存器写数据 % 该操作使 072,-; 和 0<=-2+ 先后变低 % 两者 的 或 信 号 使 1DE8 * 1358 ! 935 " 变 低 % 由 于 0<=-2+ 变 低 导 致 078,- 为高 % 于是主机将使 0<=-2+ 变高 % 这个高电平将 (<">

/$. 566 端口输出操作时序
任何时候 % 当 078,- 为低时写数据或地址寄存器的指令将 产生图 ! 所示的输出操作时序 $ 在 197 为低后 %072,-; 也变为 低表示输出 % 同时将有效的输出数据送到 (<">(<?$ 主机检测 到 078,- 为低后使 0<=-2+ 或 0(=-2+ 变低 % 表示开始输出操作 % 外 设 得 到 数 据 后 % 可 以 使 078,- 变 高 % 这 时 主 机 使 0<=-2+ 或

(<’ 的 数 据 锁 存 到 锁 存 器 ( 中 % 而 此 时 078,- 变 低 % 一 次 566
数据输出结束 $ 1DE8 * 1358 !935 " 为低一方面通知单片 机 可 以 取走数据% 另一方面通知主机不能再输出数据$ 单片机方在

1DE8 * 1358 为 低 时 % 可 以 使 958 为 低 从 锁 存 器 ( 读 出 数 据 到 <318 上 % 为 低 的 958 信 号 又 使 1DE8 * 1358 !935" 变 高 % 一 次 数
据传输结束 $ 单片机向主机送数据 # 在 93F8 为低时 % 单片机可以在 468 上 产 生 一 个 高 电 平 脉 冲 把 <398 上 的 输 出 数 据 锁 存 到 锁 存 器

0(=-2+ 变 高 % 输 出 操 作 结 束 $ 为 进 行 下 一 次 操 作 % 外 设 必 须 使 78,- 变低 $

3 中 %468 变 高 时 % 其 反 信 号 将 010-2 * 13F !93F8 " 信 号 变 高 % 一
方面通知主机可以取走数据 % 另一方面通知单片机不能再输出 数据 $ 主机在 010-2 * 13F 信号变高时 % 便可以从 566 的数据寄存 器读数 据 % 该 操 作 将 使 0<=-2+ 变 低 % 于 是 锁 存 器 3 的 95 为 低 % 一 方 面 使 锁 存 器 3 的 数 据 送 到 566 的 (<">(<’ 上 % 另 一
图!

566 端口输出操作时序

方面使 010-2 * 13F!93F8"信号变低 $ 由于 0<=-2+ 变低导致 078,为高 % 于是主机将使 0<=-2+ 变高 % 将数据读入主机 % 此时 078,变低 % 一次数据传输结束 $ 图 & 中除了两个锁存器外 % 其余的电路可以很方便地用一 片 G(H/IJ? 实现 % 该 G(H 的编程方程如下所示 #
KLMNO; P5QQ(R2 -,-O; S10-;2T8U; TL2 566 80M (J: M8-8 ;VU)80W;S 5QQ(R2 M;R,U; S6/IJ?4S & Q,0 / %! %&%. & X10QN- 6,0B 0<=-2+ %072,-; %958%468 X9N-QN- 6,0B 078,- %95 %46 %1DE8 %010-2 Q,0 /! %/&%/. %/# %/I& 5YZ(E19D= 46!0<=-2+ [ 072,-; & 95!0<=-2+ [ ’ 072,-; & 078,-! ( 0<=-2+ & 1DE8! ( !958 \ ( !46 \ 1DE8 ""& 010-2! ( !( 468 \ ( !95 \ 010-2 ""& ;0M

由上述操作时序可知 %566 的输入和输出操作可以在一个

1=( 总 线 的 1 * 9 读 写 周 期 内 完 成 % 因 而 其 速 度 非 常 快 % 可 以 达
到 #""@3A-;B * B 到 !C3A-;B * B $

! 566 接口设计
从上面的介绍可以看到 %566 数据传输采用的是异步应答 方 式 % 尽 管 其 最 高 传 输 速 率 可 以 达 到 1=( 总 线 的 1 * 9 读 写 速 率 % 但在实际应用中的传输速率要取决于外设的使用和处理方 式 $ 566 端口和单片机最简单的连接是在单片机方采用软件控 制 方 式 %由 软 件 产 生 响 应 的 应 答 信 号 %这 种 方 式 需 要 几 个 单 片 机的指令才能完成一次数据的传输 % 是最慢的方式 $ 用少量的 芯片构成 566 接口 % 以便自动产生 566 的应答信号并提供必 要的状态信号% 这种方式可以最大限度地提高数据的传输速 率 $ 图 & 给出一种 566 接口的原理图 % 下面做一简单介绍 $ 图 & 中的接口没有使用 566 端口的 0(=-2+ 信号 % 因此只 能进行数据的输入和输出 $ 图 的 左 端 为 与 566 端 口 相 连 的 各

计算机工程与应用 !""#$!#

""#

%

接口的使用
接 口 中 各 信 号 与 &’’ 端 口 的 连 接 如 表 ( 同 名 信 号 所 示 !

发方式为 &JT@ 6DGTT@D@J# 默认值 $%

5@TG>C@D> 选项 单 & 保 留 PKBCDKQ #! $!>C-C=> #($ 和 >CDKF@XJ-C-"
#E$ 三个寄存器即可 # 括号内数字为地址偏移量 KSS>@C 的值 $% 在 8@Q@PC /KJ@ Y@B@D-CGKB )NCGKB> 页面选中 / 和 98 +@Z

)*& 可以连接到 &’’ 端口引脚 (! "(% 和 (# 中的任何一 个 # 这
里 假 设 连 接 到 引 脚 (! 上 $% 接 口 与 单 片 机 的 连 接 是 &+*,- 和

+*)- 分别接到单片 机 的 . 位 输 入 和 输 出 端 口 ’ 对 于 没 有 读 写
控 制 信 号 的 单 片 机 !&- 和 /’- 只 能 接 到 单 片 机 的 输 出 , 0 ) 线 上 !通 过 多 条 指 令 完 成 数 据 的 输 出 和 输 入 ’对 于 有 读 写 控 制 信 号的单片机 !&- 和 /’- 应该和读写控制及译码信号结合 ! 用一 条指令便可完成数据的输出和输入 % )*1- 和 ,*&- 分别接到单 片 机 的 两 个 输 入 , 2 ) 线 上 #采 用 中 断 方 式 时 !这 两 个 信 号 应 该 连接到单片机的外部中断线上 $% 我 们 用 345 单 片 机 367"8.#%# 构 成 的 系 统 与 上 述 接 口 相连 ! 由于资源限制 !+*,- 和 +*)- 都接到了 .#%# 的 ’)56/ ! 因此在数据的输入和输出转换时 ! 都要对端口 ’)56/ 的方向 进行重新设置 ’ 又因为 .#%# 没有读写控制信号 ! 每次输入和输 出都需要多条指令完成 ! 因而对数据通信的最高速度会有一定 的限制 % 在交替输入和输出的情况下 ! 一次数据的输入或输出 需 要 五 条 指 令 ’在 连 续 输 入 或 输 出 的 情 况 下 !一 次 数 据 的 输 入 或输出需要三条指令 % 如果在 .9:; 的主频下单片机每条指令 需要 "<(!#=> ! 因此两种情况下的最高通信速率限制分别约为

M@QKN@D 8C=JGK ?!# %
最后为项目文件取名并保存到某个文件夹中 % 按 1GBG>[ 结 束后 !98 4/AA ,+& 将自动打开项目 文 件 ! 编 译 连 接 ! 可 以 得 到 IGB+DGM@D 生 成 的 一 个 基 于 控 制 台 的 测 试 程 序 ! 在 该 程 序 的 基础上便可以编制 &’’ 端口的数据通信程序 %

E<!

查询方式 &’’ 数据通信程序
在 IGB+DGM@D 生 成 的 &’’+54XJG-T<P 中 # 其 中 &’’+54 是

您为项目取的名字 $! 保留对 &’’+54X)N@B #\[&’’+54 $ 和

&’’+54X/QK>@ #[&’’+54 $ 的 调 用 ! 将 其 间 的 代 码 改 为 您 自 己
的通信代码 ! 即可完成 IGBJKL> 环境下基于控制台的查询方式

&’’ 数据通信 程 序 % 这 里 给 出 从 &’’ 端 口 读 和 写 一 个 字 节 的
子程序 %
]J@SGB@ )*& "U!" 2 2 )*& 连接到 &’’ 端口的 (! 脚 ! 为 ( 时可以输出 ]J@SGB@ ,*1 "UE" 2 2 ,*1 # 即 B,BCD $ 连接到 &’’ 端口的 (" 脚 ! 为 ( 时输入有效 ]J@SGB@ ,H6X&H "U(" 2 2 控制端口的中断允许位
从 &’’ 读入一个字节 ! 返回 ^( 表示无可用数据 ’ 返回 "_!## 为读 到的数据

(<?9* 2 > 和 !<?9* 2 > ! 基 本 上 与 &’’ 端 口 的 最 高 速 率 相 当 % 从
本文后面给出的结果可以看到 ! 单片机方面的这一限制并不是 影响通信速度的主要因素 % 查询方式数据传输 & 主机端通过读 , 2 ) 地址 *->@A( 得到

B,BCD 和 )*& 的 状 态 ! 当 B,BCD 为 ( 时 ! 表 示 有 数 据 从 单 片 机 送
来 ! 主机可以读 , 2 ) 地址 *->@AE 得到数据 ’ 当 )*& 为 ( 时 ! 表 示单片机已取走数 据 ! 主 机 可 以 将 数 据 写 到 , 2 ) 地 址 *->@AE 将其发送到接口供单片机读取 % 单片机方面 ! 当 ,*&- 为 " 时 ! 表示有数据从主机送来 ! 单片机可以将 )&- 置 低 从 +*,- 得 到 数据 ’ 当 )*1- 为 " 时 ! 表示主机已取走数据 ! 单片 机 可 以 将 数 据 送 到 +*)- 上 然 后 在 /’- 上 产 生 一 个 正 脉 冲 将 数 据 发 送 给 主机 % 中 断 方 式 数 据 传 输 & 将 &’’ 的 , 2 ) 地 址 *->@A! 的 FGCE 置

GBC 5@-J&NN*‘C@ #&’’+54X:3H+a& [&’’+54$ ! GS #&’’+54X5@-J>C-C=> #[&’’+54$\ ,*1 $ D@C=DB &’’+54X5@-J>CDKF@XJ-C-X" #[&’’+54$\"USS ’ @Q>@ D@C=DB – ( ’ "

将一个字节输出到 &’’ ! 返回 13a8& 表示不 能 输 出 # 上 一 次输出还没有取走 $! 返回 65b& 表示输出成功
*))a IDGC@&NN*‘C@ #&’’+54X:3H+a& [&’’+54!*R6& +-C-$ ! GS #&’’+54X5@-J>C-C=> #[&’’+54$\ )*& $ ! &’’+54XIDGC@>CDKF@XJ-C-X"#[&’’+54!+-C- $’ D@C=DB 65b& ’ " @Q>@ D@C=DB 13a8& ’ "

( !B,BCD 由低变高 时 可 以 产 生 主 机 的 打 印 中 断 !,H6- # 低 电 平 有
效 $则 可 以 当 作 单 片 机 的 中 断 信 号 !从 而 在 两 方 都 能 实 现 数 据 的中断接收 % 此外 !)*1- 的低电平状态也可以当作单片机的另 一路中断信号 ! 以实现数据从单片机到主机的中断方式发送 % 双方对数据的读写方法与查询方式一样 %

E &’’ 数据传输驱动程序的编写
上面介绍的数据 通 信 过 程 中 涉 及 到 主 机 对 &’’ 的 , 2 ) 端 口 的 读 写 操 作 ! 这 在 IGBJKL> 环 境 的 应 用 程 序 中 是 无 法 实 现 的 ! 必须靠驱动程序来实现 % 下面简单介绍一下用 IGB+DGM@D 编写驱动程序进行 &’’ 数据通信的方法 %

E$%

中断方式 &’’ 数据通信程序
对上面查询方式 &’’ 数据通信程序进行如下改动 & #( $ 在 &’’+54X)N@B #\[&’’+54 $ 调 用 成 功 后 加 入 下 面

语句允许中断并使能打印口中断 &
&’’+54X,BC3&B-FQ@ #[&’’+54 ! &’’+54X,BC3:-BJQ@D5K=CGB@$’ &’’+54XIDGC@PKBCDKQ #[&’’+54 !
#*R6& $#&’’+54X5@-JPKBCDKQ #[&’’+54 $c,H6X&H $$’

E<(

编写驱动程序
启 动 IGB+DGM@D 的 +DGM@DIG;-DJ! 选 择 /D@-C@ - B@L JDGM@D

NDKO@PC % 在 8@Q@PC RK=D +@MGP@ 页面的列表中选中 ’-D-QQ@Q NKDC %
在 +@SGB@ -BJ 6@>C 5@>K=DP@ SKD RK=D +@MGP@ 页面的各选项单 中做如下设置 &

2 2 读一次数据以便能产生下一次中断 &’’+54X5@-J>CDKF@XJ-C-X" #[&’’+54$’

, 0 ) 选项单 &,) 5-BT@( 的范围设置为 "U%V. 到 "U%VS # 默
认值 $%

#! $ 在 &’’+54X/QK>@ #[&’’+54 $ 调 用 之 前 加 入 下 面 语 句 禁止中断 &
GS #&’’+54X,BC3,>&B-FQ@J#[&’’+54 $$

,BC@DD=NC> 选项单 &,BC3 的 ,BC@DD=NC H=WF@D 值设置为 V ! 触 ##$ !""#$!# 计算机工程与应用

! ! ! ! ! ! %&&’()*+,-.’/01234 !5%&&’() "# %&&’()*67/-489,-793 !5%&&’() $
!:;<% " !%&&’()*(41=89,-793 !5%&&’() ">

于 ’LF 的 TSV 宏汇编语言编写的 !6/,T& 下的命令提示符环 境 已 经 不 支 持 基 于 ’LF 的 TSV 宏 汇 编 程 序 对 某 些 端 口 的 访
?

问"& 测试使用的主机为 F1NFE,W )B" 笔记本电脑!&XY!$VVZ"&
表!
运行环境和方式

+@<*%@.:A%*:+< ""#

%&& 端口通信测试结果
主机发单片机收 单片机发主机收

!B " 修改中断响应程序 $ 在 其 中 加 入 对 %&& 端 口 数 据 的 读 入处理
C9/= ! /H !%&&’()*(41=0-1-E0 !5%&&’() "> +:I " ! J J 取新收到的数据 (48’1-1K%&&’()*(41=0-7924*=1-1*"!5%&&’() "# ’1-1LM"<(G% # J J 置数据收到标志 +,-@ENOO # # # %&&’()*+,-.D1,=347(9E-/,4
!%&&’()*D.@’A%

双方同时收发 收 #! _: J 0 发 #!_: J 0 收 !! _: J 0$ 发 !! _: J 0 收 B" _: J 0 $ 发 B" _: J 0

6/,T& 查询 6/,T& 中断 6/,RS 查询

["!_: J 0 RS_: J 0 #V_: J 0 B!V_: J 0

["B_: J 0 !B_: J 0 #Q_: J 0 B!#_: J 0

5%&&’() $%&&’()*+,-.*(%FGA< !/,-(40E3- "

6/,RS’LF 查询 收 !#V_: J 0$ 发 [BX _: J 0

从表 ! 的数据可以得到下述结论 ’ ! [ "6/,=9P0 系 统 下 程 序 对 端 口 的 访 问 速 度 不 如 ’LF 系 统下的程序 & ! ! " 6/,T& 系 统 下 程 序 对 端 口 的 访 问 速 度 优 于 6/,RS 系 统& ! B "6/,’7/C47 用 户 方 式 下 的 驱 动 程 序 中 断 方 式 的 执 行 效 率不如查询方式 $ 即中断处理的代价比较大 & !X " 对 %&& 端 口 通 信 速 度 的 限 制 因 素 主 要 在 主 机 方 而 不 是单片机方 & 鉴于上述情况 $ 在 6/,=9P0 系统下对 %&& 端 口 的 处 理 $ 最 好用查询方式 $ 将数据输入和输出查询程序分别放在两个独立 的 线 程 中 去 完 成 $这 样 即 可 以 得 到 较 高 的 数 据 通 信 速 率 $又 易 于编程实现通信程序各种处理任务 & ! 收稿日期 ’!""# 年 [ 月 "

其中 (48’1-1 %’1-1LM 和 +,-@EN 都是全局变量 $ 当 ’1-1LM 为 <(G% 时 $(48’1-1 则 为 新 收 到 的 数 据 $ 主 程 序 中 用 完 该 数 据后应将 ’1-1LM 置为 I.AF% $ 以免重 复 使 用 #+,-@EN 则 用 于 计算中断接收数据的个数 & 另外 $ 为保证中断方式数据通信成 功 $ 应在 6/,=9P0 系统的硬件设备管理中允许打印端口使用中 断并将其中断号设定为 Q &

#

结论
我 们 将 上 述 %&& 接 口 电 路 和 .)( 单 片 机 .<R"FS#B# 构

参考文献
[$+,-79=E8-/9, -9 -54 +%%% [!SX &1713343 &97- F-1,=17= $ 5--\ ’ J J PPP$ H1\9$89N J [!SX/,-$5-N !$ 伍 丁 红 $ 增 强 并 行 口 %&& 协 议 及 高 速 并 行 口 . J ’ 转 化 转 换 器 的 设
计 %]&$ 电子技术应用 $[RRS #!! "’XQ?XS

成 的 系 统 相 连 $验 证 了 接 口 的 正 确 性 $并 在 主 机 不 同 操 作 系 统 下进行测试 $ 得到如表 ! 所示的数据 & 表 ! 中单片机方的程序是用 .)( 汇编语言编写的 $ 均采 用查询方式 # 主机方 6/,T& 和 6/,RS 下的程序都是 6/,’7/C47 生成的 )UOO 控制台程序 $ 主机方 6/,RS’LF 下的程序是用基

B$朱世鸿 $ 可编程逻辑器件 &A’ 实用设计技术 %^&$ 北京 ’ 电子工业出版
社 $[RRX

! 上接 ["# 页 " 优化控制还缺乏一个有效的手段 $ 只能通过建议的方法提出优 化策略 $ 最终由人工完成对数据库的调整 & 未来可以在这方面 进行更深入的研究 &
%S&

X $ ^17-/, &$AE7/ ! +:^ 公 司 "’ 在 A/,Ec 上 模 拟 大 规 模 并 行 数 据 库 处 理 $ 5--\ ’ J J PPPYR""$/2N$89N J =4C439\47697M0 J 8, J =N== J 3/2717a J -48517-/Y 8340 J "!"B3E7/4 J "!"B3E7/4*4,W$05-N3 #$Z A1,H71,85/ $& ’4331 &47E-1 $. &4779,4 4- 13$<9P17= 1 ,4P 31,=0Y 81\4 9H 0a0-4N0 N1,,1W4N4,- /, 1, 1E-9,9N/8 89N\E-/,W 4,C/79,Y N4,-%]&$+:^ F;F<%^F ]LG(@.A $!""B#X! ![" V$ 人 大 金 仓 信 息 技 术 有 限 公 司 $_/,W2104%F 管 理 员 手 册 与 ]’:U 开 发
手册 !_/,W2104%F 产品技术文档 "

!B"<&UUA91=47 为数据库系 统 的 性 能 优 化 和 自 管 理 研 究 提供了一个平台 $ 未来可以进一步将它的研究成果扩展到其他 应用程序和数据库自管理程序中 %R&& ! 收稿日期 ’!""# 年 # 月 "

参考文献
[ $ <71,018-/9, &798400/,W &47H97N1,84 U9E,8/3 ! <&U " <&U :%@UD Y ^.(_<^ U F-1,=17= F\48/H/81-/9, (4C/0/9, #%F&$!""XY"X ! $ ‘E40- 公 司 ’ :4,85N17M I18-97a (4H474,84 ^1,E13 $ 5--\ ’ J J PPP $ bE40-$89N B$<&U U9E,8/3$5--\ ’ J J PPP$-\8$97W J

Q $ ]95,09,$LU& ’ L71834R/ 性 能 调 整 学 习 指 南 ]904\5 U % ^ & $ 电 子 工 业 出
版社

S$A 6 (E00433$F & ^97W1,$% Z U579,$U398MP97M’. ,4P N9C4N4,- /, 1E-9,9-/8 0a0-4N0%]&$+:^ F;F<%^F ]LG(@.A $!""B #X! ![ " R$] _4\517- $’ U5400$<54 )/0/9, 9H .E-9,9N/8 U9N\E-/,W%]& $U9N\E-47 ^1W1d/,4 $+%%% $!""B#![ " ["$ 印旻 $]1C1 与面向对象程序设计教程 %^&$ 第一版 $ 高等教育出版社

计算机工程与应用 !""#$!#

’()


相关文章:
基于AVR单片机--Atmega16的串口通信使用
标签: 信息通信| 串口通信| 单片机|基于AVR单片机--Atmega16的串口通信使用_信息与通信_工程科技_专业资料。改程序可实现AVR单片机与PC机之间进行通信 ...
AVR单片机JTAG接口的使用方法
单片机| 接口|AVR单片机JTAG接口的使用方法_信息与通信_工程科技_专业资料。AVR单片机...使用环境 shi:AVR Studio 4.07 以上版本,9-15 DC 电源,PC 与 RS232 口...
AVR单片机接口结构分析
AVR单片机接口结构分析_信息与通信_工程科技_专业资料。AVR 单片机 I/O 口结构分析相信我们大多数人都接触过 51 单片机,51 单片机的 I/O 口是准双向 I/O 口...
AVR单片机经典使用经验
通过 PC打印机口,采用 ISP 技术将系统运行代码(HEX、BIN)和数据写入 AVR 芯片的 Flash 和 ...往往也编写不出好的单片机系统程序。 ) 通信接口的...
AVR单片机输入输出IO端口使用_图文
AVR单片机输入输出IO端口使用_信息与通信_工程科技_专业资料。AVR单片机 ATmega16...PC,PD, 每个端口都包含 8 个 I/O 口,如图所示,每个端口对应一个 8 位的...
AVR单片机下载线_图文
会导致不能与 PC 机连接, 严重的还有可以烧毁 PC 机的端口或下载线的单片机...图 10 图 11 此下载线支持 Atmel 公司 51 及 AVR 芯片的烧录,以下为所支持...
(详细比较)AVR和51单片机的区别以及编程的区别_图...
口为准双向 io,所以对 io 口的操作不用设置 io 的方向,而 AVR双向 io...即可接在台式电脑打印机接口烧程序,下载烧程序小软件即实 现可对 S51 单片机...
51单片机系列与AVR单片机系列对比
083211 李英男 51 系列与 AVR 单片机对比的优势 单片机对比的优势 1、AVR 单片机(ATmega16)的时钟源(晶振、内部 RC 等)可以不经过分频直接提供给 CPU 使用,而...
AVR单片机考试答案
17. AVR 的指令长度为 16 位 称为一字, PC ...输入接口、输出接 口五大部分( B ) A、EEPROM B...单片机数据存储器包含 两大部分。( C ) A....
AVR单片机复习题库(1)
17. AVR 的指令长度为 称为一字, PC 指针为 , ...输入接口、输出接 口五大部分( B ) A、EEPROM B...单片机数据存储器包含 两大部分。( C ) A....
更多相关标签: