|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
! q9 c d/ L) Y
摘要针对一电机测试装置,在Delphi 7下用PComm实现微机与PIC18F458单片机的串行通信。对该装0 G( _: e: a( N5 U& Y
置检测仪高速上传数据而引起数据丢失的情况进行了重点讨论,利用PComm提供的中断服务函数很好地解决了2 T+ U( v) k; r1 F; d) s
此问题,保证了实时性,并对涉及到的回调函数进行了详细的阐述。
( R5 N5 I/ M7 o& z* N# ~; u) h关键词串行通信;高速上传数据; PComm; PIC单片机
* D1 I7 B- ^1 L; ?' w/ Y% K3 V7 ]5 Q: n$ P9 G: T& _+ D) ?5 P5 V
0 引言
: Y) l# H# e) T3 R串行通信具有传输线少,操作简便等特点,被广9 i- i% t3 a, ?& [5 b$ H# p
泛应用于工业自动化领域和远程监系统中,以实现微3 R1 |+ n* ]$ J1 i, L$ t6 Y9 {
机(.上位机)与单片机、微机与微机之间的数据交换。$ v2 q6 {0 ^' ?" f
Delphi是一种非常优秀的Windows应用程序开发工
# H" Y- E5 B ^7 K# {+ J具,也是数据库应用程序最优秀的开发工具之一,可
* J2 G2 ~5 s: _, i+ _% a大大缩短软件的开发周期。利用Delphi实现串行通$ J* C8 z; I7 ^3 X' q2 s+ L0 m
信主要有3种方法: (1 )利用Windows的通信API函* \) K) y# P2 Q* m
数,它提供的串口函数库比较少,且语法十分复杂,所
( f( F" Y* w' s! T以在Windows下开发串口应用软件会感到相当困难;
/ ^4 E# D# b2 c, _0 d; G# G# `* y' v1 Q(2)利用Windows操作系统中注册的控件,虽然它比
7 B% W6 a ~0 C+ I# \( ]API函数简单易用,但是并不能满足所有系统的性能
$ P$ ^% F) p6 R. E. P& {, w扩展,如微软公司提供的ActiveX 控件MSComm最大* A3 i; U6 _" D
2 D2 N( x4 {5 \. f, i1 t( s只支持16个串口;(3)调用其它串口通信程序,例如:
& |! `: b7 E' p- W! F) ~" K台湾MOXA(摩莎)公司开发的串口开发软件包
2 w$ t! r- Q, z, EPComm Library,它提供了专为异步通讯设计的API2 Y {' y, ?7 Q) F2 _: V
函数库,在相应的硬件支持下,如加装专用串行通讯; `) j; y% Z2 f/ L% v. t
接口等,其最高传输速度可达921.6kbps。 本文采用
0 ]7 P# [5 C* R2 A+ U6 v第3种方法。
/ ~& a8 |7 h; Y" E# a" B
: F, P# T# g0 u; Y6 y1 系统组成( b5 }; x- x% _5 f
PIC18Fxxx系列单片机是美国微芯( Microchip )
3 B" |* _" M) I1 V$ r5 j/ `公司推出的CMOS8位单片机,采用了精简指令集- e. g/ k7 W0 J
( RISC)、哈佛( Harvard)总线结构和流水线取指令方2 N( c" }) D9 h4 F' E9 ]
式,具有实用、低价、指令集小、简单易学、低功耗、高0 T! U0 m: o9 n! k# l5 {+ a
速度、体积小、功能强及抗干扰能力强等特点。大量.
. i* L4 {5 v0 |" C- a用于汽车电气控制、低功耗的应用的表计和测量仪表
+ e' n, y: p7 {3 d6 R y x6 d) M+ w$ n1 {! k; E( ?
5 U& }3 D# V4 c8 Q! v9 w B$ D1 B3 a( R
$ F; A9 `1 L8 m7 F$ k' P( A8 I0 n1 W8 b; ?6 _$ A
$ Z1 z/ } t; V& r/ A) {& G3 U |
|