单片机原理及应用——C语言程序设计与实现 第2版 教学课件 ppt 作者 王长涛 韩忠华 夏兴华 第三章

上传人:E**** 文档编号:89355145 上传时间:2019-05-23 格式:PPT 页数:29 大小:518.50KB
返回 下载 相关 举报
单片机原理及应用——C语言程序设计与实现 第2版  教学课件 ppt 作者  王长涛 韩忠华 夏兴华 第三章_第1页
第1页 / 共29页
单片机原理及应用——C语言程序设计与实现 第2版  教学课件 ppt 作者  王长涛 韩忠华 夏兴华 第三章_第2页
第2页 / 共29页
单片机原理及应用——C语言程序设计与实现 第2版  教学课件 ppt 作者  王长涛 韩忠华 夏兴华 第三章_第3页
第3页 / 共29页
单片机原理及应用——C语言程序设计与实现 第2版  教学课件 ppt 作者  王长涛 韩忠华 夏兴华 第三章_第4页
第4页 / 共29页
单片机原理及应用——C语言程序设计与实现 第2版  教学课件 ppt 作者  王长涛 韩忠华 夏兴华 第三章_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《单片机原理及应用——C语言程序设计与实现 第2版 教学课件 ppt 作者 王长涛 韩忠华 夏兴华 第三章》由会员分享,可在线阅读,更多相关《单片机原理及应用——C语言程序设计与实现 第2版 教学课件 ppt 作者 王长涛 韩忠华 夏兴华 第三章(29页珍藏版)》请在金锄头文库上搜索。

1、第3章51单片机的硬件资源,3.1 51单片机并行I/O口,3.2 51单片机中断系统,3.3 51单片机定时器/计数器,3.4 51单片机串行通信,第1章和第2章对51单片机的系统结构和指令系统进行了总体介绍,详细讲述了单片机内部包含的主要部件,如CPU、控制器、特殊功能寄存器及内部存储空间的分配等,这些部件必须在程序的控制下才能发挥作用。本章将对前面尚未详细介绍的51单片机的硬件资源进行详尽的讨论,包括并行I/O口、中断系统、定时器/计数器、串行口等。,第3章51单片机的硬件资源,3.1 51单片机指令格式,3.1.1 I/O口的作用,(1)实现和不同外设的速度匹配 (2)改变数据传送方式

2、 (3)改变信号的性质和电平,输入/输出(I/O)接口是CPU和外设间信息交换的桥梁,它可以是一块单独的大规模集成电路,也可以同CPU一起集成在一块芯片上。I/O接口分为并行接口和串行接口两种,本节介绍并行I/O口,串行接口将在3.4节中详细介绍。,3.1.2 内部并行I/O口,51单片机内部提供了4个并行I/O口,分别为P0、P1P2和P3口,其中,P0口为三态双向端口,负载能力为8个LS型TTL门电路;P1P3为准双向端口,用做输入时,端口锁存器必须先写“1”,负载能力为4个LS型TTL门电路。,3.1.3 内部并行I/O口的应用,51单片机内部4个并行I/O口共有3种操作方式,即输出数据

3、方式、读端口数据方式和读端口引脚方式。 在数据输出方式下,CPU通过一条数据操作指令就可以将输出数据写入P0P3的端口锁存器,然后通过输出驱动器送到端口引脚。因此,凡是端口操作指令都能达到从端口引脚上输出数据的目的。例如,下面的指令均可以在P0口输出数据: MOV P0,A;累加器A中的内容送入P0中 ANL P0,A;P0口的内容和累加器中的内容进行逻辑与操作后送入P0口 读端口数据方式是一种仅对端口锁存器中的数据进行读入的操作方式,CPU读入的这个数据并非端口引脚的数据。因此,CPU只要一条传送指令就可以将端口锁存器中的数据读入累加器A或内部RAM中。例如,下面的指令可以从P1口输入数据:

4、 MOV A,P1;P1锁存器中的数据送入累加器A中 MOV 20H,P1;P1锁存器中的数据送入内部RAM的20H单元中 读端口引脚方式可以从端口引脚上读入信息。在这种方式下,CPU首先必须使预读端口引脚所对应的锁存器设置“1”,以便驱动器中的T2管截止,然后打开输入三态缓冲器,使相应端口引脚上的信号输入CPU内部数据总线。因此,用户在读引脚时必须连续使用两条指令。例如,读P1口第4位引脚上的信号的程序如下: MOV P1,#0FH;使P1口低四位锁存器置“1” MOV A,P1;读P1口第4位引脚信号 应当指出,51单片机内部4个I/O口既可以字节寻址,也可以位寻址,每一位既可以用做输入,

