单片机原理第四章_第1页
单片机原理第四章_第2页
单片机原理第四章_第3页
单片机原理第四章_第4页
单片机原理第四章_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、1 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 2 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 v I/O I/O 接口的作用接口的作用 1. 实现和不同外设的速度匹配实现和不同外设的速度匹配 2. 改变数据传送方式改变数据传送方式 3. 改变信号的性质和电平改变信号的性质和电平 3 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 外部设备的编址方式 1.对外设端口单独编址 IN A,(N) ;N端口中的数端口中的数 OUT (N),A 2.外设端口和存储器统一编址 将一部分地址空间让给外设端口,存储器不再使用。将一部分地址空间让给外设端

2、口,存储器不再使用。 优点: (1)一切指令均适用于)一切指令均适用于I/O端口的访问,增强了端口的访问,增强了CPU对外围设备对外围设备 的处理能力。的处理能力。 (2)CPU本身不需要专门的本身不需要专门的I/O指令。指令。 (3)外设地址安排灵活,数量不限。)外设地址安排灵活,数量不限。 4 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 端口与接口端口与接口 v 端口:常指I/O接口中带有端口地址的寄存器或缓冲 器,CPU通过端口地址就可以对端口中信息进行读 写。 v 接口:指CPU与外设间的I/O接口芯片,一个外设通 常需要一个I/O接口,但一个I/O接口可以有多个I

3、/O 端口,传送数据字的端口称数据口,传送命令字的 称命令口,传送状态字的称为状态口。 5 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 4-1 并行I/O口 v四个8位并行I/O端口:P0、P1、P2和P3。 v每个端口都是8位准双向口,包含一个锁存器(即特殊功能 寄存器P0P3)、一个输出驱动器和一个输入缓冲器。 v这四个并行I/O口都可以作准双向通用I/O口,既可以作输入 口,又可以作输出口,还可以作双向口。输出有锁存功能; 输入有三态缓冲但无锁存功能。它们既可以以字节寻址,也 可以按位独立输入/输出。 6 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件

4、 三种三种I/O端口操作方式端口操作方式 1.数据输出方式(写端口)数据输出方式(写端口) 通过一条指令将数据写入通过一条指令将数据写入P0-P3的数据锁存器,然后通过输出驱的数据锁存器,然后通过输出驱 动器送到端口引脚。动器送到端口引脚。 MOV P0,A ;累加器累加器A中内容送中内容送P0口口 2.读端口读端口 对端口锁存器数据进行读入,这个数据并非端口引脚上的数据对端口锁存器数据进行读入,这个数据并非端口引脚上的数据 ORL P1,#0F0H ;P1锁存器中数据送锁存器中数据送A,经经“与与”运算后,送运算后,送P1 锁存器锁存器 7 第四章第四章 单片机的其他片内功能部件单片机的其他

5、片内功能部件 3.读引脚读引脚 从端口引脚上读数据,先使对应端口锁存器置位,使从端口引脚上读数据,先使对应端口锁存器置位,使T管截止,管截止, 然后打开数据缓冲器,使引脚数据输入数据总线。然后打开数据缓冲器,使引脚数据输入数据总线。 MOV P1,#0FH ;使使P1口低四位锁存器置位口低四位锁存器置位 MOV A,P1 ;读读P1口低四位引脚线信号口低四位引脚线信号 8 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 P1.X 锁存器 读锁存器 内部总线 写锁存器 读引脚 VCC 内部上拉电阻 Q Q D CL P1.X 引脚 P1口的位结构口的位结构 9 第四章第四章 单片

6、机的其他片内功能部件单片机的其他片内功能部件 4-1-1 4-1-1 P1P1口口 v 通用通用I/O口口 可以采用字节操作也可以采用位操作,可以采用字节操作也可以采用位操作,CPU既可以把它们看既可以把它们看 作数据口也可以看作状态口。作数据口也可以看作状态口。 CPU复位后,口锁存器为复位后,口锁存器为“1”,对于作为输入的口脚(读,对于作为输入的口脚(读 引脚),相应位的口锁存器不能写入引脚),相应位的口锁存器不能写入“0”。 10 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 例例41 读读P1.4P1.7口状态送指示灯显示。口状态送指示灯显示。 字节操作参考程序:字

7、节操作参考程序: ORL P1,#0F0H ; P1.4P1.7口锁存器置口锁存器置1 MOV A,P1 ;读读P1.4P1.7引脚状态引脚状态 SWAP A ; MOV P1,A ; RET 11 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 4-1-2 4-1-2 P2P2口口 P2口有口有两种功能两种功能: 对于内部有程序存贮器的单片机,对于内部有程序存贮器的单片机,P2口既可以作为输入口既可以作为输入/输出输出 口使用,也可以作为系统扩展的地址总线口,输出高口使用,也可以作为系统扩展的地址总线口,输出高8位地位地 址址A8A15。 对于内部没有程序存贮器的单片机,必须

