单片机技术及工程实践第3章课件_第1页
单片机技术及工程实践第3章课件_第2页
单片机技术及工程实践第3章课件_第3页
单片机技术及工程实践第3章课件_第4页
单片机技术及工程实践第3章课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 51系列单片机内部功能3.1 定时器/计数器功能3.1.1 定时器/计数器T0、T1的结构及原理11. 16位计数寄存器TH0,TL0,和TH1,TL1分别为T0和T1的高低8位,属于字节寻址的可读/写寄存器.(1)计数器方式: 16位计数寄存器对T1和T0引脚的输入脉冲 计数(第二功能输入).(2)定时器方式: 16位计数寄存器对内部机器周期计数,此 即定时器的实质.22. 模式控制寄存器TMOD (位定义)定时器/计数器的工作模式 (4种)33. 工作控制寄存器TCON (位定义)TR1(TR0):运行控制位,软件置1和清0.TF1(TF0):溢出中断标志,硬件置1软件清0; 在中

2、断服务程序中由硬件自动清0.字节低4位:外部中断用.43.1.2 定时器/计数器T0、T1的工作模式1. 工作模式0( 13位计数器)定时方式:软件置C/T=0,S1向上,对机器周期TCY计数,计数值为N,THX和TLX预置值为X, 定时时间为 T N Tcy (8192X )Tcy5 2)计数方式:软件置C/T=1,S1向下,对TX 脚的 外部脉冲计数,THX和TLX预置值为X, 计数值N为 N 213X 8192X 3)软件置GATE=0,与门输出取决于:TRx=1,则S2 闭合并启动计数; TRx=0,则S2断开,计数停止. 4)软件置GATE=1, 属门控方式:仅当 TRx=1且 IN

3、Tx 脚出高电平,则或门、与门出高电平,使S2闭合,定时/计数器启动(可判定上升沿); INTx 脚出低电平,则或门、与门出低电平,使S2断开,定时/计数器停止(可判定下降沿).62. 工作模式1( 16位计数器)与模式0的差别在于TLx和THx均为8位计数器,定时时间为:T N Tcy (216X )Tcy 对12MHz晶振,定时范围为(165536uS);计数值为:N =216X 65536X 对12MHz晶振,计数范围为165536.73. 工作模式2 (又称自动重装8位初值模式)TLx作8位计数器, THx作自动重装初值寄存器,TLx计数溢出使TFx置位,同时把THx的初值自动送入TL

4、x重新计数.定时时间为:T N TCY (256X )TCY84. 工作模式3 (仅限于定时/计数器T0)TH0借用了T1的启动位TR1和溢出标志TF1.93.1.3 定时器/计数器T2 (52子系列)1. 模式控制寄存器T2MOD (定义)DCEN:置T2向上/向下计数的使能位.(2)T2OE:使T2输出可编程时钟的使能位.增加两个SFR: T2MOD用于模式控制(同TMOD);T2CON用于工作控制(同TCON).还设有捕获寄存器RCAP2L(低字节)和 RCAP2H(高字节).引脚T2EX(P1.1口)为外部触发信号输入端.102. 工作控制寄存器T2CON (定义) (每位的详细含义见

5、书本P.62)3. 数据寄存器TH2、TL2 分别构成16位计数寄存器的高8位和低8位.4. 捕获寄存器RCAP2H、RCAP2L 分别构成16位捕获寄存器的高8位和低8位.115. T2的三种运作方式1) RCLK或TCLK=1,T2的溢出脉冲作串行通信.2) EXEN2=0,作16位定时器,TF2请求中断;且 RCAP2H、RCAP2L的预制值重装TH2、TL2.3) C/T2=0作定时器用.123.1.4 定时器/计数器的初始化1. 初始化的主要步骤1)对TMOD寄存器写入控制字,确定工作模式.2)对THx、TLx预置初值.3)按需要置中断方式、中断入口,允许中断.4)启动TRx 汇编语

6、言的定时器/计数器初始化参考程序:MOV TMOD,#xxH ;选择工作模式 MOV THx, #xx ;预置初值高字节 MOV TLx, #xx ;预置初值低字节 SETB ETx ;定时器/计数器Tx中断允许 SETB EA ;全局中断允许 SETB TRx ;启动定时器/计数器Tx132. 预置初值的计算 (见书P.63)注意:方式0(13位定时)预置值的16进制取值.3. 延时子程序的时间估算 (周期和次数之和)14汇编语言的延时子程序参考语句:现设R6、R7两层计数循环(可按需要设多层).上述例子需总机器周期: (2482)3)200399803 对6MHz晶振,总延时:998032

