AT89C51单片机与PC机的通信接口及编程.pdf
《AT89C51单片机与PC机的通信接口及编程.pdf》由会员分享,可在线阅读,更多相关《AT89C51单片机与PC机的通信接口及编程.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3 2 卷第9 期2 0 0 6 年9 月电子工蠢师E L E C T R O N I CE N G I N E E RV 0 1 3 2N o 9S 印2 0 0 6A T 8 9C 5 l 单片机与P C 机的通信接口及编程夏莉英,陈雁(苏州职业大学电子信息工程系,江苏省苏州市2 1 5 1 0 4)摘要:介绍了P c 机与单片机采用R S-2 3 2 C 进行串行通信的接口方法。对于硬件接口电路中常用的一些方法进行了简要的比较,并介绍了电平转换芯片M A x 2 3 2 及其应用方法。在通信程序的设计中,数据传输的校验方法采用反馈确认法,即每传送一个数据就反馈一次,由发送方确认,相当于
2、每次都有握手信号,大大提高了数据传输的可靠性。给出了完整的P c 机与单片机点对点双机通信程序。关键词:串行通信;接口;R S-2 3 2 C;编程中图分类号:T P 3 3 4 7O 引言A 髓9 c 5 1 是一种低功耗、高性能的8 位单片微型计算机,它采用了c M O s 工艺和A T M E L 公司的高密度N V R A M(非易失性随机存储器)技术,片内带有一个4k B 的F l a s hE P R O M(可擦除、可编程只读存储器),其输出引脚和指令系统与M C s 一5 1 完全兼容。由于A 鸭9 C 5 1 单片机具有集成度高、面向控制、系统结构简单、价格便宜等诸多优点,因
3、而在智能化仪器仪表、数据采集、数据测量等方面有着广泛的应用。但是,实际应用中单片机在数据处理能力、人机交互等方面往往不能满足要求,因而通常用P c 机来弥补单片机的这些不足。例如,在I c 卡税务管理系统中,用单片机控制I C 卡的读写操作,实现税务申报情况记录,然后传送给P C 机进行数据处理,建立数据库文件及各种表格文件,显示、打印报表等,从而实现税务征收管理。此时,就涉及到P C 机与单片机之间的通信问题。本文介绍一种P c 机与单片机的通信接口及其编程方法。1 接口电路的设计在设计硬件接口电路时,应充分考虑到电路的电气特性、逻辑电平以及驱动能力的匹配问题,若匹配得不好,将会导致通信失败
4、。1 1串行通信接口标准R s-2 3 2 cP C 机上均带有标准的R S 一2 3 2 C 接口。R S 一2 3 2 C 是由E I A(美国电子工业协会)于1 9 6 9 年正式公布的、在异步串行通信中应用最为广泛的标准总线接口,适合于短距离通信或带调制解调器的通信应用场合。采用R s-2 3 2 c 标准进行数据传输时,最大传输速收稿日期:2 0 0 5-1 l 一0 7;修回日期:2 0 0 6 m 2 _ 2 l。5 2 率为2 0k b s,最大距离为1 5m。它们之间具有相关性,适当降低传输速率就可加大传输距离,反之,适当减少传输距离就可提高传输速率。R s 2 3 2 c
5、标准接口是一个使用二进制进行交换的D T E(数据终端设备)与D c E(数据通信设备)之间的接口。R S _ 2 3 2 c 定义了2 2 根信号线,采用标准的D B 一2 5 芯和D B 9 芯两种连接器,其中最常用的信号线的功能如表1 所示。表1R S 2 C 接口常用信号线功能表R s 2 3 2 c 的发送器和接收器之间具有公共信号地,使用单端信号,因而共模噪声易耦合到信号系统中。为了提高抗干扰能力,R s 一2 3 2 c 使用较高的传输电压。R s 2 3 2 c 主要电气特性如下:不带负载时驱动器输出电平为一2 5V+2 5V;负载电阻范围为3k Q7k Q;负载电容(包括线间
6、电容)为+3 V;逻辑“1”的输入电平为 一3 V;逻辑“0”的输出电平为+5 V+1 5 V;逻辑“1”的输出电平为一5 V 一15V;输出短路电流为 0 5A;驱动器转换速率为 3 0v 斗s;驱动器输出电阻为 3 0 0Q(在断电条件下测量)。万方数据第3 2 卷第9 期夏莉英,等:A 髓9 c 5 1 单片机与P c 机的通信接口及编程计算机与自动化技术1 2R S 2 3 2 c 与T T L、C M o s 逻辑电平的比较R s _ 2 3 2 c 是早期为促进公共电话网进行数据通信制定的接口标准,其逻辑电平对地呈对称性,与吼、C M O S 逻辑电平完全不同。R S 一2 3 2
7、 C 的逻辑“0”电平为+5V 一+1 5V,逻辑“1”电平为一5V 一1 5V,采用负逻辑,而T T L、c M o s 采用正逻辑。两种逻辑电平的比较见表2。表2R S 2 3 2 C 与T T L、C M O S 逻辑电平的比较1 3R S 2 3 2 c 与T T L 逻辑电平的转换由于P C 机串行口使用的是R S 一2 3 2 C 逻辑电平,而A 偈9 c 5 1 单片机串行口的输人输出均为T T L 电平,因此当P c 机与单片机通信时必须进行电平转换。常见的电平转换方法有以下3 种:a)使用M c l 4 8 8、M c l 4 8 9 电平转换器。此方法的缺点是:需要+1 2
8、V、一1 2V 电源供电;工作稳定性和可靠性不高。b)使用2 个三极管构成准R s 一2 3 2 c 电平转换器。此方法的缺点是:通信只能工作于半双工状态;程序设计较复杂。c)使用双向电平转换集成芯片。此方法的优点是:只需单一+5V 电源供电,可靠性高,无需增加程序设计的复杂性,常用的芯片有I C L 2 3 2、M A x 2 3 2、髑C 2 3 2 等。本文采用最后一种方法,芯片选用M A)(2 3 2。1 4M A 慰3 2 电平转换芯片M A x 2 3 2 的组成框图如图1 所示。+SV图1M A X 2 3 2 组成框图M A)(2 3 2 电平转换芯片是M A x I M 公司
9、生产的一种新型的电平转换芯片,其内部有电压倍增电路和电压转换电路,只需单一+5V 电源供电。它含有4 个反向器,可实现2 路,I T I L C M O S 电平+5V 到R S 一2 3 2 C 电平1 0V 的转换和2 路R S 2 3 2 C 电平土1 0V到r I-I L c M O S 电平+5V 的转换。M A)【2 3 2 的引脚排列如图2 所示。图2M A】|【2 3 2 引脚排列1 5P c 机与单片机的串行通信接口电路如前所述,本文采用M A x 2 3 2 作为P C 机与单片机的串行通信接口芯片。硬件连接时,可从M A)【2 3 2中的2 路发送器和接收器中任选一路,只
10、要注意发送与接收的引脚对应关系即可。接口电路如图3 所示。A T 8 9 C 5 lM A X 2 3 2+5VI B M P CC 1+V C C1 崮卜_C 1 V+爿一C 2+lL I F1 扫卜_C 2 R S 2 32 CT X DT 1 i nT 1 0 u tR X DR X DR l o u t R l i nT X DG N DG N DV l l 十G N D一1r图3P C 机与单片机通信接口电路2 通信程序设计在设计P c 机与单片机通信程序时,应首先明确数据传输协议,例如:数据传输的帧格式、数据校验方法、P c 机与单片机在实现异步通信时的工作方式等。本文所述的I C
11、 卡税务管理系统中的各项约定为:波特率为96 0 0b s;数据格式一帧1 0 位,起始位1 位,数据位8 位,停止位l 位;数据校验方法为反馈一确认法;异步通信工作方式,P c 机采用B I O s 功能调用I N T1 4 H,单片机采用查询方式收发数据,其串行口工作于方式1。2 1P C 机异步通信编程方法I B M P c 系列机的串行异步通信适配器是以8 2 5 0为核心,由它完成发送时的并串转换和接收时的串并转换,以及与转换相关的控制工作。同时,适配器中还配置了电平转换的发送器和接收器电路及其他控制电路。发送器用于将r I f I L 电平转换为R s-2 3 2 c 电平,接收器
12、用于将R s-2 3 2 c 电平转换为r I T l l L 电平。P c 机控制R S 2 3 2 C 接口的方法有3 种:直接对8 2 5 0 的端口编程(端口地址为3 F 8 H 一3 F F H)、D O s 功能调用、B I O S 功能调用。其中,B I O S 功能调用方法最好,用它编程时既不必涉及8 2 5 0 的端口,又有比较完5 3 虽mm m VGTRRTTRm卟曙眩u眦 万方数据计算机与自动化技术电子工墨师2 0 0 6 年9 月善的功能,因而简单、方便,易于实现。表3 列出了B I-O S 功能调用I N T1 4 H 的各项子功能。表3B I o S 功能调用烈T
13、1 4 H 的功能表3 中A L 的参数格式如图4 所示。D 7D 6D 5 D 4D 3D 2D 1D 0波特率选择奇偶校验停止位字符长度O o o 1 1 0 x O 无奇偶O l 位l O,7 位0 0 1 1 5 00 1 奇校验1 2 位1 l 一8 位0 1 0 3 0 01 1 偶校验0 1 1-6 0 01 0 0 1 2 0 01 0 1 2 4 0 01 1 0-4 8 0 01 1】9 6 0 0图4A L 的参数格式调用I N T1 4 H 后,A H 中存放的是线路状态的出口参数,其各位定义如图5 所示。D 7D 6D 5D 4D 3D 2D lD o超时错 发送器发
14、送器间断帧格奇偶溢出错接收器移位寄保持寄条件式错校验错数据寄存器空存器空存器就绪图5A H 中各位的定义A H 中D 7 位的含义如下:a)发送时返回D 7=1,表示未能发送成功;b)接收时返回D 7=1,表示未能成功接收。2 2A 髑9 C 5 l 单片机异步通信编程方法A 弼9 c 5 l 单片机内部有一个功能很强的全双工串行异步通信接口,能方便地构成双机或多机通信系统。本文介绍的是P C 机与A 1 8 9 c 5 1 单片机构成的点对点双机通信系统。A 聪9 c 5 1 串行口主要由2 个串行数据缓冲器(s B U F)、发送控制器、接收控制器、发送端口、接收端口等组成。串行口的工作方
15、式和波特率由专用寄存器S C O N 和P C O N 控制。编程时,首先将串行口设置为工作方式1,以便实现点对点的异步通信。发送时,只要执行一条“M O VS B U F,A”指令,就启动了发送功能,累加器A 中的数据就会按事先设置的方式和波特率从T x D 端(P 3 1)串行输出。一帧数据发送完毕,发送中断标志位T I=l,串行口向c P u 请求中断。此时,令T I=0,就可发送下一帧数据。5 4 接收时,首先使s c o N 中的接收允许控制位R E N=l,A 偈9 C 5 l 以1 6 倍波特率的速率检测R x D(P 3 O)上的信号,检测时采取“三中取二”原则,即当连续检测3
16、 次R x D,出现2 次以上由“1”到“0”的负跳变时,就启动接收控制器接收数据,一帧数据接收完毕,接收中断标志位R I=1,串行口向c P u 请求中断。此时,只要执行一条“M O VA,S B u F”指令,就可将数据读人累加器A 中。再令R I=0,就可接收下一帧数据。2 3 通信程序1)P c 机通信程序S T A C K lS E G M E N TS T A C KD B2 5 6D U P(0)S T A C K lE N DD A 7 I AS E G M E N TR B U FD B2 5 6(O)C O U N TD B2 5 6D A T AE N D SC O D
17、ES E G M E N TA S S U M EC S:C O D E,D S:D A T A,S S:S T A C K lS r A R TP R O CF A RP U S HD SX O RA X A XP U S HA HM O VA X D A T AM O VD S A XM O VA X S r r A C KM O VS S A XL E AD I,R B u F 置接收数据块首址M O Vc x,c o u N T 置接收数据块长度M O VA L,E 3 H 串口初始化:波特率9 6 0 0,无校验,1 位停止位,8 位数据位M O VD x,0 0 H指定c O M
18、lM O VA H,0 0 H 0 号功能I N T 1 4 HR E P T l:M O VA H,0 2 H 2 号功能:接收一个字符I N T1 4 H 出口参数:A L 中为接收到的字符,A H 中为线路状态M O VB x,A x A x 内容暂存于B x 中M O VA L,A H 取线路状态至A LT E s TA L,8 0 H 接收成功否(D 7=0)?J N zR E P T l 不成功,重试T E s T A L,0 1 H 成功,则再查接收数据就绪否(D 0=1)?J zR E 胛l 未就绪,重试M O VA L,B L 取回所接收的字符c M PA L,E E H 该
19、字符是出错标志否?J ER E P r l 是。重试M O V D I ,A L 不是,则接收正确,保存该字符 万方数据第3 2 卷第9 期夏莉英,等:A 鸭9 c 5 l 单片机与P C 机的通信接口及编程计算机与自动化技术I N CD I 指向下一个地址单元R E P l 2:M O VA H,0 3 H 3 号功能:检查串口状态I N T1 4 HM O VA L,A H 取线路状态至A LT E S TA L,2 0 H 8 2 5 0 的发送保持器空否(D 5=1)?J zR E P l 2 不空,重试;空,则反馈该字符R E P l 3:M O VA H,0 1 H 1 号功能:发
20、送一个字符I N T1 4 HM O VA L,A H 取线路状态至A LT E S TA L,8 0 H 发送成功否(D 7=0)?J N zR E P l 3 否,重试L 0 0 PR E 胛l数据块接收完毕否?未完,继续S T A R TE N D PC O D EE N D SE N DS T A R T2)A B 9 c 5 1 单片机通信程序0 R G0 0 0 0 HL J M PB E G I N 转到程序实际入口0 R G0 0 3 0 HB E G I N:M O VT M O D,轮0 H 设置定时器工作方式:T 1,方式2M O VT H l,棚F D H 设置波特率M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AT89C51 单片机 PC 通信 接口 编程
限制150内