第1章MCS-51单片机._第1页
第1章MCS-51单片机._第2页
第1章MCS-51单片机._第3页
第1章MCS-51单片机._第4页
第1章MCS-51单片机._第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

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

文档简介

1、河北科技大学河北科技大学机电一体化教研室机电一体化教研室吴书迎吴书迎2第一章第一章 MCS51单片机的硬件结构与工作原理单片机的硬件结构与工作原理 l微型计算机主要由运算器、控制器、存储器和输入输出电路这四微型计算机主要由运算器、控制器、存储器和输入输出电路这四部分组成,其中运算器与控制器集成于部分组成,其中运算器与控制器集成于CPUCPU中。中。l80318031单片机除单片机除有有CPUCPU、存储器和输入输出电路外,还包括定时器、存储器和输入输出电路外,还包括定时器/ /计数器、中断控制和时钟振荡电路计数器、中断控制和时钟振荡电路等。等。l将这些部件集成在一块芯片上,通过内部总线连接构成

2、完整的单将这些部件集成在一块芯片上,通过内部总线连接构成完整的单片微型计算机,简称单片机。片微型计算机,简称单片机。3第一章第一章 MCS51单片机的硬件结构与工作原理单片机的硬件结构与工作原理80318031内部结构原理示意图内部结构原理示意图4第一章第一章 MCS51单片机的硬件结构与工作原理单片机的硬件结构与工作原理1.1 MCS51存储器配置存储器配置l微型计算机必须配置一定数量的存储器,但不同的微型计算机存微型计算机必须配置一定数量的存储器,但不同的微型计算机存储器的配置不同。储器的配置不同。l一种是程序与数据共用一个存储器,一般的通用计算机都采用此一种是程序与数据共用一个存储器,一

3、般的通用计算机都采用此种形式。种形式。l另一种是将程序与数据分别放在两个存储器内,一个称另一种是将程序与数据分别放在两个存储器内,一个称程序存储程序存储器器,另一个称,另一个称数据存储器数据存储器,MCSMCS5151单片机属于此类。单片机属于此类。5第一章第一章 MCS51单片机的硬件结构与工作原理单片机的硬件结构与工作原理1.1 MCS51存储器配置存储器配置 MCSMCS5151片内集成有一定容量的片内集成有一定容量的程序存储器程序存储器(8031/80C31/8032(8031/80C31/8032除外除外) )和和数据存储器数据存储器,并具有较大的外部存储器扩展能力。,并具有较大的外

4、部存储器扩展能力。lMCSMCS5151有有4 4个存储器空间:个存储器空间: 1.1.片内程序存储器片内程序存储器 2.2.片外程序存储器片外程序存储器 3.3.片内数据存储器片内数据存储器 4.4.片外数据存储器片外数据存储器l从用户角度(逻辑上),从用户角度(逻辑上),MCSMCS5151分为分为3 3个存储器空间:个存储器空间:1)1)、片内、外统一编址的、片内、外统一编址的64KB64KB程序存储器地址空间;程序存储器地址空间;2)2)、256B256B内部数据存储器和特殊功能寄存器地址空间;内部数据存储器和特殊功能寄存器地址空间;3)3)、64KB64KB外部数据存储器地址空间。外

5、部数据存储器地址空间。6第一章第一章 MCS51单片机的硬件结构与工作原理单片机的硬件结构与工作原理1.1 MCS51存储器配置存储器配置l 71.1 MCS51存储器配置存储器配置 1.1.1 内部数据存储器内部数据存储器l数据存储器在物理上和逻辑上分为二个地址空间:数据存储器在物理上和逻辑上分为二个地址空间: 一个一个内部数据存储器内部数据存储器和一个和一个外部数据存储器外部数据存储器l访问内部数据存储器,用访问内部数据存储器,用MOVMOV指令;指令;l访问外部数据存储器,用访问外部数据存储器,用MOVXMOVX指令;指令;l80318031单片机内部数据存储器,由单片机内部数据存储器,

6、由128B128B的内部数据存储器的内部数据存储器和和128B128B的特的特殊功能寄存器殊功能寄存器组成,在特殊功能寄存器寻址空间中,离散地分布着组成,在特殊功能寄存器寻址空间中,离散地分布着1919个特殊功能寄存器个特殊功能寄存器。81.1 MCS51存储器配置存储器配置 1.1.1 内部数据存储器内部数据存储器 内部数据存储器内部数据存储器 00H00H7FH7FH 内部数据存储器共有内部数据存储器共有128128个字节,个字节, 根据作用不同分为三个区。根据作用不同分为三个区。l寄存器区寄存器区00H00H1FH1FH(32(32个单元个单元) );l位寻址区位寻址区20H20H2FH

7、2FH(16(16个单元个单元) );l通用通用RAMRAM区区30H30H7FH7FH (80个单元)个单元) 。91.1 MCS51存储器配置存储器配置 1.1.1 内部数据存储器内部数据存储器 1 1、寄存器区、寄存器区 00H00H1FH(1FH(共共3232个单元个单元) )l有有4 4个寄存器组,每组个寄存器组,每组8 8个寄存器,均表示为个寄存器,均表示为 R0R0R7R7。l由于每个寄存器组的由于每个寄存器组的8 8个寄存器都标记为个寄存器都标记为 R0R0R7R7,因此每次只能,因此每次只能选择一个工作寄存器组。选择一个工作寄存器组。l通过状态寄存器通过状态寄存器 PSW P