8、外接程序存贮器对于内部没有程序存贮器的单片机,必须外接程序存贮器一一 般情况下般情况下P2口只能作为系统扩展的高口只能作为系统扩展的高8位地址总线口,而不位地址总线口,而不 能作为外部设备的输入输出口。能作为外部设备的输入输出口。 12 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 P2口作通用口作通用I/O口口 例例4-3 XRL P2,#01H ;字节操作,字节操作,P2.0取反取反 CPL P2.0 ;位操作,位操作, P2.0取反取反 P2口作地址总线口作地址总线 (1)若片外数据存储器的容量若片外数据存储器的容量256256B B 这时P2口不输出地址,仍可作为I/

9、O口使用 例例4-44-4 将将5656H H写入外部写入外部RAMRAM的的3838H H单元,单元,CPUCPU执行下面的程序段不影响执行下面的程序段不影响P2P2口状态:口状态: MOV R0, #38H MOV A, #56H MOVX R0, A 13 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 (2)若片外数据存储器的容量若片外数据存储器的容量256B MOVX A,DPTR MOVX DPTR,A 14 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 4-1-3 4-1-3 P0P0口口 P0口既可作通用口既可作通用I/O口(用口(用8051时

10、)使用,时)使用, 又可作地址数据分时复用总线使用。又可作地址数据分时复用总线使用。 15 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 4-1-4 4-1-4 P3P3口口 P3口除了作为口除了作为 准双向通用准双向通用I/O 接口使用外,接口使用外, 每一根线还具每一根线还具 有第二种功能有第二种功能 。 引脚第 二 功 能 P3.0RXD(串行输入口) P3.1TXD(串行输出口) P3.2INT0(外部中断0请求输入端) P3.3INT1(外部中断1请求输入端) P3.4 T0(定时器/计数器0计数脉冲输入端) P3.5T1(定时器/计数器1计数脉冲输入端) P3.6

11、 WR(片外RAM写选通信号输出端) P3.7RD(片外RAM读选通信号输出端) 16 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 4-24-2 定时器定时器/ /计数器计数器 1、MCS-51内部具有两个定时内部具有两个定时/计数器,可用于定时控计数器,可用于定时控 制,分频器和事故处理来用。制,分频器和事故处理来用。 2、内部是一个二进制加、内部是一个二进制加1计数器,当计数器计满回零计数器,当计数器计满回零 时能自动产生溢出中断请求,表示定时时间已到或时能自动产生溢出中断请求,表示定时时间已到或 计数已中止。计数已中止。 17 第四章第四章 单片机的其他片内功能部件单

12、片机的其他片内功能部件 v2个可独立控制的16位定时器/计数器:T0、T1 原理:原理: 1、定时模式 每一个机器周期计数器加1,直至计满溢出产生中断请求。对于一个 N位的加1计数器,若计数时钟的频率f是已知的,则从初值a开始加1计数 至溢出所占用的时间为: 当N=8、a=0、t=1/f时,最大的定时时间为: T=256t 2、计数模式 外部输入信号是加到T0(P3.4)或T1(P3.5)端,CPU每个机器周 期对T0(或T1)检测一次,只有在前一次检测为1后一次检测为0时才使计 数器加1。所以,对外部输入信号的最高计数速率是晶振的1/24。 )2(* 1 a f N 18 第四章第四章 单片

13、机的其他片内功能部件单片机的其他片内功能部件 一一.定时器控制、状态寄存器定时器控制、状态寄存器 1.TMOD定时器定时器方式寄存器方式寄存器(89H) GATEC/TM1M0GATEC/TM1M0 T1T0 1)功能选择位)功能选择位C/T: =0,定时功能,计数内部机器周期脉冲;定时功能,计数内部机器周期脉冲; =1,计数功能,计数引脚,计数功能,计数引脚T0(T1)输入的脉冲下降沿。输入的脉冲下降沿。 2 2)方式选择位方式选择位M1M1、M0M0:4 4种工作方式:种工作方式:13/16/813/16/8位位 3)门控方式选择位)门控方式选择位GATE : =0,非门控方式非门控方式(

14、内部启动内部启动): TRx=1,启动定时器工作;启动定时器工作; TRx=0,停止定时器工作。停止定时器工作。 =1,门控方式,门控方式(外部启动外部启动):TRx=1且引脚且引脚INTx=1才启动。才启动。 19 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 TMOD GATEC/TM1M0GATEC/TM1M0 确定定时器工作方式指令:确定定时器工作方式指令:MOV TMOD,#方式字方式字 例:例:设设T0用方式用方式2非门控定时,非门控定时,T1用方式用方式1门控计数。门控计数。 MOV TMOD,#1101 0010B 或或 MOV TMOD,#0D2H 20 第

15、四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 2.2.TCONTCON定时器控制定时器控制/ /状态寄存器(状态寄存器(8888H H) TF1TR1TF0TR0 1)启动控制位)启动控制位TR0、TR1 =0,停止定时器工作;停止定时器工作; =1,启动定时器工作。,启动定时器工作。 例:启动例:启动T0:SETBTR0 2)溢出中断标志位)溢出中断标志位TF0、TF1 定时器溢出使定时器溢出使TFx=1。 中断方式:中断方式: TFx=1引起中断请求,引起中断请求,CPU响应响应Tx中断后,自动对中断后,自动对TFx清清0 。 软件查询方式:软件查询方式:可用软件检测可用软

