多单片机协同工作方法及多单片机协同工作系统的制作方法

文档序号:6604206阅读:801来源:国知局
专利名称:多单片机协同工作方法及多单片机协同工作系统的制作方法
技术领域
本发明属于单片机技术领域,涉及一种多单片机协同工作方法及多单片机协同工作系统。
背景技术
由于单片机价格低廉,应用方便可靠的优点,其应用十分广泛和普及,但单片机作 为一个单机来说,由于其IO端口线有限,也使其应用受到了限制,随着应用领域的不断扩 大,有时单个单片机的控制就显得力不从心了,因此在一些较大的系统中要应用单片机的 话,需要用到多个单片机构成单片机阵列来参与控制,并且往往要求这些单片机协同工作。 例如,在LED大屏幕显示装置中就需要使用多个单片机,为确保LED大屏幕显示装置画面的 统一完整,各单片机必须能够协同工作。目前,实现单片机协同工作方式可以借助于使用单片机的串行口进行通信组成一 个单片机网络系统工作,这种方式存在以下缺陷1)不能灵活地选用单片机的IO 口线,只 能固定使用单片机的串行端口线;2)主客单片机的串行口都要被占用,系统不能通过串行 口与上位机(PC机)或者其它装置进行通信;2)软件设计复杂度较高。另一种方式是将单片机通过2根IO端口线直接相联,这种方式的主要问题是单片 机扩大的数量受到限制,仍然只适合于需要单片机的IO端口控制线还不太多的应用,而且 还要以失去主单片机的IO端口线和控制功能为代价。要解决上述问题,需要寻找一种仅占用单片机的IO端口线资源很少、能够避开单 片机特定的IO端口线、即IO端口线可以是任选的、外围芯片十分廉价、客机数量又不受限 制的方案。

发明内容
本发明所要解决的技术问题是提供一种多单片机协同工作方法及多单片机协同 工作系统,该多单片机协同工作方法及多单片机协同工作系统易于实施、成本低、完成任务 效率高。本发明的技术解决方案如下一种多单片机协同工作系统,其特征在于,由一个单片机主机、多个单片机客机、 一个计数器、一个译码器和一个数据选择器组成;单片机主机上的4个IO端口作为控制端 口,该4个IO端口分别是计数器复位端口(10X0)、计数脉冲输出端口(10X1)、响应信号反 馈端口 (10X2)和使能端口 (10X3);计数器复位端口(10X0)与计数器的复位端(RST)相接,计数脉冲输出端口(IOXl) 与计数器的时钟信号输入端(CLK)相接;计数器的数据输出端(QO-Qm)与译码器的数据输 入端以及数据选择权的通道选择数据输对应选通IO端口 一一连接;使能端口(10X3)接译码器的使能端(EN)和数据选择器的选通端(G);数据选择 器的多个输入通道(Dl-Dn)分别与多个单片机客机的响应IO端口一一连接,数据选择器的输出端(Z)与响应信号反馈端口(10X2)相接;每一个单片机客机都有一个功能执行单元,该功能执行单元用于由译码器输出的 输出选通信号触发而执行本单片机从机中的预设程序以实现预设的功能。
所述的译码器为74LS138D芯片,计数器采用4024BP芯片,单片机主机和从机均采 用为51系列单片机,数据选择器采用74LS251D芯片。一种多单片机协同工作方法,采用前述的多单片机协同工作系统的硬件,单片机 主机的工作步骤为步骤1 二进制计数器清零,置数据选择器使能端有效,置译码器使能端无效;步骤2 发送要呼叫的单片机客机的编号到计数器;步骤3 根据响应信号反馈端口(10X2)的状态判断被呼叫的单片机客机是否空 闲,如果空闲,则进入下一步,否则返回步骤3 ;步骤4:置数据选择器使能端无效,置译码器使能有效,使得译码器输出单片机客 机选通信号;步骤5 延时,然后计数器清零;步骤6 置数据选择器使能端有效,置译码器使能端无效,呼叫操作结束;单片机从客机的工作步骤为步骤A 复位响应端口状态,表示空闲可响应呼叫;步骤B 查询选通IO端口的状态,判断是否有呼叫,如果有呼叫则进入下一步,否 则返回步骤B;步骤C 置相应端口状态为有效,表示响应呼叫;步骤D 启动功能执行单元,完成呼叫所规定的操作;步骤E 复位响应端口状态,表示空闲可响应呼叫,并返回步骤B。本发明包含有多个单片机、一个二进制计数器、一个译码器、一个数据选择器及其 连接线路(见附图)、编程流程图,并有列有应用示例。本发明中多个单片机协同工作方 法体现为在需要使用多个单片机协同工作时,可以设定一个单片机为呼叫单片机(简称主 机),其他单片机为被呼叫单片机(简称客机),它们之间的关系为主_客关系,当主机发现 系统中需要客机协助完成某项的工作时,呼叫客机,使客机及时完成该工作。它们各自有相 对的独立性,有单独的任务要完成,但又需要协同工作,它们的空间位置比较近,传输的信 息量并不大,只传送命令及执行命令的情况,不传送数据,这一点不同于主_从式通信,因 而它类似于人类社会领导与成员之间的关系。有益效果本发明采用较少且廉价的外围芯片,使用很少的单片机IO端口线就解决了多单 片机阵列的协同工作的应用技术障碍,充分发挥了单片机价格低廉,应用方便可靠的特点, 而且编程容易,易于实施,能取得良好的应用效果,因此,实施本发明的性价比极高,具有很 广的应用前景。