8、SW 的第的第3 3、4 4位(即位(即RS1RS1、RS0RS0)选择工作寄存器)选择工作寄存器组,如表组,如表4 41 1 。l由于由于MCSMCS5151单片机对寄存器操作最灵活且响应速度最快,一般情单片机对寄存器操作最灵活且响应速度最快,一般情况下,总是首先选择使用寄存器,因此有效地设置况下,总是首先选择使用寄存器,因此有效地设置4 4个工作寄存器个工作寄存器组,可以提高现场保护能力和组,可以提高现场保护能力和 CPU CPU 实时响应的速度。实时响应的速度。 111.1 MCS51存储器配置存储器配置 1.1.1 内部数据存储器内部数据存储器 121.1 MCS51存储器配置存储器配

9、置 1.1.1 内部数据存储器内部数据存储器2 2、位寻址区、位寻址区 20H20H2FH(162FH(16个单元个单元) )l既可以按位直接寻址,进行位操作;又可按字节寻址,作为一般既可以按位直接寻址,进行位操作;又可按字节寻址,作为一般工作单元使用;工作单元使用;l这这1616个字节,每字节个字节,每字节8 8位,共有位,共有l6l6* *8=1288=128位。占用地址为位。占用地址为00H00H7FH7FH(位地址),如表(位地址),如表4 42 2所示;所示;l应用这些位单元,可以方便地进行各种布尔逻辑操作。应用这些位单元,可以方便地进行各种布尔逻辑操作。 131.1 MCS51存储

10、器配置存储器配置 1.1.1 内部数据存储器内部数据存储器 141.1 MCS51存储器配置存储器配置 1.1.1 内部数据存储器内部数据存储器3 3、通用、通用RAMRAM区区 30H30H7FH7FHl内部内部RAMRAM中的中的30H30H7FH7FH构成通用构成通用RAMRAM区,可用于存放运算过成中的区,可用于存放运算过成中的中间数据,也可作为堆栈存储区域。中间数据,也可作为堆栈存储区域。151.1 MCS51存储器配置存储器配置 1.1.2 特殊功能寄存器特殊功能寄存器l80318031单片机共有单片机共有1919个(个(2121个字节)特殊功能寄存器个字节)特殊功能寄存器SFR

11、SFR ,用来设,用来设置片内电路的运行方式,记录电路运行状态,并表示有关标志等。置片内电路的运行方式,记录电路运行状态,并表示有关标志等。l并行和串行端口映射在并行和串行端口映射在SFRSFR寄存器,对这些寄存器的读写,可实现寄存器,对这些寄存器的读写,可实现对相应对相应I/OI/O端口的输入和输出操作。端口的输入和输出操作。l2121个字节的特殊功能寄存器中,离散分布在个字节的特殊功能寄存器中,离散分布在128128字节的字节的SFRSFR(80H80HFFHFFH)存储空间中。)存储空间中。l有些有些SFRSFR具有位地址,在具有位地址,在SFRSFR(80H80HFFHFFH)存储空间

12、包含有)存储空间包含有128128个位个位地址空间,其地址也是地址空间,其地址也是80H80HFFHFFH,但仅有,但仅有8383个有效地址,可对个有效地址,可对1111个个SFRSFR进行位寻址操作。进行位寻址操作。 171.1 MCS51存储器配置存储器配置 1.1.2 特殊功能寄存器特殊功能寄存器lMCSMCS5151系列有系列有1919个特殊功能寄存器。个特殊功能寄存器。lA A 累加器累加器lB B 寄存器寄存器lPSW PSW 程序状态字程序状态字lSP SP 堆栈指针堆栈指针lPC PC 程序计数器程序计数器lDPTR DPTR 数据指针数据指针lP0P0P3 I/OP3 I/O

13、端口寄存器端口寄存器 lSBUF SBUF 串行数据缓冲器串行数据缓冲器lTH0TH0、TL0TL0、TH1TH1、TL1 TL1 定时器定时器/ /计数器计数器lIPIP、IEIE、TMODTMOD、TCONTCON、SCONSCON、PCON PCON 控制寄存器控制寄存器 181.1 MCS51存储器配置存储器配置 1.1.2 特殊功能寄存器特殊功能寄存器191.1 MCS51存储器配置存储器配置 1.1.2 特殊功能寄存器特殊功能寄存器201.1 MCS51存储器配置存储器配置 1.1.2 特殊功能寄存器特殊功能寄存器211.1 MCS51存储器配置存储器配置 1.1.3 程序存储器程

14、序存储器1 1、内部程序存储器、内部程序存储器l80518051有有4KB4KB的的ROMROM程序存储器;程序存储器;l87518751有有4KB4KB的的EPROMEPROM程序存储器;程序存储器;l80318031没有内部程序存储器,必须外接程序存储器。没有内部程序存储器,必须外接程序存储器。2 2、外部程序存储器、外部程序存储器lMCSMCS5l5l单片机有单片机有1616根地址线和根地址线和1616位的程序计数器位的程序计数器PCPC,因此可以寻,因此可以寻址(扩展至)址(扩展至)64KB64KB的程序存储器。的程序存储器。3 3、程序存储器的作用、程序存储器的作用l存放(固化)用户

15、程序和常数表格,可通过存放(固化)用户程序和常数表格,可通过MOVCMOVC指令访问。指令访问。l程序存储器通常选用程序存储器通常选用EPROMEPROM或或E E2 2PROMPROM芯片来固化程序。芯片来固化程序。221.1 MCS51存储器配置存储器配置 1.1.3 程序存储器程序存储器l 231.1 MCS51存储器配置存储器配置 1.1.3 程序存储器程序存储器 4 4、程序存储器中特定程序的入口地址、程序存储器中特定程序的入口地址程序存储器中某些地址被固定用于特定程序的入口地址:程序存储器中某些地址被固定用于特定程序的入口地址: 地址地址 用途用途241.1 MCS51存储器配置存