16、件检测TFx,必须软件清必须软件清0。 WAIT:JBC TF0,NEXT ;检测检测T0是否溢出是否溢出 SJMPWAIT ;未溢出,继续检测未溢出,继续检测 NEXT: ;溢出,溢出,TF0清清0,处理溢出,处理溢出 21 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 3可预置初值的可预置初值的16位加位加1定时计数器定时计数器 属于属于SFR中的一种,中的一种,T0由由TH0、TL0组成,组成, T1由由TH1、TL1 组成。通过预设初值来定时。组成。通过预设初值来定时。 预置预置T0初值指令:初值指令:MOV TH0,#X MOV TL0,#XL 22 第四章第四章

17、单片机的其他片内功能部件单片机的其他片内功能部件 二、二、定时器工作方式定时器工作方式 13位定时位定时/计数器。计数外部脉冲个数:计数器。计数外部脉冲个数:18192(213)。 定时时间定时时间(12MHz,即:即:T=1 s):1 s 8.192ms。 TRxINTx GATE C/T=0 C/T=1 us f at osc 12 )2( 13 由方式选择位由方式选择位M1M1、M0M0设定设定 23 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 THx 高8位和TLx 低5位组成13位加1计数器 例:计算得初值为7692,13位定时器T0应装初值多少? 7692化为1

18、6进制数1E0CH,则TH00FOH,TL0=0CH T1T9T8T7T6T5T4T3T2T13T12T11T10 TH0/TH1 TL0/TL1 24 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 16位定时位定时/计数器。计数器。 THx8位和位和TLx8位组成位组成16位加位加1计数器计数器 计数外部脉冲个数:计数外部脉冲个数:165536(216) 定时时间定时时间(T=1 s):1 s 65536T= 65.54ms C/T=0 C/T=1 us f at osc 12 )2( 16 25 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 3. 方式方

19、式2 2 自动恢复初值自动恢复初值8位定时位定时/计数器。计数器。 TLx为为8位加位加1计数器,计数器,THx为为8位初值暂存器。位初值暂存器。 无需重装初值,用于需要重复定时和计数的场合。无需重装初值,用于需要重复定时和计数的场合。 最大计数值:最大计数值:256 (28) 最大定时时间最大定时时间(T=1 s): 256 s us f at osc 12 )2( 8 26 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 注意注意: : 方式方式2 2下,当定时器计满回零时,下,当定时器计满回零时, 一方面向一方面向CPUCPU发出溢出中断请求,发出溢出中断请求, 另一方面

20、从另一方面从THTH中重新获得初值并启动计数。中重新获得初值并启动计数。 方式方式0 0、1 1、3 3下,下, 定时器必须通过重装初值来重新启动计数定时器必须通过重装初值来重新启动计数。 27 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 4.方式方式3(只适用(只适用T0) T0分成分成2个独立的个独立的8位定时器:位定时器:TL0定时定时/计数器和计数器和TH0定时器定时器 TL0占用占用T0控制位:控制位:C/T,TR0,GATE;TH0占用占用T1控制位控制位。 T1不能使用方式不能使用方式3工作工作,一般当一般当T1作为波特率发生器时作为波特率发生器时,T0选方式

21、选方式3。 C/T=0 C/T=1 28 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 4-2-3 4-2-3 定时器定时器/ /计数器的初始化计数器的初始化 1 1初始化步骤初始化步骤 1)给定时器方式寄存器)给定时器方式寄存器TMOD送一个方式控制字,以设定定送一个方式控制字,以设定定 时器时器/计数器的相应工作方式。计数器的相应工作方式。 2)确定需要定时的时间和需要计数的初值,给定时器)确定需要定时的时间和需要计数的初值,给定时器/计数器计数器 送定时器初值或计数器初值。送定时器初值或计数器初值。 3)给中断允许寄存器)给中断允许寄存器IE选送中断控制字和中断优先级寄

22、存器选送中断控制字和中断优先级寄存器 IP选送中断优先级字,以开放相应中断和设定中断优先级。选送中断优先级字,以开放相应中断和设定中断优先级。 4)给定时器控制寄存器)给定时器控制寄存器TCON送命令字,以启动或禁止定时器送命令字,以启动或禁止定时器 /计数器的运行。计数器的运行。 29 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 2计数器初值的计算计数器初值的计算 TC=MC 式中,TC为计数初值,C为计满所需要的计数个数, 为计数器模数,该值和计数器工作方式有关。在方式时 为213;在方式时为216;在方式和方式时 为28。 4-2-3 4-2-3 定时器定时器/ /计

