在一个系统中只使用一片单片机,是目前应用最多的一种方式。主要有:(1)智能产品 (2)智能仪表 (3)测控系统 (4)数控系统 (5)智能接口 等。但随着计算机技术的发展及工业自动化水平的提高,在许多场合采用单片机控制已经不能满足现场要求,所以必须采用多机控制的形式,而实现多机控制主要是通过多个单片机之间的串行通信。主要应用于功能弥散系统和多机并行控制系统。串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,因其通信编程灵活、硬件简洁并遵循统一的标准,因此在工业控制领域得到了广泛的应用。
随着单片机以及计算机技术的不断发展,单片机的应用也从独立的单机向网络发展,由计算机和单片机构成的多级网络系统已经成为单片机技术发展的一个方向,两者的结合,使得单片机充分发挥了其在实时数据采集和数据管理上的优势,单片机已经渗透到我们生活的各个领域,计算机网络通讯与数据传输,工业自动化过程的实时控制和处理都离不开单片机的参与。然而,单片机在对网络数据的处理方式上有别于通用计算机系统,特别是只提供8位数据收发接口的单片机,在一定程度上限制了单片机在网络方面的应用和发展。
1。2 本课题研究现状
现代的单片机普遍具有通信接口,可以很方便地实现与计算机进行数据通信,创造计算机网络和通信设备间应用的物质条件,如今的通信设备基本上都实现了单片机的智能控制的功能。
起初,单片机的通信领域应用主要是依靠两片单片机之间的通信进行发展,之后随着单片机和计算机技术的发展,对单片机的要求也不断提高,主从式多机通信应运而生并很快得到了广泛的应用,在这之后的发展过程中,以PC机作为上位机和以单片机作为下位机的通信应用得以出现,与此同时,以VB或者VC++作为上位机等面向对象的程序设计语言编写通信收发程序,也得到了广泛的应用。
本文主要介绍了一种基于AT89C52单片机的多机通信方式,通过自定义串行通信协议,实现单片机AT89C52多机通信的方法和技巧。8位单片机在多机通信方面的问题得到了系统的设计和解决,主机与从机之间的通信以及从机与从机之间的通信也得到了系统的实现。不可否认,单片机的多机通信在未来工业控制、通信、家用电器等领域都将有很大的发展空间,并且单片机具有体积小,性价比高等经济性的优势,因此单片机一定会在未来的各个控制领域得到广泛的应用。
2 系统设计相关原理
本次设计中使用的单片机通过串口进行通信,关键是地址帧的识别。主机通过读取按键的键值,然后根据P0口读取的开关状态,发送对应的地址码以及按键键值给对应的从机。从机接收到来自主机的地址码,跟自己的地址码进行比较,若与自己的地址码相一致,则接受数据,并将数据显示到数码管上,否则不接收数据。
2。1 主从数据传递原理
2。1。1 主机发送信息
1。主机与从机的波特率要保持一致。波特率是单片机在串口通信时的速率,具体指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数。本次设计单片机的波特率为9600,通过程序设定,详情见附录。
2。所有从机必须实现分配好地址,每一个从机对应一个地址。主从机都工作在9位UART模式下,地址帧、数据帧的鉴别是通过第9位数据确定的,TB8=1为地址帧,TB8=0是数据帧。本次设计定时器T1使用串口工作方式2。