16、储器配置 1.1.4 外部数据存储器外部数据存储器l外部数据存储器(外部数据外部数据存储器(外部数据RAMRAM),可通过总线端口扩展外部数据),可通过总线端口扩展外部数据RAMRAM,最大可扩至,最大可扩至64K64K字节。字节。l外部外部RAMRAM和内部和内部RAMRAM的功能基本相同,外部的功能基本相同,外部RAMRAM不能进行堆栈操作。不能进行堆栈操作。l访问内部数据访问内部数据RAMRAM,用,用MOVMOV指令;访问外部数据指令;访问外部数据RAMRAM,用,用MOVXMOVX指令。指令。251.1 MCS51存储器配置存储器配置 1.1.4 外部数据存储器外部数据存储器l 26

17、1.1 MCS51存储器配置存储器配置 1.1.5 存储器的特点和数据操作存储器的特点和数据操作27第一章第一章 MCS51单片机的硬件结构与工作原理单片机的硬件结构与工作原理1.2 定时器定时器/计数器计数器28第一章第一章 MCS51单片机的硬件结构与工作原理单片机的硬件结构与工作原理1.2 定时器定时器/计数器计数器l设置为定时工作方式时,定时器对设置为定时工作方式时,定时器对80318031机器周期信号计数。即每机器周期信号计数。即每个机器周期使定时器的数值加个机器周期使定时器的数值加1 1直至计满溢出。直至计满溢出。l设置为计数工作方式时,通过引脚设置为计数工作方式时,通过引脚T0(

18、P3.4)T0(P3.4)和和T1(P3.5)T1(P3.5)对外部脉对外部脉冲信号计数。冲信号计数。l定时器计数器有四种工作方式。定时器计数器有四种工作方式。291.2.1 控制寄存器控制寄存器 1 1、工作方式寄存器、工作方式寄存器TMOD(89H)TMOD(89H)TMODTMOD用于控制用于控制T0T0和和T1T1的工作方式,其各位的定义如下:的工作方式,其各位的定义如下:301.2.1 控制寄存器控制寄存器 1 1、工作方式寄存器、工作方式寄存器TMOD(89H)TMOD(89H)M1M1和和M0M0:操作方式控制位:操作方式控制位311.2.1 控制寄存器控制寄存器 2 2、控制寄

19、存器、控制寄存器 TCON(88H)TCON(88H) 控制定时器启动停止及状态的标志,控制寄存器控制定时器启动停止及状态的标志,控制寄存器TCONTCON除可字节寻址除可字节寻址外,各位还可位寻址:外,各位还可位寻址:321.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式l定时器定时器/ /计数器有计数器有4 4种工作方式;由软件对种工作方式;由软件对TMODTMOD中中T/T/C C位设置,来选位设置,来选择定时或计数功能。择定时或计数功能。l由由MlMl和和M0M0位的设置工作方式:即方式位的设置工作方式:即方式0 0、方式、方式1 1、方式、方式2 2和方式和

20、方式3 3。l对于方式对于方式0 0、1 1、2 2,T0T0与与T1T1的工作模式相同;对于方式的工作模式相同;对于方式3 3只有只有T0T0才才能设置。能设置。331.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式1 1、方式、方式0 130 13位计数方式位计数方式 是将定时器是将定时器(T0(T0或或T1)T1)高高8 8位和低位和低5 5位组成一个位组成一个1313位的计数器,其逻辑位的计数器,其逻辑电路结构如图所示。电路结构如图所示。341.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式l用于定时工作方式时用于定时工作方式时 定时

21、时间为:定时时间为:t t(2(21313-T0-T0初值初值) )机器周期机器周期l用于计数工作方式时用于计数工作方式时 计数长度为:计数长度为:2 213138192(8192(个外部脉冲个外部脉冲) )。l当当TL0TL0的低的低5 5位溢出时,向位溢出时,向TH0TH0进位,而进位,而TH0TH0溢出时向中断标志位溢出时向中断标志位TF0TF0进位进位( (硬件置位硬件置位TF0)TF0),并申请中断。,并申请中断。351.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式lGATE=0GATE=0时,或门时,或门A A点电位为点电位为 “ “1”1”,引脚,引脚

22、INT0INT0输入无效。与门输入无效。与门B B点电点电位取决于位取决于TR0TR0状态,即由状态,即由TR0TR0控制控制T0T0开启或关断开启或关断。若软件使若软件使TR0=1TR0=1,启动,启动T0T0加加1 1计数,直至溢出。计数,直至溢出。计数器计满溢出时,计数器计满溢出时,1313位寄存器清位寄存器清0 0,TF0TF0置位,并申请中断。置位,并申请中断。若软件使若软件使TR0=0TR0=0,停止计数。,停止计数。361.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式l当当GATE=lGATE=l时,时,A A点电位取决于点电位取决于INT0INT0(

23、P3.4)(P3.4)引脚的输入电平。引脚的输入电平。INT0INT0为为高电平且高电平且TR0=1TR0=1时,时,B B点才是高电平,点才是高电平,T0T0开始计数。开始计数。当当INT0INT0由由1 1变变0 0时,时,T0T0停止计数。这一特性可以用来测量在停止计数。这一特性可以用来测量在INT0INT0端端出现的正脉冲的宽度。出现的正脉冲的宽度。371.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式 例:利用定时器计数器每隔例:利用定时器计数器每隔1ms1ms控制产生宽度为二个机器周期的控制产生宽度为二个机器周期的负脉冲,由负脉冲,由P1.0P1.0送出。

