本发明专利技术属于硬件通信技术领域,具体涉及一种两个单片机IO口单线通信的方法。一种两个单片机IO口单线通信的方法,将两个单片机的IO口采用单根导线连接,它包括以下步骤,S1、第一单片机的发送信号F_tx_sign置1,通过导线发送给第二单片机,第二单片机接收后,将第二单片机的接收信号F_rx_sign清0;S2、第二单片机进入接收状态,第一单片机通过导线发送数据给第二单片机;S3、第一单片机发送完毕,发送信号F_tx_sign清0发送给第二单片机,第二单片接收后,将接收信号F_rx_sign置1,第二单片机进入发送状态,第一单片机进入接收状态。
【技术实现步骤摘要】
一种两个单片机IO口单线通信的方法
本专利技术属于硬件通信
,具体涉及一种两个单片机IO口单线通信的方法。
技术介绍
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。单片机的通信主要有三种,如下:1、单片机自身带的通信UART,UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信。UART是两线,一根发送一根接收,可以全双工通信。数据是异步传输的,对双方的时序要求比较严格,通信速度也不是很快。在多机通信上面用的最多。2、I2C接口也是两线接口,它是两根线之间通过复杂的逻辑关系传输数据的,通信速度不高,程序写起来也比较复杂。一般单片机系统里主要用来和24C02等小容易存储器连接。3、单片机自身带的通信SPI,SPI接口和UART相比,多了一条同步时钟线,对通信双方的时序要求不严格,不同设备之间可以很容易结合,而且通信速度非常快。一般用在产品内部元件之间的高速数据通信上面,如大容量存储器等。单片机的上述通信方式都至少采用两根线,使得成本上升。特别是UART和SPI通信,都是集成在单片机上的,都会使价格变贵,因此两个自带通信的单片机价格就会更贵。
技术实现思路
针对现有技术存在的不足之处,本专利技术提出了一种两个单片机IO口单线通信的方法,在两个单片机需要互相通信信号,采用单线的方法实现。仅采用单个IO口实现两个单片机通信,不仅占用单片机的IO口少,而且节省成本。本专利技术采用如下技术方案:一种两个单片机IO口单线通信的方法,将两个单片机的IO口采用单根导线连接,它包括以下步骤,S1、第一单片机的发送信号F_tx_sign置1,通过导线发送给第二单片机,第二单片机接收后,将第二单片机的接收信号F_rx_sign清0;S2、第二单片机进入接收状态,第一单片机通过导线发送数据给第二单片机;S3、第一单片机发送完毕,发送信号F_tx_sign清0发送给第二单片机,第二单片接收后,将接收信号F_rx_sign置1,第二单片机进入发送状态,第一单片机进入接收状态。进一步的,所述两个单片机的IO口之间串接有电阻。进一步的,所述发送数据包括头码、数据段和结束码。更进一步的,所述数据段包括第一数据和第二数据,第一数据和第二数据的字节相反。进一步的,所述第一单片机和第二单片机的低电平时间为t,1的数据高电平时间为akt,0的数据高电平时间为kt,其中,a≥2,k≥2。更进一步的,所述头码的数据的高电平时间为mt,所述结束码的数据的高电平时间为ht。更进一步的,所述m>h。本专利技术相对于现有技术,具有如下优点:1.本专利技术采用一根导线,将两个单片机的IO口连接,让两个单片机通信,通信可靠的基础,从而成本降低;2.本专利技术在传输数据时,数据前加头码,数据未加结束码,以防止数据传输出现错误,保证数据传输的准确性。附图说明图1是本专利技术两个单片机的电路原理图。具体实施方式为进一步说明各实施例,本专利技术提供有附图。这些附图为本专利技术揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本专利技术的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。现结合附图和具体实施方式对本专利技术进一步说明。一种两个单片机IO口单线通信的方法,其特征在于:将两个单片机的IO口采用单根导线连接,它包括以下步骤,S1、第一单片机的发送信号F_tx_sign置1,通过导线发送给第二单片机,第二单片机接收后,将第二单片机的接收信号F_rx_sign清0;S2、第二单片机进入接收状态,第一单片机通过导线发送数据给第二单片机;S3、第一单片机发送完毕,发送信号F_tx_sign清0发送给第二单片机,第二单片接收后,将接收信号F_rx_sign置1,第二单片机进入发送状态,第一单片机进入接收状态。需要说明的是,所述两个单片机的IO口之间串接有电阻。该电阻起到保护作用,电阻范围越小越好,因为单片机的IO口提供的电流本身就小,从而又可以提高信号。本专利技术的发送数据包括头码、数据段和结束码。为了防止数据段传输的数据出现错误,本专利技术将数据段分为第一数据和第二数据,第一数据和第二数据的字节相反。接收完将第一数据和第二数据进行比较,保证接收是正确的。相对于现有单片采用高低电平表示0/1,本专利技术的第一单片机和第二单片机的低电平时间为t,1的数据高电平时间为akt,0的数据高电平时间为kt,其中,a≥2,k≥2。为了将头码和结束码与数据区分开来,头码的数据的高电平时间为mt,所述结束码的数据的高电平时间为ht。为了区别头码和结束码,定义m>h。参阅图1所示,为实施例一的两个单片机的电路原理图。主单片机U1的PA0口接排针J1的第二端口,排针J1的第三端口接5V电压,排针J1的主端口和第二端口之间串接第五十一电阻R51和第十四电容C14,且第二端口接地。所述从单片机U2的PB1端口经第三十三电阻R33接排针J1的第二端口,排针J1的第二端口接地,且第一端口和第二端口之间串接第五十二电阻R52和第九电容C9。该实施例的主单片机U1和从单片机U2的电源需要一致。两个IO口的通信是通过串行,那么就存在主从机之分。主单片机信号F_tx_sign与从单片机信号F_rx_sign要通过单线互相发送,来得到彼此状态,才不会混乱。上电后,主单片机开始发送,相对应的主单片机信号F_tx_sign置1,从机单片机开始接收此信号,相对应的接收信号F_rx_sign清0,然后从单片机进入接收状态。当主单片机信号发送完毕,把F_tx_sign清0的信号发出,从单片机接收到此信号,把F_rx_sign置1进入发送信号。即:主单片机发送状态时F_tx_sign置1,接收状态时F_tx_sign清0;从单片机发送状态时F_rx_sign置1,接收状态时F_rx_sign清0。该实施例在处理数据时以低电平时间为基准(先写0),高电平时间变化,来产生不同数据效果。具体如下:低电平:4*256us=1024us,低电平是固定的;1的数据,高电平:16*256us=4096us;0的数据,高电平:8*256us=2048us;头码的数据,高电平:50*256us=12800us;结束码的数据,高电平:30*256us=7680us。以16位数据为准,前8位跟后8位发的字节相反,接收完两者比较,保证接收是正确。这个方式发一串数据最长的时间:118272us。时间是可以调整的,该实施例的基础时间为256us,也可为128us,最好发送的时间能缩短,根据实际产品的情况来调整。为了时间的准确性,这个时间采集要在中断处理方法。尽管结合优选实施方案具体展示和介绍了本专利技术,但所属领域的技术人员应该明白,在不本文档来自技高网...
【技术保护点】
一种两个单片机IO口单线通信的方法,其特征在于:将两个单片机的IO口采用单根导线连接,它包括以下步骤,S1、第一单片机的发送信号F_tx_sign置1,通过导线发送给第二单片机,第二单片机接收后,将第二单片机的接收信号F_rx_sign清0;S2、第二单片机进入接收状态,第一单片机通过导线发送数据给第二单片机;S3、第一单片机发送完毕,发送信号F_tx_sign清0发送给第二单片机,第二单片接收后,将接收信号F_rx_sign置1,第二单片机进入发送状态,第一单片机进入接收状态。
【技术特征摘要】
1.一种两个单片机IO口单线通信的方法,其特征在于:将两个单片机的IO口采用单根导线连接,它包括以下步骤,S1、第一单片机的发送信号F_tx_sign置1,通过导线发送给第二单片机,第二单片机接收后,将第二单片机的接收信号F_rx_sign清0;S2、第二单片机进入接收状态,第一单片机通过导线发送数据给第二单片机;S3、第一单片机发送完毕,发送信号F_tx_sign清0发送给第二单片机,第二单片接收后,将接收信号F_rx_sign置1,第二单片机进入发送状态,第一单片机进入接收状态。2.如权利要求1所述的两个单片机IO口单线通信的方法,其特征在于:所述两个单片机的IO口之间串接有电阻。3.如权利要求1所述...
【专利技术属性】
技术研发人员:吴剑红,柴智,魏肃,刘双春,
申请(专利权)人:厦门芯阳科技股份有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。