本发明专利技术公开了一种单片机I/O口模拟串行通信方法,单片机通过普通I/O口与PC系列微机RS232串行口实现通信的硬件接口电路连接,89C51单片机的输入、输出接口均采用TTL电平,TTL电平到RS232串行口之间电平的转换采用转换接口芯片实现电平转换已达到配对的目的,转换接口芯片用单电压实现与RS232的第一接口逻辑和第二接口逻辑之间的电平转换。本发明专利技术可在单片机的最小应用系统中实现与两个以上串行接口设备的多机通信。
【技术实现步骤摘要】
【专利说明】
本专利技术涉及一种单片机I/O 口模拟串行通信方法的
【
技术介绍
】目前普遍采用的MCS51和PIC系列单片机通常只有一个(或没有)UART异步串行通信接口,在应用系统中若需要多个串行接口(例如在多机通信系统中,主机既要和从机通信又要和终端通信)的情况下,通常的方法是扩展一片8251或8250通用同步/异步接收发送芯片(USART),需额外占用单片机I/O资源。【
技术实现思路
】本专利技术的目的就是解决现有技术中的问题,提出一种单片机I/O 口模拟串行通信方法,可在单片机的最小应用系统中实现与两个以上串行接口设备的多机通信。为实现上述目的,本专利技术提出了一种单片机I/O 口模拟串行通信方法,依次包括以下步骤:a)硬件连接:单片机通过普通I/O 口与PC系列微机RS232串行口实现通信的硬件接口电路连接,89C51单片机的输入、输出接口均采用TTL电平,TTL电平到RS232串行口之间电平的转换采用转换接口芯片实现电平转换已达到配对的目的,转换接口芯片用单电压实现与RS232的第一接口逻辑和第二接口逻辑之间的电平转换;b)软件设计:89C51单片机的第一接口和第二接口分别模拟串行通信的发送和接收,第一接口和第二接口的程序主要由INPUT发送子程序和OUTPUT接收子程序组成,第一接口和第二接口的通信速率1200bit/s,帧格式为N.8.1 ;c)通信实现:第一接口发送时,先发送一个起始位即低电平,接着按低电平在先的顺序发送8位数据,最后发送停止位即高电平;第二接口接收时,先判断第二接口接的收端口是否有起始的低电平出现,如有则按低位在先的顺序接收8位数,最后判断第二接口是否有停止的高电平出现,如有则完成一个数据接收,否则继续等待,直到接收到高电平。在上述的单片机I/O 口模拟串行通信方法中,所述步骤a)中转换接口芯片采用MAXIM公司的MAX232标准RS232转换接口芯片。在上述的单片机I/O 口模拟串行通信方法中,所述步骤a)中转换接口芯片的单电压为5V,第一接口逻辑上的电压为-3?15V,第一接口逻辑上的电压为+3?15V。本专利技术的有益效果:本专利技术可在单片机的最小应用系统中实现与两个以上串行接口设备的多机通信,能够充分利用单片机的资源,在无需占用单片机的额外资源的前提下能可靠地传送和接收数据。【【具体实施方式】】本专利技术一种单片机I/O 口模拟串行通信方法,依次包括以下步骤:a)硬件连接:单片机通过普通I/O 口与PC系列微机RS232串行口实现通信的硬件接口电路连接,89C51单片机的输入、输出接口均采用TTL电平,TTL电平到RS232串行口之间电平的转换采用转换接口芯片实现电平转换已达到配对的目的,转换接口芯片用单电压实现与RS232的第一接口逻辑和第二接口逻辑之间的电平转换;b)软件设计:89C51单片机的第一接口和第二接口分别模拟串行通信的发送和接收,第一接口和第二接口的程序主要由INPUT发送子程序和OUTPUT接收子程序组成,第一接口和第二接口的通信速率1200bit/s,帧格式为N.8.1 ;c)通信实现:第一接口发送时,先发送一个起始位即低电平,接着按低电平在先的顺序发送8位数据,最后发送停止位即高电平;第二接口接收时,先判断第二接口接的收端口是否有起始的低电平出现,如有则按低位在先的顺序接收8位数,最后判断第二接口是否有停止的高电平出现,如有则完成一个数据接收,否则继续等待,直到接收到高电平。在上述的单片机I/O 口模拟串行通信方法中,所述步骤a)中转换接口芯片采用MAXIM公司的MAX232标准RS232转换接口芯片。在上述的单片机I/O 口模拟串行通信方法中,所述步骤a)中转换接口芯片的单电压为5V,第一接口逻辑上的电压为-3?15V,第一接口逻辑上的电压为+3?15V。串行接口的基本通信方式串行接口的有异步和同步两种基本通信方式。异步通信采用用异步传送格式。数据发送和接收均将起始位和停止位作为开始和结束的标志。在异步通信中,起始位占用一位(低电平),用来表示字符开始。其后为7或8位的数据编码,第8位通常做为奇偶校验位。最后为停止位(高电平)用来表示字符传送结束。上述字符格式通常作为一个串行帧,如无奇偶校验位,即为常见的N.8.1帧格式。串行通信中,每秒传送的数据位称为波特率。如数据传送的波特率为1200波特,采用N.8.1帧格式(10位),则每秒传送字节为120个,而字节中每一位传送时间即为波特率的倒数:T = 1/1200 =0.833msο同样,如数据传送的波特率为9600波特,则字节中每一位传送时间为T = 1/9600=0.104msο根据数据传送的波特率即字节中每一位的传送时间,我们便可用普通I/O 口来模拟实现串行通信的时序。软件编写要严格按照异步通信的时序进行,每bit位传送时间间隔按通信速率1200bit/s计算为833 μ S,系统要求单片机晶振为6Μ。上述实施例是对本专利技术的说明,不是对本专利技术的限定,任何对本专利技术简单变换后的方案均属于本专利技术的保护范围。【主权项】1.一种单片机I/O 口模拟串行通信方法,依次包括以下步骤: a)硬件连接:单片机通过普通I/O口与PC系列微机RS232串行口实现通信的硬件接口电路连接,89C51单片机的输入、输出接口均采用TTL电平,TTL电平到RS232串行口之间电平的转换采用转换接口芯片实现电平转换已达到配对的目的,转换接口芯片用单电压实现与RS232的第一接口逻辑和第二接口逻辑之间的电平转换; b)软件设计:89C51单片机的第一接口和第二接口分别模拟串行通信的发送和接收,第一接口和第二接口的程序主要由INPUT发送子程序和OUTPUT接收子程序组成,第一接口和第二接口的通信速率1200bit/s,帧格式为N.8.1 ; c)通信实现:第一接口发送时,先发送一个起始位即低电平,接着按低电平在先的顺序发送8位数据,最后发送停止位即高电平;第二接口接收时,先判断第二接口接的收端口是否有起始的低电平出现,如有则按低位在先的顺序接收8位数,最后判断第二接口是否有停止的高电平出现,如有则完成一个数据接收,否则继续等待,直到接收到高电平。2.如权利要求1所述的一种单片机I/O口模拟串行通信方法,其特征在于:所述步骤a)中转换接口芯片采用MAX頂公司的MAX232标准RS232转换接口芯片。3.如权利要求1所述的一种单片机I/O口模拟串行通信方法,其特征在于:所述步骤a)中转换接口芯片的单电压为5V,第一接口逻辑上的电压为-3?15V,第一接口逻辑上的电压为+3?15V。【专利摘要】本专利技术公开了一种单片机I/O口模拟串行通信方法,单片机通过普通I/O口与PC系列微机RS232串行口实现通信的硬件接口电路连接,89C51单片机的输入、输出接口均采用TTL电平,TTL电平到RS232串行口之间电平的转换采用转换接口芯片实现电平转换已达到配对的目的,转换接口芯片用单电压实现与RS232的第一接口逻辑和第二接口逻辑之间的电平转换。本专利技术可在单片机的最小应用系统中实现与两个以上串行接口设备的多机通信。【IPC分类】G06F13/40【公开号】CN105224492【申请号】CN201510553137本文档来自技高网...
【技术保护点】
一种单片机I/O口模拟串行通信方法,依次包括以下步骤:a)硬件连接:单片机通过普通I/O口与PC系列微机RS232串行口实现通信的硬件接口电路连接,89C51单片机的输入、输出接口均采用TTL电平,TTL电平到RS232串行口之间电平的转换采用转换接口芯片实现电平转换已达到配对的目的,转换接口芯片用单电压实现与RS232的第一接口逻辑和第二接口逻辑之间的电平转换;b)软件设计:89C51单片机的第一接口和第二接口分别模拟串行通信的发送和接收,第一接口和第二接口的程序主要由INPUT发送子程序和OUTPUT接收子程序组成,第一接口和第二接口的通信速率1200bit/s,帧格式为N.8.1;c)通信实现:第一接口发送时,先发送一个起始位即低电平,接着按低电平在先的顺序发送8位数据,最后发送停止位即高电平;第二接口接收时,先判断第二接口接的收端口是否有起始的低电平出现,如有则按低位在先的顺序接收8位数,最后判断第二接口是否有停止的高电平出现,如有则完成一个数据接收,否则继续等待,直到接收到高电平。
【技术特征摘要】
【专利技术属性】
技术研发人员:王中友,黄巍,王天杰,潘高军,
申请(专利权)人:浙江省通信产业服务有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。