24、送出。 设时钟频率为设时钟频率为12MHz12MHz,机器周期为,机器周期为1s1s,采用中断工作方式。,采用中断工作方式。l首先求定时器初值,首先求定时器初值,t t(2(21313-T0-T0初值初值) ) 机器周期机器周期, ,设定时器初值设定时器初值为为X X,则定时,则定时1ms1ms时,应有时,应有 1 11010-3 -3 (2(21313-X)-X)1010-6-6,可求得,可求得X X7192719211100000 11000B11100000 11000B,其中高,其中高8 8位位E0HE0H赋给赋给TH0TH0,低,低5 5值值18H18H赋给赋给TL0TL0。l由于系

25、统复位后,由于系统复位后,TMODTMOD被清被清0 0,正好处于定时器方式,正好处于定时器方式0 0状态,且状态,且GATEGATE0 0,也可不设置,也可不设置TMODTMOD。381.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式 程序如下:程序如下: ORG 0000HORG 0000H AJMP MAIN AJMP MAIN391.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式2 2、方式、方式1 1 16 16位计数方式位计数方式 T0T0与与T1T1的相同,寄存器的相同,寄存器TH0TH0和和TL0TL0组成组成1616位计数器

26、,位计数器,其逻辑电路结构如图所示。其逻辑电路结构如图所示。401.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式l用于定时工作方式时用于定时工作方式时 定时时间为:定时时间为:t t(2(21616-T0-T0初值初值) )机器周期机器周期l用于计数工作方式时用于计数工作方式时 计数长度为计数长度为2 2161665536(65536(个外部脉冲个外部脉冲) )。l方式方式1 1与方式与方式0 0基本相同,只是方式基本相同,只是方式1 1改用了改用了1616位计数器。位计数器。411.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式 3 3、

27、方式、方式2 2 8 8位自动重装时间常数方式。位自动重装时间常数方式。 方式方式2 2把把TL0(TL1)TL0(TL1)配置成一个可以自动重装载的配置成一个可以自动重装载的8 8位定时计数器,位定时计数器,TH0(TH1)TH0(TH1)仅用来存放时间常数。仅用来存放时间常数。421.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式lTL0TL0计算溢出时,不仅使溢出中断标志位计算溢出时,不仅使溢出中断标志位TF0TF0置置l l,而且还自动把,而且还自动把TH0TH0中的内容重装载到中的内容重装载到TL0TL0中。中。l在程序初始化时,在程序初始化时,TL0TL0

28、和和TH0TH0由软件赋于相同的初值。由软件赋于相同的初值。l用于定时器工作方式时,其定时时间用于定时器工作方式时,其定时时间(TF0(TF0溢出周期溢出周期) )为:为: t = (2t = (28 8-TH0-TH0初值初值) )机器周期机器周期l用于计数器工作方式时,最大计数值用于计数器工作方式时,最大计数值(TH0(TH0初值为初值为0)0)为:为: 2 28 8 = = 256(256(个外部脉冲个外部脉冲) )。431.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式4 4、工作方式、工作方式3 3 2 2个个8 8位方式,工作方式位方式,工作方式3 3只适

29、用于定时器只适用于定时器T0T0。l若将若将T0T0设置为方式设置为方式3 3,TH0TH0和和TL0TL0被分成为两个互相独立的被分成为两个互相独立的8 8位计数位计数器。器。441.2 定时器定时器/计数器计数器 1.2.2 定时器工作方式定时器工作方式lTL0TL0既可用作定时器,又可用作计数器,并使用原既可用作定时器,又可用作计数器,并使用原T0T0的所有控制位的所有控制位及其定时器回零标志和中断源。即及其定时器回零标志和中断源。即C/C/T T、GATEGATE、TR0TR0、TF0TF0和和T0(P3.4)T0(P3.4)引脚、引脚、INT0INT0(P3.2)(P3.2)引脚。引

30、脚。lTH0TH0只有简单的内部定时功能,它使用定时器只有简单的内部定时功能,它使用定时器T1T1的控制位的控制位TR1TR1、中、中断标志位断标志位TF1TF1及中断源,其启动和关闭仅受及中断源,其启动和关闭仅受TR1TR1的控制。的控制。451.2 定时器定时器/计数器计数器 1.2.2定时定时/计数初值的求取方法计数初值的求取方法461.2 定时器定时器/计数器计数器 1.2.2定时定时/计数初值的求取方法计数初值的求取方法471.2 定时器定时器/计数器计数器 1.2.2定时定时/计数初值的求取方法计数初值的求取方法481.2 定时器定时器/计数器计数器 1.2.3定时定时/计数器应用

31、举例计数器应用举例例例 已知某生产线的传送带上不断地有产品单向传送已知某生产线的传送带上不断地有产品单向传送, 产产品之间有较大间隔。品之间有较大间隔。使用光电开关统计一定时间内的产品个数,使用光电开关统计一定时间内的产品个数, 假定红灯假定红灯亮时停止统计亮时停止统计, 红灯灭时才在上次统计结果的基础上继续红灯灭时才在上次统计结果的基础上继续统计。统计。试用单片机定时器试用单片机定时器 /计数器计数器T1的方式的方式 1 完成该项产品的完成该项产品的计数任务。计数任务。 491.2 定时器定时器/计数器计数器 1.2.3定时定时/计数器应用举例计数器应用举例501.2 定时器定时器/计数器计