7、s199606s154. 利用门控位GATE测量脉冲宽度汇编语言测量高电平脉冲宽度参考程序: ORG 0000H AJMP MAIN ORG 0030HMAIN: MOV SP, #60H ; 设堆栈 MOV TMOD,#09H ; T0模式1,门控GATE=1 MOV TH0, #00H ; 时间常数初值 MOV TL0, #00H16注:INT0脚出高电平,TO才开始计数; INT0脚出低电平,TO立即停止计数; 测量结果以机器周期分别存在R0和R1中.173.2 中断系统功能中断系统组成要素如下:(1)中断源(51子系列5个,52子系列6个).(2)中断响应和中断返回.(3)优先级控制.

8、(4)中断嵌套(有二级,低级能被高级嵌套).183.2.1 中断源和中断向量1.外部中断源 (2个,2触发方式,由TCON定义)(1) IT0(IT1)外部中断0(1)触发方式控制位. IT0(IT1)=0,属低电平触发.19IT0(IT1)=1,属下降沿触发.(2) IE0(IE1)外部中断0(1)中断请求标志位. * 检测到外中断引脚低电平时,直接触发外部 中断,需用外部方法消除低电平; * 检测到外中断引脚负跳变时,由硬件置位中 断标志位IE0(IE1),在中服中自动清标志. 202.内部中断源 (4个)包括T0,T1,T2溢出中断,串行口收/发中断.中断标志位在SFR中的分布如下:注:

9、TF0,TF1,TF2溢出中断能硬件自动清零; 串行口TI(发送),RI(接受)中断需软件清零.213. 中断向量 (6种)响应中断后,把向量地址装入PC,转中服程序.注:串行口收/发共用中断向量地址,程序中要 用软件区分是TI(发送)还是RI(接收)中断.223.2.2 中断控制通过TCON,SCON,T2CON的中断请求标志位实现中断响应;设置中断允许IE和中断优先级IP.1. 中断允许 (中断允许控制寄存器IE定义)注:置相应位为1,允许中断; 置相应位为0,禁止中断. 允许中断需开局部中断和全局中断.232. 中断优先级 (中断优先级寄存器IP定义)注:置相应位为0,设为低优先级; 置

10、相应位为1,设为高优先级。 中断发生时,先响应高优先级,后低优先级. 对同级多个中断源,按内部查询顺序执行.24中断系统结构示意图:25多个中断同时发生时的响应规则:1) 低优先级的中断请求可被高优先级的中断 请求中断,反之不能.2) 某个中断请求一旦得到响应, 与之同等优 先级的中断请求就不能再被响应. * 上述规则由中断系统内用户不可寻址的两 个 “优先级激活触发器” 的置位来实现.* 执行完中断返回指令RETI后, 该触发器才 被清零,才能响应其它中断.263.2.3 中断响应1. 中断响应的条件 (响应过程如下)* 周期1的S5P2期INTx引脚电平被内部锁存,* 周期2的S6态按顺序

11、查询中断标志,* 周期3的S1态始响应最高优先级中断请求,* 周期5开始执行中断服务程序.272. 中断响应的时间从检测到中断请求到转入中服所需机器周期,正常状态下,中断响应一般为38个机器周期.3. 中断响应的过程 (内部硬件自动完成)1)根据中断源的中断优先级把相应的优先级 激活触发器(又称优先级状态触发器)置位.2)进行断点保护,把程序计数器PC的内容自 动压入堆栈.3)硬件清中断标志IE0、IE1、TF0、TF1或TF2.4)相应的中断向量送入PC,转向相应的中断服 务程序.283.2.4 中断服务程序及其初始化设INTx负跳变触发,INT1高优先级,开头设中断入口,寄存器初始化,RE

12、IT结束,汇编参考如下: ORG 0000H AJMP MAIN ;主程序入口 ORG 0003H AJMP JINT0 ;外部中断0入口 ORG 0013H AJMP JINT1 ;外部中断1入口 ORG 0030HMAIN:MOV SP,#60H ;堆栈指针设为60H SETB EA ;允许全局中断 29 SETB EX0 ;允许外部中断0中断 SETB EX1 ;允许外部中断1中断 SETB PX1 ;设外中断1为高优先级 SETB IT0 ;设外部中断0边沿触发 SETB IT1 ;设外部中断1边沿触发 ROUN:NOP AJMP ROUN ;等待中断JINT0:NOP ;外中断0中断

13、服务程序 RETI;中断返回JINT1:NOP ;外中断1中断服务程序 RETI;中断返回303.2.5 运用中断功能的程序单步调试 * S常闭,整形出低电平,自动进入中服程序, * 按下S,+5V加上,整形输出正脉冲(无中断), * 释放S接地,整形电路输出低电平(可中断).注:中服程序只查P3.2有电平变化便中断返回,31但需执行一条其它指令,才能再次响应中断,从而实现每按一次按键,单步执行一条指令.汇编的中断服务程序INT如下:INT: NOP JNB P3.2, $ ; 等待键S按下,使口线 从低电平变为高电平 JB P3.2, $ ; 等待S释放,使口线从 高电平回复为低电平 RET