23、数器的初始化计数器的初始化 30 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 定时器初值的计算定时器初值的计算 T=(MTC) T计数 上式也可写成: TC=MT/ T计数 式中,为模值,和定时器的工作方式有关;T计数是单片机 时钟周期CLK的12倍;TC为定时器的定时初值。 4-2-3 4-2-3 定时器定时器/ /计数器的初始化计数器的初始化 31 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 例例4-7 若单片机时钟频率为若单片机时钟频率为12MHz,请计算定时请计算定时2ms所需所需 的定时器初值。的定时器初值。 解:由于定时器工作在方式解:由于定

24、时器工作在方式2 2和方式和方式3 3下时的最大定时时间只有下时的最大定时时间只有0.2560.256msms, 因此要想获得因此要想获得2 2msms的定时时间定时器必须工作在方式的定时时间定时器必须工作在方式0 0或方式或方式1 1。 若采用方式若采用方式0 0,则根据公式可得定时器初值为:,则根据公式可得定时器初值为: TC= TC= MT/ T计数= = 213213 2 2* *103/1=6192=1830H103/1=6192=1830H 即:即:TH0TH0应装应装0 0C1HC1H;TL0TL0应装应装#10#10H H(高三位为高三位为0 0) 若采用方式若采用方式1 1,

25、则根据公式可得定时器初值为:,则根据公式可得定时器初值为: TC=TC=2ms/1=63536=F830H2ms/1=63536=F830H 即:即:TH0TH0应装应装#0#0F8HF8H;TL0TL0应装应装#30#30H H。 32 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 例:例:设设8031时钟频率为时钟频率为12MHz,要求定时器要求定时器T0定时定时50ms,写写 出初始化程序。出初始化程序。 TC=M-T/T计数计数216-50ms/1us=15536=3CB0H START: MOV TMOD #01H ; 方式方式1 MOV TH0,#3CH ;装初值

26、装初值 MOV TL0,#0B0H SETB TR0 ; 启动启动T0计数计数 WAIT:JBC TF0,TT0 ;检测检测T0是否溢出是否溢出 SJMP WAIT ;未溢出,继续检测未溢出,继续检测 TTO: MOV TH0, #3CH ;重装初值重装初值 MOV TL0,#0B0H CPL P1.0 ;功能?功能? HERE: SJMP HERE 33 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 4-34-3 串行接口串行接口 一一. .串行通讯的基本方式串行通讯的基本方式 ( (一一).).异步通讯异步通讯 以字符为传送单位用起始位和停止位标识每个字符的开始和结束,以

27、字符为传送单位用起始位和停止位标识每个字符的开始和结束, 字符间隔不固定,只需字符传送时同步。字符间隔不固定,只需字符传送时同步。 异步通讯常用格式:一个字符帧异步通讯常用格式:一个字符帧 ( (二二).).同步通信同步通信 每一数据块开头时发送一个或两个同步字符,使发送与接收双方取每一数据块开头时发送一个或两个同步字符,使发送与接收双方取 得同步。数据块的各个字符间取消了起始位和停止位,所以通信速得同步。数据块的各个字符间取消了起始位和停止位,所以通信速 度得以提高。度得以提高。 34 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 二二. .串行接口功能串行接口功能 1.1

28、.发送器:并发送器:并串数据格式转换,添加标识位和校验位,一帧发送结束,串数据格式转换,添加标识位和校验位,一帧发送结束, 设置结束标志,申请中断。设置结束标志,申请中断。 2.2.接收器:串接收器:串并数据格式转换,检查错误,去掉标识位,保存有效数据,并数据格式转换,检查错误,去掉标识位,保存有效数据, 设置接收结束标志,申请中断。设置接收结束标志,申请中断。 3.3.控制器:接收编程命令和控制参数,设置工作方式:同步控制器:接收编程命令和控制参数,设置工作方式:同步/ /异步、异步、 字符格式、波特率、校验方式、数据位与同步时钟比例等。字符格式、波特率、校验方式、数据位与同步时钟比例等。

29、4.4.串行数据传送方向串行数据传送方向 单工通讯:数据单向传送。单工通讯:数据单向传送。 半双工通讯:数据可分时双向传送。半双工通讯:数据可分时双向传送。 全双工通讯:可同时进行发送和接收全双工通讯:可同时进行发送和接收 35 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 三、串行接口控制器三、串行接口控制器 1. 1.数据缓冲器数据缓冲器SBUFSBUF 发送发送SBUFSBUF和接收和接收SBUFSBUF共用一个地址共用一个地址9999H H。 1 1)发送发送SBUFSBUF存放待发送的存放待发送的8 8位数据,写入位数据,写入SBUFSBUF将同时启动发送。将同时启

30、动发送。 发送指令:发送指令:MOVMOV SBUF SBUF,A A 2 2)接收接收SBUFSBUF存放已接收成功的存放已接收成功的8 8位数据,供位数据,供CPUCPU读取。读取。 读取串行口接收数据指令:读取串行口接收数据指令: MOV AMOV A,SBUFSBUF 36 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 2.串行口控制串行口控制/状态寄存器状态寄存器 SCON SCONCON(98H) SM0 SM1 SM2 RENTB8RB8TIRI SM2:多机控制位,用于多机通讯。多机控制位,用于多机通讯。 REN:允许接收控制位,允许接收控制位,REN=1,允