32、数器 1.2.3定时定时/计数器应用举例计数器应用举例(1) 初始化初始化: TMOD=11010000B=0D0H (GATE=1, C/T=1, M0M1=01) TCON=00H(2) T1在方式在方式1时时, 溢出产生中断溢出产生中断, 且计数器回零且计数器回零, 故在故在中断服务程序中中断服务程序中, 需用需用R0计数中断次数计数中断次数, 以保护累积计数以保护累积计数结果。结果。 (3) 启动启动T1计数计数, 开开T1中断。中断。 程序清单如下程序清单如下: 511.2 定时器定时器/计数器计数器 1.2.3定时定时/计数器应用举例计数器应用举例ORG 0000H AJMP ST

33、ART ; 复位入口复位入口 ORG 001BH AJMP T1INT ; T1中断入口中断入口 ORG 0100H START: MOV SP, 60H ; 初始化程序初始化程序 MOV TCON, 00H MOV TMOD, 0D0H MOV TH1, 00H 521.2 定时器定时器/计数器计数器 1.2.3定时定时/计数器应用举例计数器应用举例 MOV TL1, 00H MOV R0, 00H ; 清中断次数计数单元清中断次数计数单元 MOV P3, 28H ; 设置设置P3.5第二功能第二功能 SETB TR1 ; 启动启动T1 SETB ET1 ; 开开T1中断中断 SETB EA

34、 ; 开总中断开总中断 MAIN: ACALL DISP ; 主程序主程序, 调显示子程序调显示子程序 ORG 0A00H T1INT: INC R0 ; 中断服务子程序中断服务子程序 RETI DISP: ; 显示子程序显示子程序 RET53第一章第一章 MCS51单片机的硬件结构与工作原理单片机的硬件结构与工作原理1.3 中断系统中断系统 80318031单片机有单片机有5 5个中断源,个中断源,4 4个中断控制寄存器:个中断控制寄存器:l5 5个中断源个中断源 2 2个外部中断:个外部中断:INT0INT0、INT1INT1引脚输入的中断源;引脚输入的中断源; 3 3个内部中断源:定时器

35、个内部中断源:定时器T0T0、T1T1溢出中断和串行口发送接收中断。溢出中断和串行口发送接收中断。l4 4个用于中断的控制寄存器个用于中断的控制寄存器 IEIE、IPIP、TCON(TCON(用用6 6位位) )和和SCON(SCON(用用2 2位位) ):用于控制中断的类型、中:用于控制中断的类型、中断的开(闭)及中断源的优先级。断的开(闭)及中断源的优先级。l2 2个中断优先级,每个中断源可以编程为高优先级或低优先级中断,个中断优先级,每个中断源可以编程为高优先级或低优先级中断,可以实现可以实现2 2级中断服务程序的嵌套。级中断服务程序的嵌套。541.3 中断系统中断系统 1.3.1 1.

36、3.1 中断的概念中断的概念l早期的计算机没有中断功能,主机和外设交换信息早期的计算机没有中断功能,主机和外设交换信息( (数据数据) )只能采只能采用程序控制传送方式。用程序控制传送方式。 如:查询方式交换信息时,由于是如:查询方式交换信息时,由于是CPUCPU主动要求传送数据,而它又主动要求传送数据,而它又不能控制外设的工作速度,因此只能用等待的方式来解决速度的不能控制外设的工作速度,因此只能用等待的方式来解决速度的匹配问题,即匹配问题,即CPUCPU不能再做别的事,而大部分时间处于等待不能再做别的事,而大部分时间处于等待I IO)O)接口准备好接口准备好( (就绪就绪) )状态。状态。l

37、现代的计算机都具有实时处理功能,能对外界异常发生的事件作现代的计算机都具有实时处理功能,能对外界异常发生的事件作出及时的处理,这是靠中断技术来实现的。出及时的处理,这是靠中断技术来实现的。551.3 中断系统中断系统 1.3.1 1.3.1 中断的概念中断的概念l所谓中断:是指所谓中断:是指CPUCPU正在处理某事件时,外部又发生了事件正在处理某事件时,外部又发生了事件( (如电如电平的变化等平的变化等) ),请求,请求CPUCPU迅速处理,于是迅速处理,于是CPUCPU暂时中断当前的工作,暂时中断当前的工作,转入处理新发生的事件;处理完以后,再回到被中断的地方,继转入处理新发生的事件;处理完

38、以后,再回到被中断的地方,继续原来的工作,这个过程称为中断。续原来的工作,这个过程称为中断。l实现这种功能的部件称为中断系统,产生中断的请求源称为中断实现这种功能的部件称为中断系统,产生中断的请求源称为中断源。源。l对于数据传送,是外设主动提出,对于数据传送,是外设主动提出,CPUCPU在收到这个要求中断原主程在收到这个要求中断原主程序的执行,暂时进行与外设的数据交换。序的执行,暂时进行与外设的数据交换。561.3 中断系统中断系统 1.3.1 1.3.1 中断的概念中断的概念571.3 中断系统中断系统 1.3.2 1.3.2 中断系统结构中断系统结构581.3 中断系统中断系统 1.3.3