图1为本发明电路示意图。图2为软件设计流程图,a为单片机主机工作流程图,b为单片机客机工作流程图。
具体实施例方式下面结合附图以具体实施例对本发明的技术方案及工作过程作进一步的说明,但本发明的保护范围不限于此实施例1参见图1,一种多单片机协同工作系统,其特征在于,由一个单片机主机、多个单片 机客机、一个计数器、一个译码器和一个数据选择器组成;单片机主机上的4个IO端口作为 控制端口,该4个IO端口分别是计数器复位端口 10X0、计数脉冲输出端口 10X1、响应信号 反馈端口 10X2和使能端口 10X3 ;计数器复位端口 10X0与计数器的复位端RST相接,计数脉冲输出端口 IOXl与计 数器的时钟信号输入端CLK相接;计数器的数据输出端QO-Qm与译码器的数据输入端以及 数据选择权的通道选择数据输对应选通IO端口 一一连接;使能端口 10X3接译码器的使能端EN和数据选择器的选通端G ;数据选择器的多 个输入通道Dl-Dn分别与多个单片机客机的响应IO端口一一连接,数据选择器的输出端Z 与响应信号反馈端口 10X2相接;每一个单片机客机都有一个功能执行单元,该功能执行单元用于由译码器输出的 输出选通信号触发而执行本单片机从机中的预设程序以实现预设的功能。单片机主机和单片机客机协同工作的时候,单片机主机和单片机客机之间的通信 只是起到协同和同步的作用,并不传输复杂的数据和复杂的控制命令。不同的单片机客机 执行不同的功能程序,比如1号单片机客机完成功能1,η号单片机客机完成功能η。所述的译码器为74LS138D芯片,计数器采用4024ΒΡ芯片,单片机主机和从机均采 用为51系列单片机,数据选择器采用74LS251D芯片。参见图2,一种多单片机协同工作方法,采用前述的多单片机协同工作系统的硬 件,单片机主机的工作步骤为步骤1 二进制计数器清零,置数据选择器使能端有效,置译码器使能端无效;步骤2 发送要呼叫的单片机客机的编号到计数器;步骤3 根据响应信号反馈端口 10X2的状态判断被呼叫的单片机客机是否空闲, 如果空闲,则进入下一步,否则返回步骤3 ;步骤4 置数据选择器使能端无效,置译码器使能有效,使得译码器输出单片机客 机选通信号;步骤5 延时,然后计数器清零;步骤6 置数据选择器使能端有效,置译码器使能端无效,呼叫操作结束;单片机从客机的工作步骤为步骤A 复位响应端口状态,表示空闲可响应呼叫;步骤B 查询选通IO端口的状态,判断是否有呼叫,如果有呼叫则进入下一步,否 则返回步骤B;步骤C 置相应端口状态为有效,表示响应呼叫;步骤D 启动功能执行单元,完成呼叫所规定的操作;
步骤E 复位响应端口状态,表示空闲可响应呼叫,并返回步骤B。硬件由一多个单片机构成的单片机阵列、一个二进制计数器、一个译码器和一个 数据选择器连接而成,器件之间的连线如说明书附图1所示,主机与各客机所使用的IO端 口线分别定义如表一所示。表一单片机阵列各IO端口线定义
单片机端口线端口线功能10
IOXO一.进制计数器清零输出清零 计数或保持
IOXl 计数脉冲输出(下降沿有效)
主机----
IOX2客机响应信号输入客机空闲 客机正在响应
IOX3 译码器、数据选择器使能控制输出 选中译码器 选中数据选择器
IOXO主机呼叫信号输入未呼叫正呼叫
客机----
IOXl客机呼叫响应输出正响应呼叫 空闲或未响应一、主机呼叫当主机在发现系统有呼叫某一客机的需要时,就会起动如图2(a)所示的操作流 程,主机程序可以子程序的形式编写。二、客机响应在客机程序中,查询主机的呼叫信号,按如图2(b)所示的流程进行响应。如果在 系统中,客机不需要使用外部中断,可以选择10X0 = P3.2(P3. 3),而将客机响应安排为中 断服务程序,可避免客机进行查询,可使响应过程更为及时快速。实用效果将本技术应用于一个使用了 10个单片机的LED广告控制系统中,该系统LED屏 为一个行线数为96、列线数为1280的单色屏,由单片机主机与单片机客机1负责行线的控 制,其他8个单片机客机负责列线的控制,由于使用了较多的单片机进行协同工作,有较多 单片机的资源可以利用,较容易地实现了文字和图片画面的左移、右移、上移、上移、逐行消 失、逐列消失、闪烁等功能。
权利要求
一种多单片机协同工作系统,其特征在于,由一个单片机主机、多个单片机客机、一个计数器、一个译码器和一个数据选择器组成;单片机主机上的4个IO端口作为控制端口,该4个IO端口分别是计数器复位端口(IOX0)、计数脉冲输出端口(IOX1)、响应信号反馈端口(IOX2)和使能端口(IOX3);计数器复位端口(IOX0)与计数器的复位端(RST)相接,计数脉冲输出端口(IOX1)与计数器的时钟信号输入端(CLK)相接;计数器的数据输出端(Q0-Qm)与译码器的数据输入端以及数据选择权的通道选择数据输对应选通IO端口一一连接;使能端口(IOX3)接译码器的使能端(EN)和数据选择器的选通端(G);数据选择器的多个输入通道(D1-Dn)分别与多个单片机客机的响应IO端口一一连接,数据选择器的输出端(Z)与响应信号反馈端口(IOX2)相接;每一个单片机客机都有一个功能执行单元,该功能执行单元用于由译码器输出的输出选通信号触发而执行本单片机从机中的预设程序以实现预设的功能。
2.根据权利要求1所述的多单片机协同工作系统,其特征在于,所述的译码器为 74LS138D芯片,计数器采用4024BP芯片,单片机主机和从机均采用为51系列单片机,数据 选择器采用74LS251D芯片。
3.—种多单片机协同工作方法,其特征在于,采用权利要求1或2所述的多单片机协同 工作系统的硬件,单片机主机的工作步骤为步骤1 二进制计数器清零,置数据选择器使能端有效,置译码器使能端无效; 步骤2 发送要呼叫的单片机客机的编号到计数器;步骤3:根据响应信号反馈端口(10X2)的状态判断被呼叫的单片机客机是否空闲,如 果空闲,则进入下一步,否则返回步骤3 ;步骤4:置数据选择器使能端无效,置译码器使能有效,使得译码器输出单片机客机选 通信号;步骤5:延时,然后计数器清零;步骤6 置数据选择器使能端有效,置译码器使能端无效,呼叫操作结束;单片机从客机的工作步骤为步骤A 复位响应端口状态,表示空闲可响应呼叫;步骤B 查询选通10端口的状态,判断是否有呼叫,如果有呼叫则进入下一步,否则返 回步骤B ;步骤C 置相应端口状态为有效,表示响应呼叫;步骤D 启动功能执行单元,完成呼叫所规定的操作;步骤E 复位响应端口状态,表示空闲可响应呼叫,并返回步骤B。
全文摘要
本发明公开了一种多单片机协同工作方法及多单片机协同工作系统,该工作系统由一个单片机主机、多个单片机客机、一个计数器、一个译码器和一个数据选择器组成;单片机主机上的4个IO端口作为控制端口,该4个IO端口分别是计数器复位端口、计数脉冲输出端口、响应信号反馈端口和使能端口;每一个单片机客机都有一个功能执行单元,该功能执行单元用于由译码器输出的输出选通信号触发而执行本单片机从机中的预设程序以实现预设的功能。本发明采用较少且廉价的外围芯片,使用很少的单片机IO端口线就解决了多单片机阵列的协同工作的应用技术障碍,充分发挥了单片机价格低廉,性价比极高,具有很广的应用前景。
文档编号G06F15/17GK101859291SQ201010200548
公开日2010年10月13日 申请日期2010年6月13日 优先权日2010年6月13日
发明者王新辉, 王梓全, 马凌云 申请人:王新辉
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1