31、许接收;允许接收;REN=0,禁止接收。禁止接收。 TB8:发送的第发送的第9位数据位,可用作校验位和地址位数据位,可用作校验位和地址/数据标识位数据标识位 RB8:接收的第接收的第9位数据位或停止位位数据位或停止位 T I:发送中断标志,发送一帧结束,发送中断标志,发送一帧结束,TI=1,必须软件清零必须软件清零 R I:接收中断标志,接收一帧结束,接收中断标志,接收一帧结束,RI=1,必须软件清零必须软件清零 SM0,SM1:选择串行口选择串行口4种工作方式种工作方式。 37 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 波特率: 每秒钟传送二进制数码的位数(每秒钟传送二

32、进制数码的位数(bit 数),单位是数),单位是bps(bit per second)。 若波特率为若波特率为1200bps,字符的实际传送速率为字符的实际传送速率为1200/10=120帧帧/秒。秒。 3.节电控制寄存器节电控制寄存器 PCONPP P PCPCPCONONCON SMOD SMOD(PCON.7):波特率加倍控制位。波特率加倍控制位。 SMOD=1,波特率加倍,波特率加倍, SMOD=0,则不加倍。则不加倍。 38 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 四、四、 串行接口的工作方式串行接口的工作方式 SM0,SM1选择四种工作方式。 (1)方式)方

33、式0:同步移位寄存器方式。同步移位寄存器方式。用于扩展并行用于扩展并行I/O接口。接口。 1.一帧一帧8位,无起始位和停止位。位,无起始位和停止位。 2.RXD:数据输入数据输入/输出端。输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。同步脉冲输出端,每个脉冲对应一个数据位。 3.波特率波特率B = fosc/12 如:如: fosc=12MHz,B=1MHz,每位数据占每位数据占1 s。 4.发送过程:发送过程:先对先对TI清零,写入清零,写入SBUF,启动发送,一帧发送结束,启动发送,一帧发送结束,TI=1。 接收过程:接收过程:REN=1且且RI=0,启动接收,一帧接收完毕,启

34、动接收,一帧接收完毕,RI=1 39 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 串行输入、并行输出移位寄存器内部结构串行输入、并行输出移位寄存器内部结构 40 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 (2) (2) 方式方式1 1 8 8位数据异步通讯方式。位数据异步通讯方式。 1.1.一帧一帧1010位:位:8 8位数据位,位数据位,1 1个起始位个起始位(0)(0),1 1个停止位个停止位(1)(1)。 2.2.RXDRXD:接收数据端。接收数据端。 TXDTXD:发送数据端。发送数据端。 3.3.波特率:波特率:用用T1作为波特率发生器,作为

35、波特率发生器,B=(2B=(2SMOD/32)/32)T1T1溢出率溢出率。 4.4.发送:发送:先对先对TITI清零,清零,写入写入SBUFSBUF,同时启动发送,一帧发送结束,同时启动发送,一帧发送结束,TI=1TI=1。 接收:接收:REN=1REN=1, RI=0 RI=0,允许接收。接收完一帧允许接收。接收完一帧,将接收数据装入将接收数据装入SBUFSBUF,并使并使RI=1RI=1。 接收原理:接收原理: 当当REN=1,CPU开始采样开始采样RXD引脚负跳变信号,若出现负跳变,才进入数据接收引脚负跳变信号,若出现负跳变,才进入数据接收 状态。即先检测起始位,若第一位为状态。即先检

36、测起始位,若第一位为0,继续接收其余位;否则,停止接收,重新,继续接收其余位;否则,停止接收,重新 采样负跳变。采样负跳变。 数据采样速率为波特率数据采样速率为波特率16倍频,在数据位中间,用第倍频,在数据位中间,用第7、8、9个脉冲采样个脉冲采样3次数据次数据 位,并位,并3中取中取2保留采样值。保留采样值。 41 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 (2) (2) 方式方式 8 8位数据异步通讯方式。位数据异步通讯方式。 写入写入 SBUF 采样采样 (a) 发送时序图发送时序图 TXD 数据输出数据输出 TI D0D1D2D3D4D5D6D7 停止位停止位 起

37、始位起始位 RXD 输入数据输入数据 (b) 接收时序图接收时序图 D0D1D2D3D4D5D6D7 停止位停止位 起始位起始位 RI 检测检测 负跳变负跳变 42 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 (3) (3) 方式方式2 2和方式和方式3 3 9 9位数据异步通讯方式。位数据异步通讯方式。 1 1. .一帧为一帧为1111位:位:9 9位数据位,位数据位,1 1个起始位个起始位(0)(0),1 1个停止位个停止位(1)(1)。第。第9 9位数据位在位数据位在 TB8/RB8 TB8/RB8中,常用作校验位和多机通讯标识位。中,常用作校验位和多机通讯标识位。