39、 1.3.3 中断源中断源1 1、外部中断源外部中断源l由由INT0INT0、INT1INT1引脚输入引脚输入2 2个外部中断源个外部中断源lTCONTCON的低的低4 4位,用于外部中断控制位,用于外部中断控制IE1(TCON.3)IE1(TCON.3):INT1INT1(P3.3)(P3.3)请求标志位请求标志位 有中断请求,有中断请求,IE1IE11 1IT1(TCON.2)IT1(TCON.2):INT1INT1触发方式控制位触发方式控制位 IT1=1IT1=1下跳沿触发,下跳沿触发,IT1=0IT1=0低电平触发。低电平触发。IE0(TCON.1)IE0(TCON.1):INT0IN

40、T0 (P3.2) (P3.2)请求标志位。请求标志位。 有中断请求,有中断请求,IE0IE01 1。IT0(TCON.0)IT0(TCON.0):INT0INT0触发方式控制位触发方式控制位 IT0=1IT0=1下跳沿触发,下跳沿触发,IT0=0IT0=0低电平触发。低电平触发。591.3 中断系统中断系统 1.3.3 1.3.3 中断源中断源2 2、内部中断源、内部中断源lTF0(TCON.5)TF0(TCON.5):定时器:定时器T0T0的溢出中断申请标志的溢出中断申请标志 T0T0被允许计数以后,从初值开始加被允许计数以后,从初值开始加1 1计数,当产生溢出时置计数,当产生溢出时置TF

41、0=1TF0=1,向向CPUCPU请求中断,直到请求中断,直到CPUCPU响应该中断时才由硬件清响应该中断时才由硬件清0(0(也可由查询也可由查询程序清程序清0)0)。lTF1(TCON.7)TF1(TCON.7):定时器:定时器T1T1的溢出中断申请标志的溢出中断申请标志 T1T1被允许计数以后,从初值开始加被允许计数以后,从初值开始加1 1计数,当产生溢出时置计数,当产生溢出时置TF1=1TF1=1,向向CPUCPU请求中断,直到请求中断,直到CPUCPU咱应该中断时才由硬件清咱应该中断时才由硬件清0(0(也可由查询也可由查询程序清程序清0)0)。lSCON(98H)SCON(98H)为串

42、行口控制寄存器,为串行口控制寄存器,SCONSCON的低两位是串行口接收和发的低两位是串行口接收和发送中断标志送中断标志RIRI和和TITI,其格式如下:,其格式如下:601.3 中断系统中断系统 1.3.4 中断系统控制寄存器中断系统控制寄存器1 1、中断允许寄存器、中断允许寄存器IE (A8H)IE (A8H) 中断允许寄存器中断允许寄存器IEIE,控制各中断源的打开或关闭,其格式为:,控制各中断源的打开或关闭,其格式为:611.3 中断系统中断系统 1.3.4 中断系统控制寄存器中断系统控制寄存器2 2、中断优先寄存器、中断优先寄存器IPIP(B8H)(B8H)l80318031有有2

43、2个中断优先级,每个中断源可编程为高个中断优先级,每个中断源可编程为高/ /低优先级中断,低优先级中断,并可实现并可实现2 2级中断嵌套。级中断嵌套。lIPIP中断优先级控制寄存器,用户用软件设定,格式如下:中断优先级控制寄存器,用户用软件设定,格式如下:621.3 中断系统中断系统 1.3.4 中断系统控制寄存器中断系统控制寄存器l同级中断源,按硬件确定的优先级顺序响应中断请求同级中断源,按硬件确定的优先级顺序响应中断请求631.3 中断系统中断系统 1.3.2 中断系统响应过程中断系统响应过程l8031 CPU8031 CPU在每个机器周期,顺序采样各中断源,在下一机器周在每个机器周期,顺

44、序采样各中断源,在下一机器周期按优先级查询中断标志,在再下一个机器周期进行中断处理。期按优先级查询中断标志,在再下一个机器周期进行中断处理。l在下列任一情况时,中断申请被封锁。在下列任一情况时,中断申请被封锁。 (1)(1)、CPUCPU正在执行同级或高级的中断服务程序。正在执行同级或高级的中断服务程序。 (2)(2)、不是执行当前指令的最后一个周期,即要保证把当前指令、不是执行当前指令的最后一个周期,即要保证把当前指令执行完。执行完。 (3)(3)、当前正在执行的指令是返回、当前正在执行的指令是返回(RETI)(RETI)指令或是对指令或是对IEIE、IPIP寄存寄存器进行读写指令。器进行读

45、写指令。 641.3 中断系统中断系统 1.3.2 中断系统响应过程中断系统响应过程中断响应的过程中断响应的过程(1) 在每条指令结束后在每条指令结束后, 系统都自动检测中断请求信号系统都自动检测中断请求信号, 如果有如果有中断请求,且中断请求,且CPU处于开中断状态下处于开中断状态下, 则响应中断。则响应中断。 (2) 保护现场保护现场, 在保护现场前在保护现场前, 一般要关中断一般要关中断, 以防止现场被破以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈。栈。 (3) 中断服务中断服务, 即为相应的中断源服务。

46、即为相应的中断源服务。 (4) 恢复现场恢复现场, 用堆栈指令将保护在堆栈中的数据弹出来用堆栈指令将保护在堆栈中的数据弹出来, 在恢在恢复现场前要关中断复现场前要关中断, 以防止现场被破坏。在恢复现场后应及时开以防止现场被破坏。在恢复现场后应及时开中断。中断。 (5) 返回返回, 此时此时 CPU将推入到堆栈的断点地址弹回到程序计数将推入到堆栈的断点地址弹回到程序计数器器, 从而使从而使CPU继续执行刚才被中断的程序。继续执行刚才被中断的程序。 651.3 中断系统中断系统 1.3.2 中断系统响应过程中断系统响应过程l中断入口地址:中断入口地址:661.3 中断系统中断系统 1.3.2 中断

