欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《基础串行接口》PPT课件.ppt

    • 资源ID:5487202       资源大小:470.50KB        全文页数:29页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《基础串行接口》PPT课件.ppt

    1,3.4 MCS-51单片机串行接口,3.4.1 单片机的异步通信一、异步通信示意图,2,二、异步通信数据格式,3,3.4.2 MCS-51的串行接口一、51串口内部结构 51单片机的串口是标准的全双工异步通信接口。,4,对串口的使用可采用中断方式也可采用查询方式。在使用时,只要设置相关寄存器就可以很好的操作了:第一步设置相关寄存器:IE(中断)、IP(优先)、TMOD(模式)、PCON、SCON(方式);第二步设置:波特率 第三步读写:SBUF,(一)串口的使用方法,5,(二)串行接口的控制,各位的定义为:(复位后各位为0)RI:读标志(当有数时,由硬件置1)TI:写标志(当写数后,由硬件置1)对于RI和TI的置1,也是中断的标志,但CPU响应后,不会清零。必须由软件清零!,1)串行口控制寄存器SCON,6,RB8:在方式2和方式3中,接收的第9位数据。TB8:在方式2和方式3中,发送的第9位数据。可作为奇偶校验位。SM2:用于多机通信(方式2和方式3)的控制位,仅用于接收。当SM2=1,在RB8=1时,才能接收到数据。一般使用时,SM2=0。REN:REN=1,允许接收,REN=0,禁止接收。,7,二、串行口的4种工作模式1)方式0(8位数据I/O),8,2)方式1(10位数据),9,3)方式2、3(11位数据),10,说明:在方式0中,8位数据从RXD引脚发送,或接收(D0先传);TXD引脚只输出移位(同步)时钟(频率=fosc/12)。在方式1中,RXD脚为收,TXD脚为发,数据是按10位UART传送的。(1个起始0,8个数据位,1个停止1);在方式2,3中,RXD脚为收,TXD脚为发,数据是按11位UART传送的。(1个起始0,8个数据位+第9位,1个停止1)。,11,三、波特率的设置,1)方式0的波特率 方式0的率等于单片机晶振频率的1/12,即每个机器周期接收或发送一位数据。2)方式2的波特率,12,3)方式1和方式3的波特率在方式1、3中,波特率可由T1定时器设置这种方法用的最多,用到寄存器有:TMOD:T1设成方式2,自动重装,0010,xxxxB或0 x2x;PCON:用到了SMOD位(D7位)SMOD=1时加倍;SMOD=0时不加倍。计算公式:,13,常用的TH1,TL1的设置,14,4)其他注意事项,如果在中断通信:要设置IE中的EA=1的同时,ES=1;根据实际情况,设优先级IP的各位;在位和10位通信中,读写数据均在SBUF中;在11位通信中,位数据(读写)在SBUF中,第位在 TB8或RB8中;在有奇偶校验的通信中(11位通信),PSW中的位送TB8;例:发送:88H,在查询方式时:MOV A,#88H;会影响PSW的位 MOV TB8,P;送奇偶位 MOV SBUF,A W1:JBC TI,END_SD;等TI=1 表示发完 SJMP W1;等待 END_SD:.,15,四、串口多机通信,串行口以方式2或方式3接收时,若SM2为“1”,时可实现多机通信。,16,3.4.3 通信电平的转换,单片机与PC机通信时,电平不是TTL电平,而往往是232电平。一般通过专用芯片转换。,17,串口通信举例,例一,采用查询的方法实现PC机与单片机的通信。已知,晶振频率为22.1184M,波特率为9.6k。实现:单 片机发送:0到9的数字(ASCII),PC机接收该数,并显示。(用汇编编程)chsi_ck0:;初始化串口 mov TMOD,#21H;0010,0001B T1:定时,方式2 mov SCON,#50H;0101,0000B 8UART 方式 mov TH1,#0FAH;自动重装 mov TL1,#0FAH;定时常数 mov PCON,#00H;SMOD=0不加倍 setb TR1;开T1 ret,18,set_numb:;发送子程序 mov r6,#10;设个数(共10个)mov b,#00h;从0开始con_sed:mov a,b;准备 orl a,#30h;变成ASCII mov SBUF,a;发送一个8位数据went_s:JBC TI,is_snumb;TI=1,表示发完 sjmp went_s;TI=0,等待is_snumb:lcall delay_0;等待一会 inc b;数据增1 djnz r6,con_sed;判断发完否?ret,19,main:;主程序 mov sp,#80h;堆栈 mov ie,#00h;关中断 mov ip,#00h;lcall chsi_ck0;初始化串口re_sed:lcall set_numb;发送数据r_k1:jnb k1,re_sed;查键k1=0在发送 sjmp r_k1;未按键等待 end,20,例二,采用查询的方法实现PC机与单片机的通信。已知,晶振频率为22.1184M,波特率为9.6k。实现:PC 发送数据,单片机接收该数(显示)并回送该数到PC。(用汇编编程)red_numb:;从串口读数 jb RI,is_numb;sjmp red_numbis_numb:clr RI;软件清标志 mov a,SBUF;读数据 mov b,a;存储在B中 ret,21,sed_numb:;发送数据到PC mov a,b mov SBUF,a;发送数据w_snub:jbc TI,is_end_n;查TI=1?sjmp w_snub;TI=0 等待is_end_n:ret,22,main:;主程序入口 mov sp,#90h;设堆栈 mov ie,#00h;关中断 mov ip,#00h lcall chsi_ck0;初始化串口con_red:lcall red_numb;从串口读数 lcall disp_r_numb;用数码管显示 mov led,b lcall disp_led;用灯显示数据 lcall sed_numb;发送数据到PC lcall sprak_on;发声 sjmp con_red;继续发送数据 end,23,例三,采用中断的方法实现PC机与单片机的通信。已知,晶振频率为22.1184M,波特率为9.6k。实现:PC 发送数据,单片机接收该数(显示)并回送该数到PC。(用汇编编写)org 0000h;复位入口 ljmp main;跳到主程序 org 0023H ljmp to_sbuf;跳到串口 org 0100hto_sbuf:;串口中断程序 clr es;关中断 jb RI,to_r_nub;读数据 jb TI,to_w_nub;发送数据 reti,24,to_r_nub:jb RI,is_num;RI=1时,读数 sjmp red_numb;RI=0时,等待 is_num:clr RI;软件清标志 mov a,SBUF;读数据 mov b,a;存储在B中;lcall disp_r_numb;可调用显示子程序 lcall sed_numb;发送数据到PC lcall sprak_on;发声 setb es reti;硬件返回(清标志)to_w_nub:setb es reti,25,main:;主程序入口 mov sp,#90h;设堆栈 mov ie,#00h;关中断 mov ip,#00h lcall sprak_on;发声 mov b,#00h lcall disp_r_numb;显示 lcall chsi_ck0;初始化串口 setb es;开串口中断 setb ea;开总中断 sjmp$;等待 end,26,例四【用C编写的通信程序】设晶振频率为:22.1184MHz,波特率设为9.6K,实现PC及与单片机互通信息(如:单片机与PC机互发送0 x55667788)。/*-串口初始化-*/void out_sbuf(void)/串口初始化 SCON=0 x50;TMOD|=0 x21;/9.6K波特率 PCON=0 x00;TL1=0 xfa;TH1=0 xfa;TR1=1;,27,/*-用串口发单个字符-*/void sendchar(unsigned char ch)while(!TI);TI=0;SBUF=ch;TI=1;/*-用串口读单个字符-*/unsigned char gethex(void)char c;while(!RI);c=SBUF;RI=0;return(c);,28,/串口练习部分 void read_PC(void)/0 x0a结束 unsigned char idata i,k;for(i=0;i0 x20;i+)k=gethex();/读数据 sendchar(k);/写数据 if(k=0 x0a)goto quit_pc;quit_pc:;,29,#include#include/输入输出头文件 void main(void)unsigned char idata j;unsigned char ch=0;out_sbuf();/串口初始化 read_PC();/串口练习 while(1);,

    注意事项

    本文(《基础串行接口》PPT课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开