通信异步传输

异步传输  时间:2021-04-13  阅读:()
189C51单片机I/O口模拟串行通信的实现方法·严天峰·目前普遍采用的MCS51和PIC系列单片机通常只有一个(或没有)UART异步串行通信接口,在应用系统中若需要多个串行接口(例如在多机通信系统中,主机既要和从机通信又要和终端通信)的情况下,通常的方法是扩展一片8251或8250通用同步/异步接收发送芯片(USART),需额外占用单片机I/O资源.
本文介绍一种用单片机普通I/O口实现串行通信的方法,可在单片机的最小应用系统中实现与两个以上串行接口设备的多机通信.
1.
串行接口的基本通信方式.
串行接口的基本通信方式.
串行接口的基本通信方式.
串行接口的基本通信方式串行接口的有异步和同步两种基本通信方式.
异步通信采用用异步传送格式,如图1所示.
数据发送和接收均将起始位和停止位作为开始和结束的标志.
在异步通信中,起始位占用一位(低①电平),用来表示字符开始.
其后为7或8位的数据编码,第8位通常做为奇偶校验位.
最后为停止位(高电平)用来表示字符传送结束.
上述字符格式通常作为一个串行帧,如无奇偶校验位,即为常见的N.
8.
1帧格式.
串行通信中,每秒传送的数据位称为波特率.
如数据传送的波特率为1200波特,采用N.
8.
1帧格式(10位),则每秒传送字节为120个,而字节中每一位传送时间即为波特率的倒数:T=I/1200=0.
833ms.
同样,如数据传送的波特率为9600波特,则字节中每一位传送时间为T=1/9600=0.
104ms.
根据数据传送的波特率即字节中每一位的传送时间,我们便可用普通I/O口来模拟实现串行通信的时序.
2.
硬件电路89C51单片机通过普通I/O口与PC机RS232串口实现通信的硬件接口电路如图2所示.
由于PC系列微机串行口为RS232C标准接口,与输入、输出均采用TTL电平的89C51单片机在接口规范上不一致,因此TTL电平到RS232接口电平的转换采用MAXIM公司的MAX232标准RS232接口芯片,该芯片可以用单电压(+5V)实现RS232接口逻辑"1"(-3V~215V)和逻辑"0"(+3V~15V)的电平转换.
图中89C51的P1.
0模拟发送端,P1.
1模拟接收端.
②3.
接口程序设计软件设计中,89C51单片机的P1.
0和P1.
1口分别模拟串行通信的发送和接收,其接口程序主要由INPUT发送子程序和OUTPUT接收子程序组成.
通信速率1200bit/s,帧格式为N.
8.
1.
发送时,先发送一个起始位(低电平),接着按低位在先的顺序发送8位数据,最后发送停止位.
接收时,先判断P1.
1接收端口是否有起始低电平出现,如有则按低位在先的顺序接收8位数,最后判断P1.
1口是否有停止高电平出现,如有则完成一个数据接收,否则继续等待.
其中软件编写要严格按照异步通信的时序进行,每bit位传送时间间隔按通信速率1200bit/s计算为833μs.
其模拟串行通信程序清单见下,系统要求单片机晶振为6M.
程序清单如下:TXDEQUP1.
0RXDEQUP1.
1;定义89C51P1.
0为发送端,P1.
1为接收端ORG0000HAJMPMAINORG0100HMAIN:MOVA,#30HMOVR5,#NSETBRXD;P1.
0置高TX:LCALLINPUT;调用发送子程序,将寄存器A中内容发给PC机;SETBTXD;P1.
1置高MOVR0,#40HRX:LCALLOUTPUT;调用接收子程序,将接收的N个数据存放在以40H开始的地址中MOV@R0,AINCR0DJNZR5,RX;N个数据接收结束,则等待,否则转RX继续接收3AJMP$延时833μs子程序*****DEL833:MOVR7,#205MS11:DJNZR7,MS11RET89C51发送数据给PC机子程序****INPUT:CLRCMOVTXD,C;发送起始位LCALLDEL833;延时MOVR3,#8REP:RRCAMOVTXD,CLCALLDEL833DJNZR3,REP;发送8位数据SETBC;发送停止位MOVTXD,CLCALLDEL833RET从PC机接收数据子程序********OUTPUT:JBRXD,$;判断是否有起始位出现LCALLDEL833MOVR3,#8OUT:MOVC,RXDRRCALCALLDEL833DJNZR3,OUT;接收8位数据JNBRXD,$;判断是否有停止位出现RET本文介绍的用89C51单片机I/O口模拟实现串行通信的方法,已成功地应用在某电压数据采集系统中,实践证明能可靠地传送和接收数据.

10gbiz($2.36/月),香港/洛杉矶CN2 GIA线路VPS,香港/日本独立服务器

10gbiz发布了9月优惠方案,针对VPS、独立服务器、站群服务器、高防服务器等均提供了一系列优惠方面,其中香港/洛杉矶CN2 GIA线路VPS主机4折优惠继续,优惠后最低每月仅2.36美元起;日本/香港独立服务器提供特价款首月1.5折27.43美元起;站群/G口服务器首月半价,高防服务器永久8.5折等。这是一家成立于2020年的主机商,提供包括独立服务器租用和VPS主机等产品,数据中心包括美国洛...

virmach:AMD平台小鸡,赌一把,单车变摩托?$7.2/年-512M内存/1核/10gSSD/1T流量,多机房可选

virmach送来了夏季促销,价格低到爆炸,而且在低价的基础上还搞首年8折,也就是说VPS低至7.2美元/年。不过,这里有一点要说明:你所购买的当前的VPS将会在09/30/2021 ~ 04/30/2022进行服务器转移,而且IP还会改变,当前的Intel平台会换成AMD平台,机房也会变动(目前来看以后会从colocrossing切换到INAP和Psychz),采取的是就近原则,原来的水牛城可能...

HaloCloud:日本软银vps100M/200M/500M带宽,,¥45.00元/月

halocloud怎么样?halocloud是一个于2019下半年建立的商家,主要提供日本软银VPS,广州移动VDS,株洲联通VDS,广州移动独立服务器,Halo邮局服务,Azure香港1000M带宽月抛机器等。日本软银vps,100M/200M/500M带宽,可看奈飞,香港azure1000M带宽,可以解锁奈飞等流媒体,有需要看奈飞的朋友可以入手!点击进入:halocloud官方网站地址日本vp...

异步传输为你推荐
css加载失败css 无法加载苹果appstore宕机苹果手机为什么显示无法连接到appstore字节跳动回应TikTok易主每天每夜要结束了主持人问关于抄袭的问题,权志龙很认真的回答不想说的,想在以后做好的那段话的音乐叫什抢米网什么意思抢小米手机qq挂件qq空间挂件大全!discuz教程急急急,求创建论坛网站【Discuz】最详细的教程!localsettings电脑里一个叫做local setting的文件夹到底在哪里无忧团购网什么叫团购呢上传软件如何将手机软件传给另外一个手机如何显示隐藏文件怎么把隐藏的文件显示出来
windows虚拟主机 主机域名 域名注册godaddy 万网域名解析 3322免费域名 budgetvm 骨干网 流媒体服务器 免费网站监控 光棍节日志 php空间申请 hostker 免费cdn 支持外链的相册 电信托管 域名与空间 空间登入 国外网页代理 小夜博客 免费网站加速 更多