38、2 2. .RXDRXD:接收数据端,接收数据端,TXDTXD:发送数据端。发送数据端。 3 3. .波特率:波特率: 方式方式2 2:B=(2B=(2SMOD SMOD/64) /64)fosc fosc 。 方式方式3 3:B=(2B=(2SMOD SMOD/32) /32)T1T1溢出率溢出率 。 4 4. .发送:先装入发送:先装入TB8TB8,写入写入SBUFSBUF并启动发送,发送结束,并启动发送,发送结束,TI=1TI=1。 接收:接收:REN=1REN=1,允许接收。接收完一帧,若允许接收。接收完一帧,若RI=0RI=0,SM2=0SM2=0或或RB8=1,RB8=1,将接收数

39、据将接收数据 装入接收装入接收SBUFSBUF,第第9 9位装入位装入RB8RB8,使使RI=1RI=1; 否则丢弃接收数据,不置位否则丢弃接收数据,不置位RIRI。 43 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 (3) (3) 方式方式2 2和方式和方式3 3 9 9位数据异步通讯方式。位数据异步通讯方式。 发发 送送 时时 序序 写入写入 SBUF TXD输出输出 TI RXD输入输入 接接 收收 时时 序序 RI D0D1D2D3D4D5D6TB8停止停止 位位 起始位起始位 D7 D0D1D2D3D4D5D6RB8停止位停止位 起始位起始位 D7 检测检测 负跳

40、变负跳变 44 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 (4 4)计算波特率)计算波特率 方式方式0 0为固定波特率:为固定波特率:B=fosc/12B=fosc/12 方式方式2 2可选两种波特率:可选两种波特率: B=(2SMOD /64)B=(2SMOD /64)fosc fosc 方式方式1 1、3 3为可变波特率,用为可变波特率,用T1T1作波特率发生器。作波特率发生器。 B=(2SMOD/32)B=(2SMOD/32)T1T1溢出率溢出率 T1T1为方式为方式2 2的溢出时间:的溢出时间: t= (28 -X)T = (28 -X)t= (28 -X)T =

41、 (28 -X)12/ 12/ foscfosc T1T1溢出率溢出率=1/=1/t= t= foscfosc /12 /12(2n -X)(2n -X) 波特率波特率B=(2SMOD /32)B=(2SMOD /32)fosc/12fosc/12(28-X)(28-X) 串行口方式串行口方式1 1、3 3,根据波特率选择,根据波特率选择T1T1工作方式,计算时间常数。工作方式,计算时间常数。 T1T1选方式选方式2 2: TH1=X= 28-fosc/12TH1=X= 28-fosc/122SMOD/(322SMOD/(32B)B) T1T1选方式选方式1 1用于低波特率,需考虑用于低波特率

42、,需考虑T1T1重装时间常数时间。重装时间常数时间。 45 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 4-3-5 4-3-5 单片机双机通讯和多机通信单片机双机通讯和多机通信 1.1.双机通讯双机通讯 8031 应 用 系 统 ( A) TXD RXD GND 8031 应 用 系 统 (B) TXD RXD GND 电 缆 46 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 v串行口的应用串行口的应用 串行口初始化编程格式:串行口初始化编程格式: SIO:MOV SCON,#H ; 方式字,且方式字,且TI=RI=0 MOV PCON,#80H ;波特

43、率加倍波特率加倍 MOV TMOD,#20H ;T1作波特率发生器作波特率发生器,方式方式2 MOV TH1, #X ;选定波特率选定波特率 MOV TL1, #X SETB TR1 SETB EA ;开串行口中断开串行口中断 SETB ES 47 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 v发送程序:先发送一个字符,等待发送程序:先发送一个字符,等待TI=1TI=1后再发送下一个字符。后再发送下一个字符。 1.1.查询方式:查询方式: TRAM: MOV A,R0 ;取数据取数据 MOV SBUF,A ;发送一个字符发送一个字符 WAIT: JBC TI,NEXT ;等

44、待发送结束等待发送结束 SJMP WAIT NEXT: INC R0 ;准备下一次发送准备下一次发送 SJMP TRAM 2.2.中断方式:中断方式: ORG 0023H ;串行口中断入口串行口中断入口 AJMP SINT MAIN: ;初始化编程初始化编程 TRAM: MOV A,R0 ;取数据取数据 MOV SBUF,A ;发送第一个字符发送第一个字符 H: SJMP H ;其它工作其它工作 SINT: CLR TI ;中断服务程序中断服务程序 INC R0 MOV A,R0 ;取数据取数据 MOV SBUF,A ;发送下一个字符发送下一个字符 RETI 48 第四章第四章 单片机的其他片

45、内功能部件单片机的其他片内功能部件 v接收程序:接收程序:REN=1REN=1、RI=0RI=0等待接收,当等待接收,当RI=1RI=1,从从SBUFSBUF读取数据。读取数据。 1.1.查询方式:查询方式: WAIT: JBC RI,NEXT ;查询等待查询等待 SJMPWAIT NEXT: MOVA,SBUF ;读取接收数据读取接收数据 MOVR0,A ;保存数据保存数据 INC R0 ;准备下一次接收准备下一次接收 SJMPWAIT 2.2.中断方式:中断方式: ORG0023H AJMPRINT MAIN: ;初始化编程初始化编程 H: SJMPH ;其它任务其它任务 RINT: CL

