AT89C51单片机与PC机串行通信的接口实现 下载本文

AT89C51单片机与PC机串行通信的接口实现

[摘要] 本文介绍了AT89C51单片机与PC机采用RS232C标准进行串行通信的接口实现。在接口中采用MAX232作电平转换电路,简单的通信协议,PC机用VB编程,AT89C51单片机采用中断收发方式。文章给出了相应通信接口电路与程序。

[关键词] 通信协议 RS232C 通信接口电路 通信接口程序

AT89C51是一种带4K字节可编程可擦除只读存储器(FLASH FPEROM)和128字节的存取数据存储器(RAM)的低电压,高性能CMOS8位微处理器。采用了ATMEL公司的高密度、不容易丢失存储技术,与MCS-51系列的单片机兼容。具有集成程度高、系统结构简单、价格低廉等优点被广泛应用到控制领域中。但是在复杂的数据处理、良好的人机交互等方面不能满足需要,常采用PC机与AT89C51单片机进行通信,AT89C51单片机(下位机)实时采集数据传送给PC机(上位机)处理,然后接收PC机处理的结果,并进行相应的控制的方式来弥补。本文介绍单片机与PC机进行串行通信的一种接口实现。

一、接口电路的设计

(一)接口逻辑电平的转换

在PC机系统大都装有异步通信适配器,为标准的RS-232C接口。RS-232C为负逻辑,用+3V~+15V表示逻辑“0”, 用-3V~-15V表示逻辑“1”。AT89C51单片机采用正逻辑TTL电平0和+5V.所以AT89C51与PC机通信时必须进行电平转换。转换的方法有多种。常采用MAXIM公司生产的专用的双向电平转换集成电路MAX232。MAX232引脚排列与外围电路如图1所示。

图1MAX引脚及外围接口图

(二)通信接口电路

本文采用可靠性高的MAX232作电平转换芯片,选择其中一对发送器与接收器,PC机的串行口与MAX232的电平端口相连,MAX232的逻辑电平端口与单片机的串行口相连,接口电路如图2所示。

图2PC机与AT89C51通信接口图

二、通信接口程序

(一)通信协议

PC机与AT89C51进行通信必须有一定的通信协议,本文采用简单的通信