47、系统响应过程中断系统响应过程l编写中断服务程序时注意:编写中断服务程序时注意:在中断入口地址单元处放在中断入口地址单元处放一条无条件转移指令一条无条件转移指令( (如如JMP JMP H) H) 。在中断服务程序中,用户在中断服务程序中,用户应注意用软件保护现场。应注意用软件保护现场。若在执行中断程序时禁止若在执行中断程序时禁止更高级中断,可用软件关更高级中断,可用软件关闭闭CPUCPU中断中断(CLR EA)(CLR EA),或,或禁止某中断源中断,在中禁止某中断源中断,在中断返回前再开放中断。断返回前再开放中断。671.3 中断系统中断系统 1.3.2 中断系统响应过程中断系统响应过程69

48、1.3 中断系统中断系统 1.3.2 中断系统响应过程中断系统响应过程70第一章第一章 MCS51单片机的硬件结构与工作原理单片机的硬件结构与工作原理1.4 1.4 输入输入/ /输出端口输出端口 MCS MCS5151单片机有单片机有4 4个个I/OI/O端口,共端口,共3232根根I/OI/O线。线。l4 4个个I/OI/O端口都是双向口包含端口都是双向口包含一个锁存器(一个锁存器(P0P0P3P3););一个输出驱动器;一个输出驱动器;一个输入缓冲器。一个输入缓冲器。lMCSMCS5151在访问外部存储器时在访问外部存储器时地址由地址由P0P0、P2P2口送出;口送出;数据则通过数据则通

49、过P0P0口传送,这时口传送,这时P0P0口是分时复用的双向总线。口是分时复用的双向总线。l无外部存储器的系统,无外部存储器的系统,4 4个端口都可以作为准双向口使用。个端口都可以作为准双向口使用。711.4.1 1.4.1 并行端口并行端口 1 1、P0P0端口端口总线总线I/OI/O端口、双向、三态、数据端口、双向、三态、数据/ /地址分时复用总线。地址分时复用总线。721.4.1 1.4.1 并行端口并行端口 1 1、P0P0端口端口1)1) 在总线状态下,在总线状态下,P0P0口分时出现数据口分时出现数据D0D0D7D7、低、低8 8位地址位地址A0A0A7A7及高及高阻状态。阻状态。

50、731.4.1 1.4.1 并行端口并行端口 1 1、P0P0端口端口2)2) 在输出状态下(切换开关在输出状态下(切换开关MUXMUX向下),从内部总线来的数据经锁存向下),从内部总线来的数据经锁存器反向端和场效应管器反向端和场效应管T2T2反向后,输出到端口线。场效应管反向后,输出到端口线。场效应管T1T1关断,关断,T2T2漏极开路应漏极开路应外接上拉电阻外接上拉电阻。741.4.1 1.4.1 并行端口并行端口 1 1、P0P0端口端口3)3) 在输入状态下,应在输入状态下,应先向锁存器写先向锁存器写1 1,使两个场效应管均关断,引脚,使两个场效应管均关断,引脚处于处于“浮空浮空”状态

51、(呈高阻输入状态),以保证输入数据的正确性。状态(呈高阻输入状态),以保证输入数据的正确性。4)4) 由于该端口用作输入时应先写由于该端口用作输入时应先写l l,故称为准双向口。,故称为准双向口。751.4.1 1.4.1 并行端口并行端口 1 1、P0P0端口端口lI/OI/O口的读修改写特性,每个口的读修改写特性,每个I/OI/O端端口均有两种读入方法,即有读锁存器和口均有两种读入方法,即有读锁存器和读引脚之分,并有相应的指令。读引脚之分,并有相应的指令。l读锁存器指令是从锁存器中读取数据,读锁存器指令是从锁存器中读取数据,进行处理,并把处理后的数据重新写人进行处理,并把处理后的数据重新写

52、人锁存器,这类指令称为锁存器,这类指令称为“读修改写读修改写”指令。指令。l那么如何区分读端口的指令是读锁存器那么如何区分读端口的指令是读锁存器还是读引脚呢还是读引脚呢? ? 当目的操作数是当目的操作数是I/OI/O端口或端口或I/OI/O端口的某一端口的某一位时,这些指令是读锁存器而不是读引位时,这些指令是读锁存器而不是读引脚,即为脚,即为“读修改写读修改写”指令。指令。761.4.1 1.4.1 并行端口并行端口 1 1、P0P0端口端口l“读修改写读修改写”指令指令771.4.1 1.4.1 并行端口并行端口 2 2、P1P1端口端口P1P1端口端口通用通用I/OI/O端口,端口,8 8

53、位准双向端口位准双向端口作通用输入输出口使用,有读锁存器和读引脚之分。作通用输入输出口使用,有读锁存器和读引脚之分。781.4.1 1.4.1 并行端口并行端口 2 2、P1P1端口端口lP1端口与端口与P0端口的主要区别在于输出驱动器部分,端口的主要区别在于输出驱动器部分,P1端口用内部端口用内部上拉电阻代替了上拉电阻代替了P0端口的场效应管端口的场效应管T1。lCPU既可以对既可以对Pl口进行字节操作,又可以进行位操作。口进行字节操作,又可以进行位操作。l当作输入方式时,锁存器必须当作输入方式时,锁存器必须预写预写1 1,准双向端口准双向端口。791.4.1 1.4.1 并行端口并行端口