46、RRI ;清中断标志清中断标志 MOVA,SBUF ;读取接收数据读取接收数据 MOVR0,A ;保存数据保存数据 INC R0 RETI 49 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 (一一)串行口串行口方式方式0 0 用于扩展单片机的并行用于扩展单片机的并行I/I/O接口接口 串行口实现:并行串行口实现:并行串行的数据转换串行的数据转换 74LS165/74LS16474LS165/74LS164实现:串行实现:串行并行的数据转换。并行的数据转换。 (二二)异步通讯程序举例异步通讯程序举例 1.1.发送程序:发送程序:将片内将片内RAM 50HRAM 50H起始单元

47、的起始单元的1616个数由串行口发送。个数由串行口发送。要求发送波特率为系统时钟的要求发送波特率为系统时钟的32分分 频,并进行奇偶校验。频,并进行奇偶校验。 MAINT: MOV SCON,#80H;串行口初始化,方式2 MOV PCON,#80H;波特率,SMOD=1 SETBEA SETBES ;开串行口中断 MOV R0,#50H ;设数据指针 MOV R7,#10H ;数据长度 LOOP: MOV A,R0 ;取一个字符 MOV C,P ;加奇偶校验 MOV TB8,C MOV SBUF,A ;启动一次发送 HERE:SJMPHERE;CPU执行其它任务 SM0 SM1 SM2 RE

48、NTB8RB8TIRI 50 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 ORG 0023H ;串行口中断入口 AJMP TRANI TRANI:PUSH A ;保护现场 PUSH PSW CLR TI ;清发送结束标志 DJNZ R7,NEXT ;是否发送完? CLR ES ;发送完,关闭串行口中断 SJMP TEND NEXT: INC R0 ;未发送完,修改指针 MOV A,R0 ;取下一个字符 MOV C,P ;加奇偶校验 MOV TB8,C MOV SBUF,A ;发送一个字符 POP PSW ;恢复现场 POP A TEND:RETI ;中断返回 51 第四章第

49、四章 单片机的其他片内功能部件单片机的其他片内功能部件 2. 接收程序:串行输入接收程序:串行输入16个字符,存入片内个字符,存入片内RAM的的50H起始单元,串行口波特率为起始单元,串行口波特率为 2400(设晶振为设晶振为11.0592MHz)。 RECS: MOV SCON,#50H ;串行口方式串行口方式1允许接收允许接收 MOV TMOD,#20H ;T1方式方式2定时定时 MOV TL1,#0F4H ;写入写入T1时间常数时间常数 MOV TH1,#0F4H SETB TR1 ;启动启动T1 MOV R0,#50H ;设数据指针设数据指针 MOV R7,#10H ;接收数据长度接收

50、数据长度 WAIT: JBC RI,NEXT ;等待串行口接收等待串行口接收 SJMP WAIT NEXT:MOV A,SBUF ;读取接收字符读取接收字符 MOV R0,A ;保存一个字符保存一个字符 INC R0 ;修改指针修改指针 DJNZ R7,WAIT ;全部字符接收完全部字符接收完? RET SM 0SM 1SM 2RENTB8RB8TIRI 52 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 3. 接收程序:串行输入接收程序:串行输入16个字符,进行奇偶校验。个字符,进行奇偶校验。 RECS: MOV SCON,#0D0H ;串行口方式3允许接收 MOV TMO

51、D,#20H ;T1方式2定时 MOV TL1, #0F4H ;写入T1时间常数 MOV TH1, #0F4H SETB TR1 ;启动T1 MOV R0, #50H ;设数据指针 MOV R7, #10H ;接收数据长度 WAIT: JBC RI,NEXT ;等待串行口接收 SJMP WAIT NEXT:MOV A,SBUF ;取一个接收字符 JNB P,COMP ;奇偶校验 JNB RB8,ERR ;PRB8,数据出错 SJMP RIGHT ;P=RB8,数据正确 COMP: JB RB8,ERR RIGHT: MOV R0,A ;保存一个字符 INC R0 ;修改指针 DJNZ R7,W

52、AIT ;全部字符接收完? CLR F0 ;F0 =0,接收数据全部正确 ERR: SETB F0 ;F0 =1,接收数据出错 RET 53 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 4-44-4 中断系统中断系统 中央处理器中央处理器CPUCPU正在处理某事件的时候,正在处理某事件的时候, 外部发生了更为紧急的事件,请求外部发生了更为紧急的事件,请求CPUCPU暂停暂停 当前的工作,转入处理所发生的事情,处当前的工作,转入处理所发生的事情,处 理完后,再回到被中断的地方,继续原来理完后,再回到被中断的地方,继续原来 的工作的工作, ,这样的过程称为中断。这样的过程称为中

