欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    中断系统定时器计数器串行口.ppt

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

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

    中断系统定时器计数器串行口.ppt

    第5章 中断系统、定时器/计数器、串行口,. 单片机的中断系统,5.1.1 中断的概念 所谓中断,是指当计算机正在执行正常程序时,系统中出现了某些急需处理的异常情况和特殊请求。计算机停止正在执行的正常程序,转而去处理异常情况,处理完异常情况后,再回到正常程序的过程。,5.1.2 中断源,中断源就是能向CPU提出申请的部件。 注:MCS-51单片机(51子系列)有五个中断源,其中两个外中断,三个内中断,具有两个中断优先级,可以实现二级中断嵌套。,内部结构如下:,5.1.3 中断的控制, 定时计数器控制寄存器() TCON 为定时计数器的控制器,单元地址为,位地址为,其格式如表-所示。 IT0:外中断0的触发方式选择位,为“0”低电平触发,为“1”下降沿触发,由用户设定。 IE0:外中断0中断申请标志位,当满足触发条件时,IE0为“1”,否则为“0”,由硬件完成。 IT1:外中断1的触发方式选择位,为“0”低电平触发,为“1”下降沿触发,由用户设定。 IE1:外中断1中断申请标志位,当满足触发条件时,IE1为“1”,否则为“0”,由硬件完成。,TR0:为T0的启动位,为“1”时T0开始计数,为“0”时T0停止计数,由用户设定。 TF0:为T0的溢出标志位,当T0计满数后,TF0为“1”,在中断系统中也称之为中断申请标志位,由硬件完成。 TR1:为T1的启动位,为“1”时T1开始计数,为“0”时T1停止计数,由用户设定。 TF1:为T1的溢出标志位,当T1计满数后,TF1为“1”,在中断系统中也称之为中断申请标志位,由硬件完成。, 串行口控制寄存器(),SCON 为串行接口的控制器, 单元地址为, 位地址为 , 其格式如表 -所示。 RI:为串行口的接收标志位,当接收完一帧数据后,由硬件置“1”。 TI:为串行口的发送标志位,当发送完一帧数据后,由硬件置“1”。 注:其余的6位,在串行口中给大家讲解。,注:1、工作在中断方式时: 这5个申请标志位都是在满足条件的情况下,由硬件置“1”。其中IE0、IE1、TF0、TF1,在系统响应中断后,由硬件清“0”;RI、TI是由软件清“0”。是因为这两个标志位共用一个入口地址。 2、工作在查询方式时: 这5个申请标志位都是在满足条件的情况下,由硬件置“1”,查询后由软件清“0”。, 中断允许控制寄存器,由于单片机没有专门的开中断和关 中断指令,个中断源中断的开放和关闭是通过中断 允许寄存器 进行两级控制的。所谓两级控制,是 指有一个中断允许总控制位,配合各中断源的中 断允许控制位共同实现对中断请求的控制。 的单 元地址为,位地址为,其内容 及位地址如表 -所示。,EA:总的中断允许,为“0”时禁止中断,为“1”时允许中断(所有的中断源)。 EX0:外中断0(INT0)中断允许,为“0”时禁止中断,为“1”时允许中断。 ET0:定时/计数器T0中断允许,为“0”时禁止中断,为“1”时允许中断。 EX1:外中断1(INT1)中断允许,为“0”时禁止中断,为“1”时允许中断。 ET1:定时/计数器T1中断允许,为“0”时禁止中断,为“1”时允许中断。 ES:串行口S中断允许,为“0”时禁止中断,为“1”时允许中断。 注:都是由用户设定。, 中断优先级控制寄存器,中断优先级寄存器字节地址为,位地址为,其内容及位地址如表 -所示。,PX0:外中断INT0优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PT0:定时/计数器T0优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PX1:外中断INT1优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PT1:定时/计数器T1优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PS:串行口S优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 注:都是有用户设定。,注:高优先级中断源可以中断正在执行的低优先级中断服务程序,同级或低优先级中断源不能中断正在执行的中断服务程序。, 中断的处理过程, 中断响应 某一中断源向 发出中断请求,只有满足下面条件后,才能得到 的响应: 有中断源发出中断请求; 中断总允许位,即 开中断; 申请中断的中断源的中断允许位为,即相应的中断允许标志位为。,满足以上条件,CPU一般会响应中断,但如果有下列情况之一,则中断响应被暂时搁置: 1、CPU正在执行一个同级或高优先级的中断服务程序; 2、当前的机器周期不是正在执行的指令的最后一个机器周期,只有在当前指令执行完后,才能响应中断; 3、当前正在执行的指令时返回指令(RET、RETI)或访问IE、IP指令。, 中断处理 中断响应的主要内容就是由硬件自动执行一条 长调用指令LCALL,其格式为LCALL addr16。这 里的addr16就是相应的中断服务程序入口地址。这些 中断入口地址已由系统设定。例如对于定时器计数 器的中断响应,自动调用的长调用指令为: LCALL 000BH, 中断返回 中断服务程序的最后一条指令必须是中断返回 指令RETI。CPU 执行完这条指令后,把响应中断时 所保护的断点地址从堆栈中弹出,然后装入程序计数 器PC 中,CPU 就从原来被中断处继续执行原来被中 断的程序。,例题:在单片机的P0口外接8路LED发光管,用于流水灯显示,在外中断0(P3.2)引脚外接一独立式按,来控制流水灯的方向(中断方式)。,ORG 0000H LJMP ST ORG 0003H LJMP INT0 ORG 0050H ST: MOV SP, #2FH MOV A, #0FEH SETB IT0 SETB EA SETB EX0 CLR F0 ST1:JB F0, RRR MOV P0, A LCALL DEL RL A SJMP ST1 RRR:MOV P0,A LCALL DEL RR A SJMP ST1,DEL :MOV R7,#00H DEL1:MOV R6,#00H DEL2:NOP NOP NOP NOP DJNZ R6, DEL2 DJNZ R7, DEL1 RET INT0: CPL F0 RETI END,. 定时器计数器,5.2.1 定时器计数器的结构和工作原理 80C51单片机中设置有两个16位的可编程的定时器计数器T0、T1,其结构如图 -所示。通过用户设定,都可以工作在计数或者定时状态。,5.2.2定时器计数器的控制,1、 工作方式寄存器 用于控制 和 的工作方式, 字节地址为, 其各位的定义格式如表- 所示,不可位寻址,低4位控制T0,高4位控制T1。,(1)工作方式选择位、 定时器计数器的工作方式由、的状态确定,其对应关系如表- 所示。,(2)定时器计数器方式选择位 为“0”时,工作在定时状态 为“1”时,工作在计数状态 (3)门控位 为“0”时,无门控 为“1”时,有门控 注:TMOD都是由用户通过软件设置。,、 定时器计数器控制寄存器 控制寄存器 的主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止。 单元地址为,位地址为,其格式如表- 所示。,TR0:为T0的启动位,为“1”时T0开始计数,为“0”时T0停止计数,由用户设定。 TF0:为T0的溢出标志位,当T0计满数后,TF0为“1”,在中断系统中也称之为中断申请标志位,由硬件完成。 TR1:为T1的启动位,为“1”时T1开始计数,为“0”时T1停止计数,由用户设定。 TF1:为T1的溢出标志位,当T1计满数后,TF1为“1”,在中断系统中也称之为中断申请标志位,由硬件完成。,5.2.3 定时器计数器的工作方式,1、方式0(以T0为例) 定时器 方式的结构框图如图 -所示,为13位定时/计数器。,(1)T0工作的状态由C/T控制,为“0”时定时,为“1”时计数。 (2)T0启动由TR0(启动位)、GATR(门控位)、INT0(外引脚P3.2)控制。 GATR=0:TR0=1时,T0启动工作 TR0=0时,T0禁止工作 GATR=1:TR0=1且INT0=1时,T0启动工作 TR0=0或INT0=0时,T0禁止工作 (3)计数时,由外引脚输入计数脉冲 N:为计数值(已知) a:计数初值(未知量) 最大计数:8192个脉冲 定时时,由时钟的12分频作为计数脉冲 t:为定时时间,若fosc=12MHz,tmax=8.192ms,注:1、8051单片机的定时/计数器都是对输入的脉冲进行+1计数。 2、计数时由外引脚输入计数脉冲,再由13位的计数器进行计数。 3、定时时由内部时钟的12分频后,再由13位的计数器进行计数,最后得到时间。 4、由于是+1计数,计满后产生溢出位TF0,所以用户根据需要计数或定时时间的大小,计算出定时/计数器的初值a,再通过软件放入定时/计数器的高8位(TH0)和低5位(TL0)中。 5、由于方式0是13位定时计数器(低8位中的高3位不用),所以在放数时要避开这3位。 6、由于方式0不能自动装入初值,故在溢出后,需通过软件再次装入初值给TL0和TH0。,例5-4 用定时器T1,工作方式0实现定时,并在P1.0引脚上输出周期为10ms的方波,设晶振Fosc 12MHz。 解:(a)确定工作方式对TMOD 赋值,使用T1, 所以低 位未用, 全部设为, 高 位中GATE=0,C/T=0,M1M0=00,所以TMOD=00H。 (b)预置定时或计数的初值 要在P1.0引脚上输出周期为10ms的方波,只要每隔5ms将P1.0取反一次就可以了。因此选用T1在方式下定时时间为5ms,则T1的初值为:t=(8192-a)X12/Fosc, 已知t=5ms, Fosc 12MHz则a=3192=C78H=0000 1100 0111 1000B,因13位计数器中TL1的高位未用,可填写任意值,一般填写,TH1占高位,所以,a的实际填写值应为:a=0110001100011000B6318H,即:TH1=63H,TL1=18H。,中断方式: ORG 0000H LJMP MAIN ORG 001BH LJMP PTT1 ORG 0050H MAIN:MOV SP,#50H MOV TMOD , #00H MOV TL1,#18H MOV TH1,#63H SETB EA SETB ET1 SETB TR1 SJMP $,ORG 0200H PTT: MOV TL1,#18H MOV TH1,#63H CPL P1.0 RETI END 见5-4,查询方式: ORG 0000H LJMP MAIN ORG 0050H MOV TMOD,#00H MOV TL1,#18H MOV TH1,#63H SETB TR1 LOOP: JBC TF1,LOOP0 SJMP LOOP LOOP0:MOV TL1,#18H MOV TH1,#63H CPL P1.0 SJMP LOOP END 见5-4B,注:1、中断方式时,溢出标志位,由系统硬件清“0”; 2、查询方式时,溢出标志位,由用户请“0”; 3、JBC 指令,可自动对判断位请“0”。 4、方式0不能自动装入初值。,2. 工作方式 方式1和方式0的差别仅仅在于计数器的位数不同,方式1为16位的定时器计数器。定时器T0工作于方式1的结构框图如图5-8所示。,注:(1)控制同方式0 (2)计数时,由外引脚输入计数脉冲 N:为计数值(已知) a:计数初值(未知量) 最大计数:65536个脉冲 定时时,由时钟的12分频作为计数脉冲 t:为定时时间,若fosc=12MHz,tmax=65.536ms (3)编程方法同方式0,不能自动装入初值a。, 工作方式 工作方式2为自动重装载的8位定时器计数器,在工作方式2时,16位计数器被拆成两个,TL0用作8位计数器,TH0用作计数初值寄存器。定时器T0 工作于方式 的结构框图如图5-9所示。,注:(1)控制同方式0 (2)TL0为计数单元,TH0为预赋初值单元(不参与计数)。 (3)计数时,由外引脚输入计数脉冲 N:为计数值(已知) a:计数初值(未知量) 最大计数:256个脉冲 定时时,由时钟的12分频作为计数脉冲 t:为定时时间,若fosc=12MHz,tmax=256us (4)编程方式同上,但能自动装入初值a(通过TH0)。,例:利用T0工作方式实现定时,在P1.0口输出一个1KHz的方波信号Fosc=6MHz。 解:(a)确定工作方式对TMOD 赋值,使用T0, 所以高 位未用, 全部设为, 低 位中GATE=0,C/T=0,M1M0=10,所以TMOD=02H。 (b)预置定时或计数的初值 要在P1.0引脚上输出周期为1KHz的方波,则方波的周期为1000ms,只要每隔500us将P1.0取反一次就可以了。因此选用T0在方式2下定时时间为500us,则T0的初值为:t=(256-a)X12/Fosc, 已知t=500us, Fosc 6MHz则a=6D=06H,因TL0作为计数单元,TH0作为预赋初值单元,故高低8位同时赋初值a即:TH0=06H,TL0=06H。,ORG 0000H LJMP MAIN ORG 000BH LJMP TT0 ORG 0030H MAIN:MOV TMOD,#02H MOV TH0,#06 MOV TL0,#06 SETB EA SETB ET0 SETB TR0 SJMP $ TT0: CPL P1.0 RETI END,注:方式2能自动装入初值,故在溢出后,无需通过软件再对计数单元装入初值,而是由硬件系统自动装入初值。, 工作方式 工作方式3是为了增加一个附加的8位定时器计数器而提供的,使80C51具有个定时器计数器。工作方式3只适用于定时器计数器T0,定时器计数器T1处于方式时相当于TR1=0,停止计数。定时器T0工作于方式的结构框图如图5-10所示。,注:(1)T0工作在方式3时,T1只能用于比特率发生器(不能作为一般的定时/计数器使用)。 (2)T0工作于方式3时,将16位的计数单元分成两个独立的计数单元。低8位TL0占用了本身的控制位(C/T、GATE、TR0、INT0、TF0),可作为定时或计数器使;高8位TH0占用了T1的启动位TR1和溢出位TF1,只可作为定时器使用。 (3)计数时,由外引脚输入计数脉冲 N:为计数值(已知) a:计数初值(未知量) 最大计数:256个脉冲 定时时,由时钟的12分频作为计数脉冲 t:为定时时间,若fosc=12MHz,tmax=256us (4)编程方式同方式1,不能自动装入初值。,5.3 串行通信技术,5.3.1 串行通信的基本概念 数据通信的基本方式 图5-14 为并行通信和串行通信的原理。, 异步通信和同步通信 在异步通信中,数据通常是以字符(或字节) 为单位组成字符帧传送的。字符帧由发送端一帧一帧地发送,通过传输线为接收设备一帧一帧地接收。发送端和接收端可以有各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步在异步通信中,数据是一帧一帧(包括一个字符代码或以字节数据)发送的,每一帧的数据格式如图- 所示。,()同步通信 同步通信是指在一个数据块的开头使用同步字符。数据传送时使用同一频率的时钟脉冲来实现发送端与接收端的严格时间同步。这种时钟脉冲称为同步脉冲,数据同步传送的格式如图 -所示。, 波特率 波特率的定义是每秒钟传送二进制数码的位数(亦称数),单位是。波特率是串行通信的重要指标,用于表征数据传送的速率。波特率越高,数据传输速度越快。字符的实际传送速率与波特率不同。字符的实际传送速率是指每秒钟内所传字符帧的帧数,与字符帧格式有关。, 串行通信的制式 在串行通信中,数据是在两个站之间进行传送的,按照数据传送方向,串行通信可分为单工()、半双工()和全双工()种制式。图- 为种制式的示意图。,5.3.2 串行通信总线标准及其接口 串行通信接口 异步串行通信接口有以下种,- 接口 ()- 信息格式标准 RS-232C 采用串行格式,该标准规定:信息的开始为起始位,信息的结束为停止位;信息本身可以是5、6、7、8位再加一位奇偶校验位。如果两个信息之间无信息,则写“”,表示空。其格式标准如图5-18所示。,()- 电平转换器 ()- 总线规定 - 标准总线为根,采用标准的 型芯插头座 RS-449、RS-422A、RS-423A标准接口 ()-标准接口 -是年公布的标准接口,在很多方面可以代替- 使用。 ()-、- 标准接口- 文本给出了-中对于通信电缆、驱动器和接收器的要求,-标准接口,5.3.3 串行口的结构与控制 1. 80C51串行口的结构 80C51单片机通过引脚RXD (P3.0串行数据接收端)、TXD (P3.1,串行数据发送端)与外界进行通信。串行接口简化结构如图 -所示。,串行接口的控制寄存器 ()串行控制寄存器 是一个特殊功能寄存器,用以设定串行接口的工作方式、接收发送控制及设置状态标志。字节地址为,可进行位寻址,其格式如表 -所示。,SM0、SM1:串行口工作方式选择 0 0 方式0、8位移位寄存器方式 0 1 方式1、10位异步通信方式 1 0 方式2、11位异步通信方式 1 1 方式3、11位异步通信方式 SM2:多机通信位 方式0时必须为“0”,一般用于方式2、3的接收端。,REN:允许接收标志位,用在接收端,为“0”时禁止接收,为“1”时允许接收。 TB8:发送的第九位数,用在方式2、3中的发送端。 RB8:接收的第九位数,用在方式2、3中的接收端。 TI:为串行口的发送标志位,当发送完一帧数据后,由硬件置“1”。 RI:为串行口的接收标志位,当接收完一帧数据后,由硬件置“1”。 注:TI、RI都是由硬件置“1”,都是由软件清“0” ( 不管是中断方式,还是查询方式)。,5.3.4 串行口的工作方式及波特率计算 串行口工作方式 ()工作方式 工作方式时,串行口为同步移位寄存器的输入输出方式。主要用于扩展并行输入或输出口。数据由RXD (P3.0)引脚输入或输出,同步移位脉冲由TXD (P3.1)引脚输出。发送和接收均为位数据,低位在先,高位在后。,a、发送: 电路:RXD为输出端 TXD为时钟脉冲输出端 条件:TI=0 启动:将数据写入SBUF(MOV SBUF,A)。 过程:先发D0、D1、最后D7。 停止:发送完D7位后,停止,同时TI=1。 b、接收: 电路: RXD为输入端 TXD为时钟脉冲输出端 条件:RI=0 启动:REN=1 过程:先收D0、D1、最后D7。 停止:接收到D7位后,停止, 数据装入SBUF,同时RI=1。 注:方式0时,SM2必须为“0”。,()工作方式 工作方式为波特率可调的位通用异步通信接口。发送或接收一帧信息为位,分别为位起始位(),位数据位和位停止位()。电路如下:,a、发送: 条件:TI=0 启动:将8位数写入SBUF(MOV SBUF,A)。 过程:先发起始位“0”,再发8位数据位D0、D1D7,最后停止位“1”。 停止:D7位移出后,停止,TI=1申请中断。 b、接收: 条件:RI=0且REN=1 启动:检测引脚RXD出现下降沿,启动。 过程:先检测起始位“0”,无有效的起始位,回到上一级,继续等待。 有有效的起始位,再接收8位数据位(D0.D7),最后停止位。 停止:SM2=0时,直接将8位数据装入SBUF,同时RI=1,申请中断。 SM2=1时,先判停止位, 有有效的停止位“1”,将8位数据位装入SBUF,同时RI=1,申请中断。 无有效的停止位“1”,接收到的8位数据位,直接丢弃掉。,()工作方式、方式 在工作方式、方式下,串行口为位异步通信接口,发送、接收一帧信息为位:即位起始位()、位数据位、位可编程位和位停止位()。,a、发送: 条件:TI=0 启动:先将第9位数写入TB8,再将8位数写入SBUF (MOV SBUF,A)。 过程:先发起始位“0”,再发8位数据位D0、D1D7,接着发第9位数(TB8),最后停止位“1”。 停止:TB8位移出后,停止,TI=1申请中断。 b、接收: 条件:RI=0且REN=1 启动:检测引脚RXD出现下降沿,启动。 过程:先检测起始位“0”,无有效的起始位,回到上一级,继续等待。 有有效的起始位,再接收9位数据位(D0.D8)。 停止:SM2=0时,将第9位数装入RB8, 将8位数装入SBUF,同时RI=1,申请中断。 SM2=1时,第9位数为“1”,将第9位数装入RB8, 8位数装入SBUF,同时RI=1,申请中断。 第9位数“0”,接收到的9位数据,全部丢弃。, 串行口的波特率计算,

    注意事项

    本文(中断系统定时器计数器串行口.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开