欢迎来到天天文库
浏览记录
ID:38469965
大小:96.50 KB
页数:3页
时间:2019-06-13
《基于AT89S51单片机的多机通信系统的研究与设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于AT89S51单片机的多机通信系统的研究与设计熊娟(黄淮学院,河南省驻马店463000)摘要:本文利用ATMEL公司的AT89S51芯片设计多机通信系统,主要研究了系统硬件和系统软件部分,并详细介绍了多机通信系统的设计过程。关键词:单片机,多机通信,数据接收AT89S51MicrocontrollerbasedMulti-CommunicationSystemResearchandDesignXiongjuan(Huang-HuaiCollege,HenanZhumadian463000)Abstract:Inthispaper,ATMELCorporationAT89S5
2、1chipdesignmulti-machinecommunicationsystem,themainresearchofthesystemhardwareandsystemsoftwarecomponents,andgavedetailsofthemulti-machinecommunicationsystemdesignprocess.Keywords:SCM,multi-machinecommunications,datareception1、引言随着电子技术技术的日益发展,在网络通讯与数据传输、工业自动化过程的实时控制和数据处理等操作过程中,通常需要一个集中控制系统能够
3、对现场的运行数据进行监测和控制,以使各系统间能够高速、即时地进行通信。而由计算机和单片机构成的多机网络系统已成为一种有效的通信手段,由于它具有控制方便、简单、灵活、可靠等优点,同时又遵循统一的标准,因而得到了广泛的应用。本文遵循在不影响系统功能的情况下,使设计电路简单化的原则,对多机通信系统的硬件部分和软件设计部分进行了研究,利用ATMEL公司的单片机芯片AT89S51结合其他一些外围电路实现了多机通信系统的硬件电路设计,并在此基础上完成了系统的软件部分设计。2、系统硬件设计本系统的硬件部分主要由单片机AT89S51、RS-232电平转换芯片、PC机等组成。2.1单片机芯片AT
4、89S51本设计选用ATMEL公司的AT89S51芯片,AT89S51是一种低功耗、高性能CMOS8位单片机,片内含4K字节ISP的可反复擦写1000次的Flash只读存储器(FPEROM)。该器件采用ATMEL技术,与MCS-51指令集和80C51引脚相兼容,芯片内集成了通用8位中央处理器和ISPFlash存储单元。功能强大、低价位的AT89S51可为许多嵌入式控制应用系统提供高性价比的应用场介,广泛应用于各种控制领域。AT89S51管脚排列图如图1所示。图1AT89S51管脚排列图2.2单片机芯片的接口电路设计本设计所用的数据传输方式为串口通讯。串口通讯既可以将单片机的数据
5、传输到计算机端,又可以实现计算机对单片机的控制。而且串口通讯所需电缆线少,接线简单,因此,在较远距离传输中,得到了广泛的运用。由于单片机的串行口大部分是采用TTL电平标准的,所以它的逻辑1电平是5V,逻辑0电平是0V。而电脑串行口所使用的是RS232C的电平标准,它的逻辑1电平是-3.3V,逻辑0电平是+3.3V。因为两者的电平范围相差很远,所以连接时需要用到电平转换电路。本设计选用的是专用电平转换电路RS232芯片,图2为单片机的电平转换接口电路。图289S51与RS-232接口连接3、系统软件设计为了能让系统正常工作,设计完硬件部分的电路之后,还要立即进行软件部分的设计。这
6、一部分的设计在整个设计系统里所占的位置非常重要。3.1通信协议模块通信协议工作过程主要包括发送数据过程和接收数据过程。本系统采用异步半双工通信模式,在同一时间内可以是主机发送,从机接收,也可以是从机发射,主机接收。从机有两种接收数据的方式:1、等待接收,处理器一直查询串口状态,来判断是否接收到数据。2、中断接收。在一对多的系统中,首先在接收中断中解析“连接”命令,连接命令接收到后主程序进入设置状态,采用查询的方式来解析其余的协议。协议解析的目的,首先判断数据包的完整性,正确性,然后提取数据类型,数据等数据,存放起来用于主程序处理。一般采用中断接收的方法比较好。主机接收数据的过程
7、与从机可以做到完全一致,在打开串口后,开启远程监视串口的数据接收,将接收的数据保存到缓冲区,并向主程序发送接收数据的消息,数据将随消息一起发送到主程序。主程序开启此消息的处理函数,进行数据处理。3.2驱动程序设计驱动程序设计有发送和接收两部分,主要是设置各种寄存器的参数,只有当控制寄存器中的复位要求位置为高时,这些寄存器才可被访问。因此,在对这些寄存器初始化前,必须确保系统进入了复位状态,发送程序只需把发送的信息帧送到发送缓冲区,启动发送命令即可,接收程序只需从接收缓冲区读取要接收的信息即可
此文档下载收益归作者所有