5、也可以用做输出。,3.2 51单片机中断系统,3.2.1 中断的定义,中断是指计算机暂停原程序的执行转而为外部设备服务(即执行中断服务程序),并在服务完成后自动返回原程序继续执行的过程。中断由中断源产生,中断源在需要时可以向CPU提出“中断请求”,中断请求通常是一种电信号,CPU一旦对这个信号进行检测和响应,便自动转入该中断源的终端服务程序执行,并在执行完后自动返回原程序继续执行。中断又可以定义为CPU自动执行终端服务程序并返回原程序继续执行的过程。 引入中断的概念可以提高单片机的工作效率和处理数据的实时性。 (1)提高CPU的工作效率 CPU有了中断功能可以通过分时操作启动多个外设同时工作,

6、并能对它们进行统一管理。CPU执行人们在主程序中安排的有关指令可以使各种外设并行工作,而且任何一个外设在工作完成后都可以通过中断得到满意服务,因此,CPU在与外设交换信息时通过中断就可以避免不必要的等待和查询,从而大大提高了工作效率。 (2)提高处理数据的实时性 在实时控制系统中,被控系统的实时参数、溢出数据和故障信息都必须为计算机及时采集、处理和分析,以便对系统实施正确调节和控制。因此,计算机对实时数据的处理时效常常是被控系统的关键,是影响产品质量和系统安全的关键。CPU有了中断功能,系统的故障信息都可以通过中断立即传递给CPU,使其可以迅速采集实时数据和故障信息,并作出相应的响应。,3.2

7、.2 中断源,中断源是指引起中断原因的设备或部件,或者发出中断请求信号的源,不同型号的单片机系统的中断源数量也不同,51单片机提供了5个中断源,均有两级优先级,通过4个中断控制器(即IE、IP、TCON和SCON)进行中断管理,其结构如图3-5所示。,具体地,51单片机中断系统如图3-5所示,其中包括5个中断源。 :来自P3.2引脚上的外部中断请求(外中断0)。 :来自P3.3引脚上的外部中断请求(外中断1)。 T0:片内定时器/计数器0溢出(TF0)中断请求。 T1:片内定时器/计数器1溢出(TF1)中断请求。 串行口:片内串行口完成一帧发送或接收中断请求源TI或RI。 每一个中断源都对应一

8、个中断请求标志位,它们设置在特殊功能寄存器TCON和SCON中。当这些中断源请求中断时,分别由TCON和SCON中的相应位来锁存。,3.2.3 中断控制,51单片机设置了4个专用寄存器,用于中断控制,用户通过设置其状态来管理中断系统。,2串行口控制寄存器(SCON) 3中断允许控制寄存器(IE) 4中断优先级控制寄存器(IP),1定时器控制寄存器(TCON),3.2.4 中断优先级结构,51单片机中断系统具有两级优先级(由IP寄存器把各个中断源的优先级分为高优先级和低优先级),它们遵循下列两条基本规则。 (1)低优先级中断源可被高优先级中断源所中断,而高优先级中断源不能被任何中断源所中断; (

9、2)一种中断源(不管是高优先级或低优先级)一旦得到响应,与它同级的中断源不能再中断它。 为了实现上述两条规则,中断系统内部包含两个不可寻址的优先级状态触发器。其中一个用来指示某个高优先级的中断源正在得到服务,并阻止所有其他中断的响应;另一个触发器则指出某低优先级的中断源正得到服务,所有同级的中断都被阻止,但不阻止高优先级中断源。,3.2.5 中断响应,硬件调用中断服务程序时,把程序计数器PC的内容压入堆栈(但不能自动保存程序状态字PSW的内容),同时把被响应的中断服务程序的入口地址装入PC中。51单片机的5个中断源服务程序的入口地址如表3-2所示。,3.2.6 中断响应时间,外部中断 和 的电

10、平在每个机器周期的S5P2时被采样并锁存到IE0和IE1中,这个置入到IE0和IE1的状态在下一个机器周期才被查询电路查询,如果产生了一个中断请求,而且满足响应的条件,CPU响应中断,由硬件生成一条长调用指令转到相应的服务程序入口。这条指令是双机器周期指令。因此,从中断请求有效到执行中断服务程序的第1条指令的时间间隔至少需要3个完整的机器周期。 如果中断请求被前面所述的3个条件之一所封锁,将需要更长的响应时间。若一个同级的或高优先级的中断已经在进行,则延长的等待时间显然取决于正在处理的中断服务程序的长度,如果正在执行的一条指令还没有进行到最后一个周期,则所延长的等待时间不会超过3个机器周期,这