14、I ; 中断返回323.3 串行口通信功能3.3.1 串行通信基本知识 (组态如下)只需发送线和接收线,适于远距离通信,但速度慢.分为异步传输方式和同步传输方式.33异步传输方式 (帧格式定义)含4部分:起始位数据位奇偶校验位停止位b)的不同:有空闲位343.3.2 串行口控制器 (3种传输方式定义)1)单工: 数据从发送站A向接收站B单向传输.2)半双工: A和B可分时充当发送站或接收站, 但同一时刻只由S控制往一个方向传送.3)全双工: A和B可独立同时实现发送和接收.* 51系列单片机内部有全双工串行通信口.3551系列单片机串行口结构含:两独立发/收缓冲BUFF,输入移位寄存,收发 控

15、制SCON,电源控制PCON.7,波特率发生器等.361. 串行数据缓冲器SBUF 两个独立8位发送接收寄存器,共用地址99H, 读、写指令简单,如下:MOV A,SBUF ;读接收数据寄存器MOV SBUF,A ;写发送数据寄存器2. 串行口控制寄存器SCON用于控制串行工作方式,收发过程中设中断状态标志.37(1) SM0,SM1 串行工作方式选择位(2) SM2 多机通信控制位方式2和3该位有效.方式0和1不能用,清为0.(从机中SM2=1详见后续多机通信原理).(3) REN 接收允许控制位由软件置位或清零.清零可禁止数据接收.38(4) TB8 方式2和3发送数据的第9位由软件置位或

16、清零.可作双机通信奇偶校验位.多机通信中,TB8=0为数据帧; TB8=1为地址帧.(5) RB8 方式2和3接收数据的第9位可作双机通信奇偶校验位.多机通信中作地址或数据帧标志位.(6) TI 发送中断标志位由软件置位或清零.指示一帧数据是否发送结束,申请中断; 若不用中断方式则可软件查询.39(7) RI 接收中断标志位由软件置位或清零.指示一帧数据接收结束,申请中断; 若不用中断方式则可软件查询.* 因TI和RI共用一个中断向量,双工通信中 要用软件判断是接收中断还是发送中断.3. 电源控制寄存器PCON (定义)SMOD=1,波特率加倍;系统复位时SMOD=0.404. 中断允许控制寄

17、存器IE (定义)ES为串行口中断允许控制位,=1允许,=0禁止.EA=1全局中断允许时,串行口中断才能生效.3.3.3 串行口的工作方式(4种,SM0和SM1定)1. 方式0(属于移位寄存器方式)需外接串入-并出或并入-串出移位寄存器,RXD脚作串行输出/输入,TXD脚输出移位脉冲.41串行口方式0工作示意图:42串行口在方式0作为输出的工作过程是: * 当数据写入SBUF时,同时启动发送控制器,从内部送出移位脉冲.经一个机器周期后SEND 输出高电平,打通门电路5,并经或门7打通门电路6,RXD发送允许且TXD输出同步脉冲.* 在机器周期的S6状态,单片机把发送数据缓冲器SBUF中的数据从

18、低位D0开始右移一位,把数据从RXD移出.重复执行该操作直至最高位D7移出后,一帧数据的发送结束.接着SEND为低电平,发送中断标志TI置位,申请串行口中断或等待用户查询.43串行口在方式0作为输入的工作过程是: * 若REN=1则接收控制器启动,经过一个机器周期RECV端输出高电平,经或门7打通门电路6,TXD输出同步移位脉冲.* 内部移位脉冲使RXD收到的串行数据经移位寄存器左移一位,成最高位D7.重复接收操作直至最低位D0移入后,一帧数据的接收结束.接着RECV恢复低电平,接收控制器发装载SBUF信号打通三态门2,把数据保存到接收数据缓冲器SBUF,接收中断标志RI置位,申请串行口中断或

19、等待查询.由读SBUF指令打通三态门3,读取缓冲器SBUF的数据. 44串行口方式0在工程上的应用示例 (书P.77) 45串行口方式1,2,3的工作示意图:462. 方式1(10位异步通信方式, 波特率可变)1个起始位,8个数据位(低位在前),1个停止位.* 发送过程:软件清标志TI后,写SBUF指令启动发送,总线并行数据送入SBUF并启动发送控制器.经一个机器周期,数据端DATA和发送端有效,经输出控制门向TXD端送出.一帧发完TI置位,申请中断或等待查询.* 接收过程:设SM20,软件清标志RI后,若REN置1闭合,位检测器则以波特率的16倍速率对RXD端电平采样.当检测到负跳变时,跳变

