单片机技术与应用(九)

上传人:无*** 文档编号:243996845 上传时间:2024-10-02 格式:PPT 页数:38 大小:526KB
返回 下载 相关 举报
单片机技术与应用(九)_第1页
第1页 / 共38页
单片机技术与应用(九)_第2页
第2页 / 共38页
单片机技术与应用(九)_第3页
第3页 / 共38页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单片机技术与应用,BIGC,单片机,技术与应用,(九,),唐英杰,电子信息工程专业选修课,第五章 系统扩展与软件设计,第四节、,串行通信技术应用程序设计,串行通信总线标准及接口,(一)通信线的连接,通信速率和通信距离这两个方面是相互制约的,降低通信速率,可以提高通信距离,.,不同的通信距离,,串行通信电路有不同的连接方法,第五章 系统扩展与软件设计,RXD,TXD,GND,RXD,TXD,GND,RXD,TXD,GND,电,平,转,换,RXD,TXD,GND,RXD,TXD,GND,电,平,转,换,RXD,TXD,GND,微机,微机其他设备,较远距离传送电路,近距离传送电路,第五章 系统扩展与软件设计,微,机,接,口,调,制,解,调,器,调,制,解,调,器,接,口,微,机,电,话,分,机,电,话,分,机,远距离传送电路,数字信号通过调制器变成模拟信号通过电话线传送到对方,接收方通过解调器将模拟信号转换成数字信号接收,。,第五章 系统扩展与软件设计,(二),串行通信接口总线标准,测控系统中,计算机通信主要采用异步串行通信方式,常用的异步总线标准有三种:,RS-232(RS-232A RS-232B RS-232C),RS-449(RS422 RS423 RS485),20mA,电流环,这里重点介绍,RS-232,RS-232C:,速率:,20,Kbit/S,,最大通信距离 :,15,m,RS422:10Mbit/s,:300m,90Kbit/s,:1200m,第五章 系统扩展与软件设计,采用标准的通信接口,本身具有一定的抗干扰能力,但是工业现场的情况往往很恶劣,因而要根据具体情况进行选择。,RS232C:,一般场合,RS422:,共模信号比较强,光纤:电磁干扰较强,第五章 系统扩展与软件设计,美国电子工业协会(,EIA),公布的一种异步通信标准。,RS232C,标准是:,设备之间通信的距离不大于,15,米,最大传输速率,20,KB/S,采用负逻辑:“,1”5,V 15V,“0”+5V ,+,15V,不带负载时输出电平:,25,V +25V,输出短路电流:,0.5,A,最大负载电容,:2500,pF,当计算机采用,RS232,标准时必须通过电平,,MAX232,是,EIA,和,TTL,电平转换芯片。内部具有电压提升电路,并有两路接收器和发送器。其连线和引脚如图,第五章 系统扩展与软件设计,T,1IN,T,2IN,R,1OUT,R,2OUT,V,+,V,-,T,1OUT,T,2OUT,R,1IN,R,2IN,+5,V,1.0,1.0,1.0,1.0,1.0,+10,V,-10,V,TTL/CMOS,TTL/CMOS,RS-232,RS-232,VCC,V,+,V,-,T,2OUT,T,1OUT,R,2IN,VCC,R,1IN,R,1OUT,T,1IN,T,2IN,R,2OUT,GND,MAX232,MAX232,连线图,MAX232,引脚图,第五章 系统扩展与软件设计,TTL,电平可以由专用集成电路转换成,RS232C,标准,;,如:,MC1488,或,75188,TTL RS232C,从,MC1489,或,75189,RS232C TTL,由于,MC1488,需要采用,12,V,电源,一般在单片机通信中大量使用的是只需要,+5,V,电源、具有发送和接收的一体化芯片,如:,MAX232、ICL232、ADM202,等。,第五章 系统扩展与软件设计,MCS,51,之间的,双机通信,RXD,TXD,GND,TXD,GND,8,xx51,8,xx51,RXD,MCS,51,和,PC,机的,双机通信,MCS,51,和,PC,机的,双机通信见下图,第五章 系统扩展与软件设计,VCC,RST,XTAL1,XTAL2,TXD,RXD,89,C51,C1,C2,T,1IN,R,1OUT,R,1IN,T,1OUT,V,-,V,+,VCC,C3,C4,C5,GND,GND,C1=C2=C3=C4=C5=1,MAX232,1,5,PC,机,COM1,或,COM2,1,2,3,4,6,7,8,9,+5,V,+5,V,第五章 系统扩展与软件设计,(,三),串行口的应用编程,串行口的波特率有两种方式:,固定波特率,可变波特率,注意:使用可变波特率时,先确定,TI,的计数初值,,并对,TI,进行初始化。,串行通信的编程方式:,查询方式,:查,TI,或,RI,是否为“,1”,。,中断方式:如果预先开了中断,当,TI、RI,为“,1”,,会自动产生中断。,注意:两种方式中当发送或接受数据后都要注意,清,TI,或,RI。,第五章 系统扩展与软件设计,查询方式发送程序:,(,先发后查),发送一个数据,查询,TI,发送下一个数据,查询方式接收程序:(先查后收),查询,RI,读入一个数据,查询,RI,读下一个数据,中断方式发送程序:,发送一个数据,等待中断,在中断中再发送下一个数据。,中断方式接收程序:,等待中断,在中断中再接收一个数据。,第五章 系统扩展与软件设计,T1,初始化、启动,T1,工作,设定串行通信方式,允许接收,置,接收缓冲区首址,接收数据块长度,清,RI,RI1?,修改地址指针,和块长度计数器,全部数据接收完?,开始,结束,接收数据,Y,查询方式接收流程图,Y,N,Y,N,第五章 系统扩展与软件设计,中断方式发送流程图,T1,初始化、启动,T1,工作,设定串行通信方式,置发送数据块首址,数据块长度计数器,发送数据,全部数据发送完?,Y,等待中断,1,EA,1,ES,发送数据,中断返回,0,EA,0,ES,中断服务程序,主程序,修改地址指针,和块长度计数器,清,TI,Y,第五章 系统扩展与软件设计,T1,初始化、启动,T1,工作,设定串行通信方式,置接收数据块首址,数据块长度计数器,全部数据接收完?,Y,中断方式接收流程图,等待中断,1,EA,1,ES,中断返回,0,EA,0,ES,中断服务程序,主程序,修改地址指针,和块长度计数器,清,RI,接收数据,N,第五章 系统扩展与软件设计,例1.,在内部数据存贮器,20,H3FH,单元中共有,32,个数据,要求采用方式,1,串行发送出去,传送速率为,1200,波特,设,fosc,12MHZ。,方法:,T1,工作于方式,2,作波特率发生器,取,SMOD0,T1,的时间常数计算如下:,波特率,1200(1/32)1210/12(256-,x),x230E6H,2,SMOD,fosc,12(256-x),32,第五章 系统扩展与软件设计,发送程序:,ORG 0000H ,MOV TMOD,#20H ;T1,方式,2,MOV TH1,#0E6H ,MOV TL1,#0E6H ;T1,时间常数,SETB TR1 ;,启动,T1,MOV SCON,#40H ;,串行口工作于方式,1,MOV R0,#20H ;R0,指发送缓冲区首,MOV R7,#32 ;R7,作发送数据计数,LO:MOV SBUF,R0 ;,发送数据,JNB TI,;,一帧未发完继续查询,CLR TI ;,一帧发完清,TI,INC R0,DJNZ R7,LO ;,数据块未发完继续,SJMP ,第五章 系统扩展与软件设计,接收程序:,ORG 0000H ,MOV TMOD,#20H ,MOV TH1,#0E6H ,MOV TL1,#0E6H ,SETB TR1 ;,初始化,T1,,并启动,T1,MOV SCON,#50H ;,设定串行方式,1,,并允许接收,MOV R0,#20H ,MOV R7,#32 ,LOOP:JNB RI,;,一帧收完,?,CLR RI ;,收完清,RI,MOV R0,SBUF ;,将数据读入,INC R0,DJNZ R7,LOOP ,SJMP ,第五章 系统扩展与软件设计,#,include,main(),unsingned,char i;,char*p;,TMOD=0 x20;,TH1=0 xe6;TL1=0 xe6;,TR1=1;,SCON=0 x40;,p=0 x20;,for(i=0;i=32;i+),SBUF=*p,p+,while(!TI);,TI=0;,#,include,main(),unsingned,char i;,char*p;,TMOD=0 x20;,TH1=0 xe6;TL1=0 xe6;,TR1=1;,SCON=0 x50;,p=0 x20;,for(i=0;i=32;i+),while(!RI);,RI=0;,*p=SBUF;,p+,查询方式,C,语言发送程序,查询方式,C,语言接收程序,第五章 系统扩展与软件设计,TMOD=0 x20;,TH1=0 xe6;TL1=0 xe6;,TR1=1;,SCON=0 x40;,p=0 x20;,SBUF=*p,for(i=0;i32;);,#,include,Trs,interrupt 4,TI=0;,i+;,p+;,SBUF=*p;,main(),unsingned,char i;,char*p;,中断方式,C,语言发送程序,第五章 系统扩展与软件设计,TMOD=0 x20;,TH1=0 xe6;TL1=0 xe6;,TR1=1;,SCON=0 x50;,p=0 x20;,for(i=0;i32;);,#,include,Trs,interrupt 4,RI=0;,i+;,*p=SBUF;,p+;,main(),unsingned,char i;,char*p;,中断方式,C,语言接收程序,第五章 系统扩展与软件设计,例2,接线如图,编一个自发自收程序,检查单片机的串行口是否完好,,f=12MHz,,波特率,600,,取,SMOD0。,RXD,89,C51,TXD,P1.0,解:依据公式,波特率,求得,第五章 系统扩展与软件设计,汇编语言编程,MOV TMOD,#20H,MOV TH1,#0CCH,MOV TL1,#0CCH ;,设定波特率,SETB TR1,MOV SCON,#50H,ABC:CLR TI,MOV P1,#0FEH ;LED,灭,ACALL DAY ;,延时,MOV A,#OFFH,MOV SBUF,A ;,发送数据,FFH,JNB RI,$;RI=0,等待,第五章 系统扩展与软件设计,CLR RI,MOV A,SBUF ;,接收数据,,A=FFH,MOV P1,A ;,灯亮,JNB TI,$;TI=0,等待,ACALL DAY ;,延时,SJMP ABC,DAY:MOV R0,#0,DAL:MOV R1,#0,DJNZ R1,$,DJNZ R0,DAL,RET,如果发送接收正确,可观察到,P1.0,接的,发光二极管闪亮。,第五章 系统扩展与软件设计,例,2,C,语言编程,include,Main(),unsigned,int,I;,TMOD=0 x20;TH1=0 xcc;TL1=0 xcc;/,初始化,T1,TR1=1;/,无限循环执行一下发送和接收语句,SCON=0 x50;,While(1),第五章 系统扩展与软件设计,TI=0;,P1=0 xfe;/LED,灭,for(I=0;I10000;I+);/,延时,SBUF0 xff;/,发送数据,FFH,while(RI=0);/RI=0,等待,RI=0;/RI=1,清,RI,P1=SBUF;/,接收数据并送,P1,口,灯亮,while(TI=0);/TI=0,等待,for(I=0;I10000;I+);/,延时,第五章 系统扩展与软件设计,例,3,例如串行通信方式,0,,扩展,I/O,接口,接八个数码管,使内部数据存储器,58,H-5FH,单元的内容为,0,XH。,分析 由于,TXD,RXD,运行在工作方式,0,时,可方便的连接串入并移出位寄存器,74,LS164,TXD,发送移位脉冲,,RXD,发送数据,,P3.3,用于显示器的输入控制,通过,74,LS164,接八个数码管,电路如
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!