单片机原理及应用(C51版)第5章MCS-51单片机.ppt

上传人:max****ui 文档编号:8390077 上传时间:2020-03-28 格式:PPT 页数:38 大小:1.27MB
返回 下载 相关 举报
单片机原理及应用(C51版)第5章MCS-51单片机.ppt_第1页
第1页 / 共38页
单片机原理及应用(C51版)第5章MCS-51单片机.ppt_第2页
第2页 / 共38页
单片机原理及应用(C51版)第5章MCS-51单片机.ppt_第3页
第3页 / 共38页
点击查看更多>>
资源描述
第5章MCS 51单片机典型功能部件结构及应用5 1中断系统5 2MCS 51单片机定时器 计数器5 3串行口 5 1中断系统5 1 1中断的概念1 中断及中断源中断是指在CPU正在执行某一段程序的过程中 如果外界或内部发生了紧急事件 要求CPU暂停正在运行的程序转而去处理这个紧急事件 待处理完后再回到原来被停止执行程序的间断点 继续执行原来被打断了的程序的过程 实现这种功能的机构称为中断系统 产生中断的请求源叫中断源 2 中断嵌套及优先级当CPU正在处理一个优先级低的中断请求的时候 如果发生另一个优先级比它高的中断请求 CPU暂停正在处理的中断源的处理程序 转而处理优先级高的中断请求 待处理完之后 再回到原来正在处理的低级中断程序 这种高级中断源能中断低级中断源的中断处理称为中断嵌套 5 1 2MCS 51中断系统结构及中断控制1 中断源和中断请求标志 1 中断源MSC 51系列单片机的5个中断源 包括2个外部中断源和3个内部中断源 2个外部中断源是外部中断0和外部中断1 3个内部中断源是定时器 计数器0溢出中断 定时器 计数器1溢出中断 串行口的发送和接收中断 TI和RI 2 TCON寄存器TCON是定时器 计数器0和1 T0 T1 的控制寄存器 同时也用来锁存T0 T1的溢出中断请求标志和外部中断请求标志 3 SCON寄存器SCON为串行口控制寄存器 其中的低两位用作串行口中断请求标志 TI SCON 1 串行口发送中断请求标志 RI SCON 0 串行口接收中断请求标志 TCON寄存器 IE1 TCON 3 外部中断请求标志位 IT1 TCON 2 外部中断触发方式控制位 由软件来置1或清0IT1 0时 外部中断1为电平触发方式 IT1 1时 外部中断1为边沿触发方式 下降沿有效 IT0 TCON 0 外部中断0 触发方式控制位 由软件置位或复位 IT0 1 外部中断0为边沿触发方式 下降沿有效 IT0 0 外部中断0为电平触发方式 TF0 TCON 5 定时器 计数器0 T0 的溢出中断请求标志 当T0计数产生溢出时 由硬件将TF0置1TF1 TCON 7 定时器 计数器1 T1 的溢出中断请求标志IE0 TCON 1 外部中断请求标志位 当引脚 P3 2 上出现中断请求信号时 由硬件置位IE0 向CPU申请中断 2 中断允许控制在MCS 51单片机中断系统中 中断的允许或禁止是由片内的中断允许寄存器IE控制的 其引脚定义如下 EA IE 7 CPU中断允许标志 EA 0时 表示CPU屏蔽所有中断 EA 1 表示CPU开放中断 但每个中断源的中断请求是允许还是被禁止 还需由各自的允许位来确定 ES IE 4 串行口中断允许位 ES 0 禁止串行口中断 ES 1时 允许串行口中断 ET1 IE 3 定时器 计数器T1溢出中断允许位 ET1 1 允许T1中断 ET1 0 禁止T1中断 EX1 IE 2 外部中断1中断允许位 EX1 1 允许外部中断1中断 EX1 0 禁止外部中断1中断 ET0 IE 1 定时器 计数器T0溢出中断允许位 其功能同ET1EX0 IE 0 外部中断0中断允许位 功能同EX1 中断允许寄存器IE中各位的状态 可根据要求用软件置位或清零 从而实现对于该中断源允许中断或禁止中断 当CPU复位时 IE被清零 3 中断优先级控制MCS 51系列单片机的中断优先级是由中断优先级寄存器IP控制的 MSC 51单片机中的中断系统 应遵循以下基本准则 1 低优先级中断可被高优先级中断请求所中断 高优先级中断不能被低优先级中断请求所中断 2 同级的中断请求不能打断已经执行的同级中断 3 中断源自然优先级顺序中断源自然优先级由高到低 外部中断0定时器 计数器0外部中断1定时器 计数器1串行口 5 1 3MCS 51中断响应过程MCS 51系列单片机的中断响应过程可分为中断响应 中断处理和中断返回三个阶段 1 中断响应CPU响应中断的条件主要有以下几点 1 有中断源发出中断请求 2 中断总允许为EA 1 即CPU开中断 3 请求中断的中断源的中断允许位为1 2 中断处理CPU从执行中断处理程序第一条指令开始到返回指令RETI为止 这个过程称为中断处理或中断服务 中断处理一般包括保护现场 处理中断源的请求以及恢复现场三部分内容 3 中断返回中断返回是指执行完中断处理程序的最后指令RETI之后 程序返回到断点 继续执行原来的程序 5 1 4中断响应后中断请求的撤除中断源提出中断申请 在CPU响应此中断请求后 该中断源的中断请求在中断返回之前应当撤除 以免引起重复中断 被再次响应 5 1 5中断系统应用例 单片机读P1 0的状态 把这个状态送到P1 7的指示灯去 当P1 0为高电平 指示灯亮 当P1 0为低电平时 指示灯不亮 要求用中断控制这一输入 输出过程 每请求中断一次 完成一个读写过程 includesbitP1 0 P1 0 sbitP1 7 P1 7 voidmain IE 0 x81 cpu开中断和外部中断0允许 TCON 0 x01 INT0设置为负边沿触发 while 1 voidex int0 void interrupt0 if P1 0 1 P1 7 1 elseP1 7 0 5 2MCS 51单片机定时器 计数器MCS 51单片机内部有两个16位定时器 计数器 简称定时器0 T0 和定时器1 T1 它们均可用作定时器或事件计数器 为单片机系统提供计数和定时功能 还可作为串行接口的波特率发生器5 2 1定时器 计数器概述定时器 计数器实际上是加1计数器 当它对外部事件进行计数时 由于频率不固定 此时称之为计数器 当它对内部固定频率的机器周期进行计数时 称之为定时器 它们的工作状态及工作方式由两个特殊功能寄存器TMOD和TCON的各位来决定 工作状态有定时和计数两种 由TMOD的第2位 T0 或第6位 T1 决定 工作模式共有0 3四种 也是由TMOD其中的两位 1个定时器 来决定 TMOD和TCON的内容由软件写入 定时器 计数器内部结构框图 定时器 计数器的基本结构 TH1 TL1是T1的计数器 TH0 TL0是T0的计数器 TH1和TL1 TH0和TL0分别构成两个16位加法计数器 5 2 2定时器 计数器的控制定时器 计数器有4种工作模式 由TMOD设置并由TCON控制 1 工作方式控制寄存器TMOD特殊功能寄存器TMOD的地址为89H 它不能位寻址 在设置时一次写入 高4位用于定时器T1 低4位用于定时器T0M1M0 工作模式控制位M1M0对应4种不同的二进制组合 分别对应4种工作模式 C T 定时器方式和计数器方式选择控制位为1 定时 计数器工作在计数器方式 为0 定时 计数器工作在定时器方式 GATE 定时器 计数器运行控制位 门控位 2 定时器控制寄存器TCON定时器控制寄存器TCON除可字节寻址外 还可以位寻址 TCON的字节地址为88H 位地址为88H 8FH 5 2 3定时器 计数器的工作模式MCS 51系列单片机的定时器 计数器T0和T1可由软件对特殊功能寄存器TMOD中控制位C 进行设置 以选择定时功能或计数功能 对M1和M0位的设置对应于四种工作模式 即模式0 模式1 模式2 模式3 1 工作模式0模式0是选择定时器 计数器 T0或T1 的高8位和低5位组成的一个13位定时器 计数器 其逻辑框图如图5 4所示 定时器 计数器T0工作模式0逻辑结构框图 2 工作模式1该模式对应的是一个16位的定时器 计数器 其结构与操作几乎与模式0完全相同 惟一的差别是 在模式1中 寄存器TH0和TL0是以全部16位参与操作 用于定时工作方式时 定时时间为t 216 T0初值 振荡周期 12用于计数工作方式时 计数最大长度为216 65535个外部脉冲 定时器 计数器T0工作模式1逻辑结构框图 3 工作模式2模式2把TL0 或TL1 设置成一个可以自动重装载的8位定时器 计数器 TL0计数溢出时 不仅使溢出中断标志位TF0置1 而且还自动把TH0中的内容重新装载到TL0中 TL0用作8位计数器 TH0用以保存初值 用于定时工作方式时 其定时时间 TF0溢出周期 为t 28 TH0初值 振荡周期 12用于计数工作方式时 最大计数长度为28 256个外部脉冲 定时器 计数器T0工作模式2逻辑结构框图 4 工作模式3工作模式3对T0和T1大不相同 若将T0设置为模式3 TL0和TH0被分成为两个相互独立的8位计数器 定时器 计数器T0工作模式3逻辑结构框图 5 波特率发生器定时器T0和T1可同时工作在不同的工作方式 在定时器T0工作在模式3时 尽管TR1和TF1被T0占用 但T1仍可通过M0M1设置其工作模式为0 2 此时 T1常用作串口的波特率发生器 5 2 4定时器 计数器的应用举例设单片机晶振为6MHz P1 0连接一个发光二极管 利用定时器使发光二极管每1s其状态改变一次 由于定时器最长定时时间是有限的 因此 为实现1s的延时 可以设置定时器T0定时时间为100ms 通过程序设置一个软件计数器 对定时器溢出次数 10次 计数 计数初值的算法 65536 100000 2 15536 3CB0H C51程序如下 include defineucharunsignedcharsbitled P1 0 voidInit void TMOD 0 x01 设置T0为方式1TH0 0 50000 256 对于16位计数器0 50000 15536 免于计算直接装入初值TL0 0 50000 256 装入初值 15536mod256 TR0 1 led 1 voidmain void uchari 0 Init while 1 TH0 0 50000 256 重新装入初值TL0 0 50000 256 while TF0 等待T0溢出TF0 0 清除溢出标志位i 软件计数加1if i 10 led led P1 0取反输出i 0 软件计数器清0 5 3串行口CPU与外部设备的基本通信方式有两种 并行通信 数据的各位同时进行传送 其特点是传送速度快 效率高 数据有多少位 就需要有多少根传输线 串行通信 数据一位一位地按顺序进行传送 其特点是只需一对传输线就可实现通信 当传输的数据较多 距离较远时 它可以显著减少传输线 降低通信成本 但是串行传送的速度慢 5 3 1串行通信的基本概念串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送 1 异步通信和同步通信串行通信有两种基本通信方式 异步通信和同步通信 1 异步通信在异步通信中 数据通常以字符 或字节 为单位组成数据帧传送 异步通信的字符帧格式 2 同步通信在同步通信中 每个数据块传送开始时 采用一个或两个同步字符作为起始标志 数据在同步字符之后 个数不受限制 由所需传送的数据块长度确定 同步传送的数据格式 2 串行通信的制式在串行通信中 数据是在由通信线连接的两个工作站之间传送的 按照数据传送方向 串行通信可分为单工 半双工和全双工三种方式 1 单工制式只允许数据向一个方向传送 即一方只能发送 另一方只能接收 2 半双工制式允许数据双向传送 但由于只有一根传输线 在同一时刻只能一方发送 另一方接收 3 全双工制式允许数据同时双向传送 由于有两根传输线 在A站将数据发送到B站的同时 也允许B站将数据发送到A站 3 波特率和发送 接收时钟 1 波特率串行通信的数据是按位进行传送的 每秒钟传送的二进制数码的位数称为波特率 也称比特数 单位是bps bitpersecond 即位 秒 2 发送 接收时钟二进制数据序列在串行传送过程中以数字信号波形的形式出现 无论发送或是接收 都必须有时钟信号对传送的数据进行定位 在发送数据时 发送器在发送时钟的下降沿将移位寄存器中的数据串行移位输出 在接收数据时 接收器在接收时钟的上升沿对数据位采样 4 奇偶校验当串行通信用于远距离传送时 容易受到噪声干扰 为保证通信质量 需要对传送的数据进行校验 对于异步通信 常用的校验方法是奇偶校验法 5 3 2MCS 51单片机串行口1 串行口结构串行口内部有两个物理上相互独立的数据缓冲器SBUF 一个用于发送数据 另一个用于接收数据 但发送缓冲器只能写入数据 不能读出数据 而接收缓冲器只能读出数据 不能写入数据 所以两个缓冲器共用一个地址 99H 串行口结构框图 发送数据时 执行一条将数据写入SBUF的传送指令 例如MOVSBUF A 即可将要发送的数据按事先设置的方式和波特率从引脚TXD串行输出 一个数据发送完毕后 串行口产生中断标志位 向CPU申请中断 请求发送下一个数据 接收数据时 当检测到RXD引脚上出现一帧数据的起始位后 便一位一位地将接下来的数据接收保存到SBUF中 然后产生中断标志位 向CPU申请中断 请求CPU接收这一数据 CPU响应中断后 执行一条读SBUF指令 例如MOVA SBUF 就可将接收到的数据送入某个寄存器或存储单元 为避免前后两帧数据重叠 接收器是双缓冲的 2 串行口控制 1 串行口控制寄存器SCONSCON是MCS 51的一个SFR 串行数据通信的方式选择 接收和发送控制以及串行口的状态标志都由专用寄存器SCON控制和指示 SCON用于控制串行口的工作方式 同时还包含要发送或接收到的第9位数据位以及串行口中断标志位 该寄存器的字节地址为98H 2 电源控制寄存器PCONPCON中只有最高位SMOD与串行口工作有关 该位用于控制串行口工作于方式1 2 3时的波特率 当SMOD 1时 波特率加倍 PCON的字节地址为87H 没有位寻址功能 单片机复位时 SMOD 0 3 串行口的工作方式方式0主要用于扩展并行输入 输出口 方式1 方式2和方式3主要用于串行通信 1 方式0该方式为同步移位寄存器输入 输出方式 常用于扩展并行I O口 2 方式1方式1为波特率可变的10位异步通信方式 由TXD端发送数据 RXD端接收数据 收发一帧数据的格式为1位起始位 8位数据位 一位停止位 共10位 3 方式2和方式3这两种方式都是11位异步通信 操作方式完全一样 只有波特率不同 适用于多机通信 4 波特率设置 1 方式0的波特率在方式0下 串行口的波特率是固定的 即波特率 fosc 12 2 方式2的波特率在方式2下 串行口的波特率可由PCON中的SMOD位控制 若使SMOD 0 则所选波特率为fosc 64 若使SMOD 1 则波特率为fosc 32 3 方式1和方式3的波特率在这两种方式下 串行口波特率由定时器T1的溢出率和SMOD值同时决定 相应公式为 波特率 2SMOD T1溢出率 32 5 3 3串行口应用1 串行口方式0的应用串行口方式0为同步操作 外接串入 并出或并入 串出器件 可实现I O的扩展 I O口扩展有两种不同用途 一是利用串行口扩展并行输出口 此时需外接串行输入 并行输出的同步移位寄存器 如74LS164或CD4094 另一种是利用串行口扩展并行输入口 此时需外接并行输入 串行输出的同步移位寄存器 如74LS165 74HC165或CD4014 2 串行口在其他方式下的应用MCS 51单片机串行口工作在方式1 2 3时 都用于异步通信 它们之间的主要差别是字符帧格式和波特率不同 此时 单片机发送或接收数据可以采用查询方式或中断方式 3 双机通信双机通信也称为点对点的异步串行通信 当两个MCS 51系列单片机应用系统相距很近时 可将它们的串行口直接相连来实现双机通信 双机通信中通信双方处于平等地位 不需要相互之间识别地址 因此串行口工作方式1 2 3都可以实现双机之间的全双工异步串行通信 如果要保持通信的可靠性 还需要在收发数据前规定通信协议 包括对通信双方发送和接收信息的格式 差错校验与处理 波特率设置等事项的明确约定 5 3 4常用串行通信总线标准及接口电路常用的标准异步串行通信接口有RS 232C RS 422 485 USB通用接口等几类 1 RS 232C总线标准及接口电路 1 RS 232C总线标准RS 232C适用于短距离或带调制解调器的通信场合 设备之间的通信距离不大于15m时 可以用RS 232C电缆直接连接 对于距离大于15m以上的长距离通信 需要采用调制解调器才能实现 RS 232C传输速率最大为20Kbps RS 232C标准总线为25条信号线 采用一个25脚的连接器 一般使用标准的D型25芯插头座 DB 25 RS 232C采用负逻辑 即逻辑1用 5V 15V表示 逻辑0用 5V 15V表示 因此 RS 232C不能和TTL电平直接相连 2 RS 232C接口电路 MAX232MAX232是MAXIM公司生产的包含两路接收器和驱动器的专用集成电路 用于完成RS 232C电平与TTL电平转换 MAX232内部有一个电源电压变换器 可以把输入的 5V电压变换成RS 232C输出电平所需的 10V电压 2 RS 422 485总线标准及接口电路 1 RS 422 485总线标准RS 422采用差分接收 差分发送工作方式 不需要数字地线 它使用双绞线传输信号 根据两条传输线之间的电位差值来决定逻辑状态 RS 422接口电路采用高输入阻抗接收器和比RS 232C驱动能力更强的发送驱动器 可以在相同的传输线上连接多个接收节点 所以RS 422支持点对多的双向通信 RS 485是RS 422的变型 它是多发送器的电路标准 允许双绞线上一个发送器驱动32个负载设备 负载设备可以是被动发送器 接收器或收发器 RS 422 485最大传输距离为1200m 最大传输速率为10Mbps 2 RS 485接口电路 MAX485MAX485是用于RS 422 485通信的差分平衡收发器 由MAXIM公司生产 芯片内部包含一个驱动器和一个接收器 适用于半双工通信 其主要特性如下 1 传输线上可连接32个收发器 2 具有驱动过载保护 3 最大传输速率为2 5Mbps 4 共模输入电压范围为 7V 12V 5 工作电流范围为 120 A 500 A 6 供电电源 5V 本章小结 练习及思考题 实训项目五 予习 谢谢大家 本章结束谢谢使用
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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