20、检测器启动接收控制器接收数据.移位脉冲把RXD的数据逐位移入移位寄存器,一帧接收完毕.收到的停止位为1,标志RI置位,申请中断或等待查询.(若起始位不为零,该帧无效). 473. 方式2和3 (11位异步通信接口方式)1个起始位,9个数据位(其中低位在前,8个数据位,第9位为奇偶校验位),1个停止位.(方式2波特率固定,方式3波特率可变).* 发送、接收过程基本同方式1, 若满足: RI=0、SM2=0 或所收第9位数据位1,表明 接收成功.* 与方式1的差别: 发送前由SCON的TB8位提供第9位数据, 接收后把第9位数据装入SCON的RB8位.48串行口方式2和3的发送时序 (a)发送始于

21、执行一条写SBUF指令.(b)同时SEND低电平有效,向TXD端送起始位.(c)每个TX时钟,移位脉冲使TXD输出一位数据.(d)9位数据输出后,SEND失效,TI标志置位,引 发中断,TXD1作为停止位,完成一帧发送. 49串行口方式2和3的接收时序 (a)接收始于REN=1,从三中取二采样到起始位.(b)起始位有效, 每RX时钟周期接收一位数据.(c)第9位接收完,数据送至SBUF和RB8,置位RI 标志,引发中断,完成一帧接收.(d)若接收无效,需重新检测RXD端信号. 503.3.4 串行口的多机通信 (限于方式2和3)主从式多机通信系统的组成(应用最广)主机(1台)向从机(多台)发送

22、信息,从机发信息由主机接收,从机之间不能通信.主机TB8=1发从机地址帧,TB8=0发从机数据帧.511. 主从式多机通信的过程1)从机均置SM21,全部等待接收主机地址帧.2)主机先发目标从机地址帧, 8位数作从机地 址,第9位数TB8=1,使所有从机引发中断.3)所有从机在中服中读地址帧数据,地址相符 的从机置SM20.主机后续的各帧数据均能 使该从机的标志RI置位,引发接收中断.4)自身地址不相符的其他从机,仍保持SM21, 不接收主机后续发来的数据帧.5)自身地址符合的从机,收齐规定的数据帧后, 置SM21,恢复到等待接收主机地址帧状态.522. 从机引发接收中断的条件 (使RI置位)

23、1) 从机设置SM21(等待接收地址帧).2) 从机设置REN1(接收允许).3) 从机接收到RB81(收到地址帧).3.3.5 串行口的波特率 (每秒发/收的数据位)1. 影响波特率的因素1) 晶振频率fosc.2) 电源控制寄存器PCON中的波特率 倍增位SMOD.3) 定时器/计数器T1的溢出率设置 532. 定时器/计数器T1溢出率的计算1) T1溢出率定时溢出次数/s2) 定时器/计数器工作方式的选择. 计算T1方式2(自动重装)设为溢出率.设X为预置值.溢出一次的时间为(28X )12/fosc溢出率(T1)fosc/12/(28X )次/s例:设晶振频率fosc 6MHz, 预置

24、值X F3H,则有 溢出率(T1)6106/(28F3H)/12 38461.5次/s543. 波特率的设置 (示意图适于方式1和3)波特率(2SMOD/32)(定时器T1的溢出率) (2SMOD/32)fosc/12/(28X )应用上给出波特率,求定时器预置值X: X2562SMODfosc/(波特率3212)55例:fosc6MHz,SMOD1,波特率2400bit/s, 求定时器预置值X .则:X256216106/(24003212) 242.98243 F3H4. 常用的波特率 ( 6MHz晶振)56常用的波特率 ( 11.0592MHz晶振)11.0592MHz晶振时波特率达19

25、200bit/s,误差为零. 57常用的波特率 ( 12MHz晶振)12MHz晶振时最高可选4800bit/s.若选9600bit/s,计算误差更大为6.98(SMOD0)和 8.51(SMOD1),所以工程上不建议采用超过4800bit/s的波特率.583.3.6 异步通信的奇偶校验1. 串行通信方式的用法归纳* 串行口方式1帧格式有8个数据位,无校验 功能,可用求批量数据累加和方法来校验, 或用最高位作校验位.* 串行口方式1和2帧格式有9个数据位,双机 通信时可用第9位作校验位.* 多机通信时第9位作地址帧/数据帧识别位, 可用求批量数据累加和方法来校验.* 工程上双机通信可用多机通信的方法实现.59串行口各方式的帧格式及校验方法 602. 奇偶校验标志 (特征校验位)奇偶标志PSW.0,简称P,由ACC自动生成,规则: ACC中1的个数为偶数时,P0. ACC中1的个数为奇数时,P1.例:A0000 0011 P0 A0000 1011 P13.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论