|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
$ f/ ~% o) R- P: l
摘要针对一电机测试装置,在Delphi 7下用PComm实现微机与PIC18F458单片机的串行通信。对该装9 K8 [$ D9 H4 a1 P. w4 L" Y
置检测仪高速上传数据而引起数据丢失的情况进行了重点讨论,利用PComm提供的中断服务函数很好地解决了
D& g; n3 e2 p7 z此问题,保证了实时性,并对涉及到的回调函数进行了详细的阐述。
$ a, g$ U8 \4 d5 h8 l" ]. H/ v关键词串行通信;高速上传数据; PComm; PIC单片机
+ a4 y* l5 _4 x; y$ K
. h- M9 y0 O8 j0 引言, R) U! f# x3 w# [5 ]
串行通信具有传输线少,操作简便等特点,被广
( l: x/ S$ b" o' C) o泛应用于工业自动化领域和远程监系统中,以实现微% h" F2 _6 |+ k! x* a: W
机(.上位机)与单片机、微机与微机之间的数据交换。& |# h( [* q+ X8 W1 V6 x
Delphi是一种非常优秀的Windows应用程序开发工3 N' ~ D' a# k8 }+ d3 b
具,也是数据库应用程序最优秀的开发工具之一,可0 ]6 r# T( h: n% A: P O! Q+ M! H
大大缩短软件的开发周期。利用Delphi实现串行通: \5 p% X6 M1 I- k* |9 {
信主要有3种方法: (1 )利用Windows的通信API函
8 @. x7 q8 A) M& _1 D数,它提供的串口函数库比较少,且语法十分复杂,所
- }0 s% s. l( x9 w/ T4 p以在Windows下开发串口应用软件会感到相当困难;- i& a# M. k/ B% B! ?6 z; g9 d
(2)利用Windows操作系统中注册的控件,虽然它比
4 W! I$ z6 s" O( S& \API函数简单易用,但是并不能满足所有系统的性能
: m8 }8 T5 Y" M8 d* S9 s扩展,如微软公司提供的ActiveX 控件MSComm最大7 `" i, p3 f1 n* x1 Y& f: ^
0 e7 v- G3 I+ y5 F" p1 W) {* F
只支持16个串口;(3)调用其它串口通信程序,例如:
* l* c8 E; t# e/ w$ G6 D) n台湾MOXA(摩莎)公司开发的串口开发软件包
# T8 M3 x& P; T5 mPComm Library,它提供了专为异步通讯设计的API
4 u: ^; Z I% Q' r; B函数库,在相应的硬件支持下,如加装专用串行通讯
. |9 R; ~' O/ Z- e) B* l$ B1 S$ t接口等,其最高传输速度可达921.6kbps。 本文采用
0 E8 V5 x0 \7 `& B+ j. ]第3种方法。
0 l$ [4 o8 E7 s& j
5 u- \! i0 l" u/ }: U1 系统组成; [ ^. S7 k7 V
PIC18Fxxx系列单片机是美国微芯( Microchip )5 Z6 \9 X( x! x8 x) o2 W* P9 W
公司推出的CMOS8位单片机,采用了精简指令集0 ?# T x; r1 a5 D0 @5 r6 c
( RISC)、哈佛( Harvard)总线结构和流水线取指令方
9 f2 ~- e% W$ w; f+ R1 o4 N. G$ T8 G式,具有实用、低价、指令集小、简单易学、低功耗、高
7 e# i6 ^; Y/ [速度、体积小、功能强及抗干扰能力强等特点。大量.
0 j2 |7 p$ c. a% ~0 ~5 |' K用于汽车电气控制、低功耗的应用的表计和测量仪表
! y5 m" k0 d6 d% q5 q
' V# M3 Q' f4 B& q: L( A* i& O, Q6 A Z+ x
2 u/ D7 n2 }9 W+ G; N u) X3 y6 b/ j, W4 T7 w. k: a
' |3 t+ C+ b0 a7 T5 l
, C5 `3 @- P( x' v- X3 X( r& { |
|