53、断。 54 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 v中断技术的优点: 提高提高CPU的效率。的效率。 提高实时数据的处理时效。提高实时数据的处理时效。 被控对象的实时参数、越限数据和故障信息为计算机及时采集,被控对象的实时参数、越限数据和故障信息为计算机及时采集, 以便应急处理。以便应急处理。 故障处理故障处理 如掉电中断。如掉电中断。 v中断系统的功能: 中断优先权排队中断优先权排队 根据轻重缓急排队,优先处理最紧急事件的中断请求。根据轻重缓急排队,优先处理最紧急事件的中断请求。 实现中断嵌套实现中断嵌套 CPU处理中断时,发生另一个优先级更高的中断请求,处理中断时

54、,发生另一个优先级更高的中断请求,CPU转而转而 响应优先级更高的中断请求,处理完之后再回到原来中断服务程序。响应优先级更高的中断请求,处理完之后再回到原来中断服务程序。 自动响应中断自动响应中断 实现中断返回。实现中断返回。 55 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 2 2个外部中断源信号:个外部中断源信号:INT0INT0、INT1INT1 2 2个定时器个定时器T0T0、T1T1溢出中断请求:溢出中断请求:TF0TF0、TF1TF1 1 1个串行口数据发送、接收结束中断请求:个串行口数据发送、接收结束中断请求:TITI、RIRI 56 第四章第四章 单片机的其

55、他片内功能部件单片机的其他片内功能部件 三、中断控制寄存器三、中断控制寄存器 寄寄存存器器名名称称D7D6D5D4D3D2D1D0 TCON (88H) TF1TF0IE1IT1IE0IT0定定时时器器控控制制 寄寄存存器器 位位地地址址8 8F FH H8 8E EH H8 8D DH H8 8C CH H8 8B BH H8 8A AH H8 89 9H H8 88 8H H SCON (98H) TIRI串串行行口口控控制制 寄寄存存器器 位位地地址址9 9F FH H9 9E EH H9 9D DH H9 9C CH H9 9B BH H9 9A AH H9 99 9H H9 98 8

56、H H IE(A8H)EAESET1 EX1 ET0 EX0中中断断允允许许 寄寄存存器器位位地地址址A AF FH HA AC CH HA AB BH HA AA AH HA A9 9H HA A8 8H H IP(B8H)PSPT1 PX1 PT0 PX0中中断断优优先先级级 寄寄存存器器位位地地址址B BC CH HB BB BH HB BA AH HB B9 9H HB B8 8H H 57 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 四、中断控制寄存器中的各中断标志四、中断控制寄存器中的各中断标志 1.1.中断标志位中断标志位: TF1、TF0、IE1、IE0、R

57、I 、TI TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 SM0 SM1 SM2 REN TB8 RB8TIRI TCON SCON 登记各中断源请求信号:登记各中断源请求信号:=1,有中断请求;,有中断请求;=0,无中断请求。,无中断请求。 CPU响应中断后,各中断标志自动清零。响应中断后,各中断标志自动清零。 注意:注意:TI,RI标志必须软件清零。标志必须软件清零。 2.2.外部中断触发方式选择位:外部中断触发方式选择位:IT0IT0、IT1 IT1 =1 =1,负边沿触发中断请求;,负边沿触发中断请求;=0=0,低电平触发中断请求。,低电平触发中断请求。 58 第四章

58、第四章 单片机的其他片内功能部件单片机的其他片内功能部件 3.中断允许控制位:中断允许控制位:EA、ES、ET1、EX1、ET0、EX0 IE =1,开中断;,开中断;=0,关中断。,关中断。 例:例:允许允许CPU响应响应T0的中断请求的中断请求 MOV IE,#82H 或者或者 SETB ET0 SETB EA 4中断优先级控制位:中断优先级控制位:PS、PT1、PX1、PT0、PX0 IP 2级优先级:级优先级:=1,为高优先级;,为高优先级;=0,为低优先级。,为低优先级。 同一优先级别按内部查询顺序排列优先级:同一优先级别按内部查询顺序排列优先级: 高高 INT0、T0、INT1、T

59、1、SIO 低。低。 EA/ET2ESET1EX1ET0EX0 /PT2PSPT1PX1PT0PX0 五、中断控制寄存器中各控制位五、中断控制寄存器中各控制位 59 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 注意:注意: v一种中断一旦得到响应,与它同级的中断不能再中断它。一种中断一旦得到响应,与它同级的中断不能再中断它。 v低优先级中断可以被高优先级中断所中断,反之不能。低优先级中断可以被高优先级中断所中断,反之不能。 60 第四章第四章 单片机的其他片内功能部件单片机的其他片内功能部件 4.4.2 4.4.2 中断处理过程中断处理过程 1.中断响应中断响应 (一)中断响应条件 1.有中断源发出中断请求; 2.中断总允许位EA1,即CPU开中断; 3.相应的中断允许位为1,即没有屏蔽。 (二) 响应过程 1.阻断同级或低级中断; 2.PC指针内容压栈保护; 3.相应中断入口地址装入PC,程序转移到 该中断入口地址单元。 中断源中断源中断入口地址中断入口地

温馨提示

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

评论

0/150

提交评论