11、是因为51指令系统中最长的指令(MUL和DIV)也只有4个机器周期;假若正在执行的是RETI指令或者是访问IE或IP指令,则延长的等待时间不会超过5个机器周期(为完成正在执行的指令还需要1个周期,加上为完成下一条指令所需要的最长时间,即4个机器周期,如MUL和DIV指令)。 因此,在系统中只有一个中断源的情况下,响应时间总是在38个机器周期。,3.3 51单片机定时器/计数器,3.3.1 定时器/计数器的结构及工作原理,3.3.2 控制定时器/计数器的寄存器,1定时器的方式寄存器TMOD 特殊功能寄存器TMOD为定时器的方式控制寄存器,寄存器中每位的定义如图3-9所示。TMOD的地址为89H,

12、高4位用于定时器1;低4位用于定时器0,其中,M1、M0用来确定所选的工作方式。,2定时器控制寄存器TCON 特殊功能寄存器TCON用于控制定时器的操作以及对定时器中断的控制,包括对定时器的启动、停止以及溢出时设定标志位和外部中断触发方式等。其地址为88H,位地址为88H8FH,控制字各位的定义如图3-10所示。其中,D0D3位与外部中断有关,已在中断系统一节中介绍。,3.3.3 定时器/计数器的初始化,初始化步骤如下: (1)根据题目要求先给定时器方式寄存器TMOD选送一个方式控制字,以设定定时器/计数器的相应工作方式。 (2)根据实际需要给定时器/计数器选送定时器初值或计数器初值,以确定需

13、要定时的时间和需要记数的初值。 (3)根据需要给中断允许寄存器IE选送中断控制字和给中断优先级寄存器IP选送中断优先级字,以开放相应中断和设定中断优先级。 (4)给定时器控制寄存器TCON选送命令字,以启动或禁止定时器/计数器的运行。一般使用指令“SETB Tri”来启动定时器/计数器。,3.3.4 定时器/计数器的工作方式,1单片机的定时器/计数器共有4种工作模式,即方式0、方式1、方式2和方式3。定时器T0和定时器T1的工作原理基本相同。各种方式的选择是通过TMOD的M1、M0两位进行编码来实现的。,1方式0 (1)逻辑电路图 当TMOD中的M1M0 = 00H时,定时器/计数器就以方式0

14、进行工作。图3-11所示是方式0的逻辑电路图。方式0是13位计数器结构的工作方式,其计数器由TH0的全部8位和TL0的低5位构成,TL0的高3位不用。,2方式1 当TMOD中的M1M0 = 01H时,定时器/计数器以方式1进行工作。方式1是16位计数结构的工作方式,计数器由TH0全部的8位和TL0全部的8位构成,其逻辑电路和工作方式与方式0相同,唯一区别的是方式1的计数器长度为16位。图3-12给出了定时器/计数器以方式1工作的逻辑电路图。,3方式2 方式2中将16位的计数器拆成了2个8位计数器,低8位TL用做计数器;高8位TH用做预置计数器,初始化时将计数初值分别装入TL和TH中。当计数溢出

15、时,由预置计数器自动给计数器TL重新装入初值。方式2的逻辑电路图如图3-13所示。,4方式3 方式3是为了增加一个附加的8位定时器/计数器而提供的,使得51单片机具有3个定时器/计数器。方式3只适用于定时器/计数器T0,定时器/计数器T1处于方式3时,相当于TR1=0,停止计数。与前三种工作方式不同,定时器/计数器在方式3下工作对T1和T0的设置和使用是不同的,现分别介绍。,3.4 51单片机串行通信,3.4.1 串行通信,串行通信是一种能将二进制数据按位传送的通信,它所需要的传输线极少,特别适用于分级、分层和分布式控制系统以及远程通信。 按照串行数据的同步方式,串行通信可以分为同步通信和异步

16、通信两类。同步通信是按照软件识别同步字符来实现数据的发送与接收,异步通信是一种利用字符的再同步计数的通信方式。,3.4.2 51单片机串行接口,3.4.3 51单片机串行通信的工作方式,1方式0 串行口的工作方式0为移位寄存器输入/输出方式,可外接移位寄存器,以扩展I/O口,也可外接同步输入/输出设备。,2方式1 串行口工作于方式1时,被控制为波特率可变的8位异步通信接口。传送一帧信息为10位,即1位起始位(0),8位数据位(低位在先)和1位停止位(1)。数据位由TXD发送,由RXD接收。波特率是可变的,取决于定时器1或2的溢出速率。,3方式2和方式3 串行口工作于方式2和方式3时,被自定义为9位的异步通信接口,发送(通过TXD)和接收(通过RXD)一帧信息都是11位,即1位起始位(0)、8位数据位(低位在先)、1位可编程位(即第9位数据)和1位停止位(1)。方式2和方式3的工作原理相似,唯一的差别是方式2的波特率是固定的。为fosc/32或fosc/64;方式3的波特率是可变的,利用定时器1或定时器2作为波特率发生器。,4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号