54、3 3、P2P2端口端口P2P2端口端口是是8 8位准双向输入位准双向输入/ /输出端口。输出端口。输出地址的高输出地址的高8 8位;位;输入有读锁存器和读引脚之分。输入有读锁存器和读引脚之分。 801.4.1 1.4.1 并行端口并行端口 3 3、P2P2端口端口l在输入输出功能方面,在输入输出功能方面,P2P2端口与端口与POPO和和P1P1端口相同,有读引脚和读端口相同,有读引脚和读锁存器之分,并且锁存器之分,并且P2P2端口也是准双向口。端口也是准双向口。l当外接程序存储器时,当外接程序存储器时,P2P2口给出地址的高口给出地址的高8 8位,此时不能用作通用位,此时不能用作通用I/OI

55、/O口。口。l当外接数据存储器时:当外接数据存储器时:若若RAMRAM小于小于256B256B,用,用R0R0、R1R1作间址寄存器,只需作间址寄存器,只需P0P0口送出地址口送出地址低低8 8位,位,P2P2口可以用作通用口可以用作通用I/OI/O口。口。若若RAMRAM大于大于256B256B,必须用,必须用1616位寄存器位寄存器DPTRDPTR作间址寄存器则作间址寄存器则P2P2口只能在一定限度内作一般口只能在一定限度内作一般I/OI/O口使用。口使用。811.4.1 1.4.1 并行端口并行端口 4 4、P3P3端口端口P3P3口双功能输入口双功能输入/ /输出接口输出接口821.4

56、.1 1.4.1 并行端口并行端口 4 4、P3P3端口端口l具有第二功能具有第二功能l第一功能与第一功能与P1P1口一样作为一般准双向输入口一样作为一般准双向输入/ /输出接口,具有字节操输出接口,具有字节操作和位操作。作和位操作。l第二种功能时,第二种功能时, 输出锁存器输出输出锁存器输出1 1, 通过第二功能线通过第二功能线 输出特定信号。输出特定信号。831.4.1 1.4.1 并行端口并行端口 4 4、P3P3端口端口lP3P3端口各线处于第二功能的条件是:端口各线处于第二功能的条件是:串行串行 I IO O口处于运行状态(口处于运行状态(RXDRXD,TXDTXD););打开了外部

57、中断(打开了外部中断(INT0INT0,INT1INT1) );定时器计数器处于外部计数状态(定时器计数器处于外部计数状态(T0T0,T1T1););执行读写外部执行读写外部RAMRAM的指令的指令(RDRD,WRWR)。)。l不设定不设定P3P3端口各位的第二功能(端口各位的第二功能(WRWR,RDRD信号的产生不用设置),信号的产生不用设置),则则P3P3端口线自动处于第一功能状态,也就是静态端口线自动处于第一功能状态,也就是静态I IO O端口的工作端口的工作状态。状态。841.4.1 1.4.1 并行端口并行端口 5 5、P0P0P3P3端口的负载能力及接口要求端口的负载能力及接口要求

58、lP0P0口的输出级与口的输出级与P1P1P3P3口的输出级的结构不同,因此它们的负载口的输出级的结构不同,因此它们的负载能力和接口要求也不同。能力和接口要求也不同。lP0P0口口每一位输出可驱动每一位输出可驱动8 8个个LS TTLLS TTL负载;负载;做通用口使用时,输出级是开漏电路,故需外接上拉电阻;做通用口使用时,输出级是开漏电路,故需外接上拉电阻;做地址做地址/ /数据总线时,则无需接外部上拉电阻。数据总线时,则无需接外部上拉电阻。lP1P1P3P3口口输出级接有内部上拉电阻;输出级接有内部上拉电阻;每一位输出可驱动每一位输出可驱动4 4个个LS TTLLS TTL负载。负载。 8

59、51.4.1 1.4.1 并行端口并行端口 5 5、P0P0P3P3端口的负载能力及接口要求端口的负载能力及接口要求lP0P0P3P3端口已映射到特殊功能寄存器中。端口已映射到特殊功能寄存器中。l对这些端口寄存器的读写就实现了对相应端口的输入输出操对这些端口寄存器的读写就实现了对相应端口的输入输出操作。作。l例如:例如:MOV A MOV A ,P1 P1 ;把;把P1P1端口线上的信息输入到端口线上的信息输入到 A AMOV P1MOV P1,A A ;把;把A A的内容由的内容由P1P1端口输出端口输出MOV P3MOV P3, OFFH OFFH ;使;使P3P3端口线各位置端口线各位置

60、 1 1861.4 1.4 输入输入/ /输出端口输出端口 1.4.2 1.4.2 串行端口串行端口l数据通信的概念数据通信的概念计算机的计算机的CPUCPU与外部设备之间要进行信息交换,计算机之间也与外部设备之间要进行信息交换,计算机之间也要求交换信息,所有信息的交换均可称为通信。要求交换信息,所有信息的交换均可称为通信。通信方式有两种:即并行通信和串行通信;通信方式有两种:即并行通信和串行通信;通常根据信息传送的距离决定采用哪种通信方式。通常根据信息传送的距离决定采用哪种通信方式。 例如:在例如:在IBM-PCIBM-PC机与外部设备机与外部设备( (如打印机等如打印机等) )通信时,如果

温馨提示

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

最新文档

评论

0/150

提交评论