版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2章章 单片机的硬件结构单片机的硬件结构 AT89S51AT89S51的片内硬件基本结构、引脚功能、存储器结构、的片内硬件基本结构、引脚功能、存储器结构、特殊功能寄存器功能、特殊功能寄存器功能、4 4个并行个并行I/OI/O口的结构和特点,口的结构和特点, 复位电路和时钟电路的设计复位电路和时钟电路的设计, ,节电工作模式。节电工作模式。目的:目的: 本章学习,为本章学习,为AT89S51AT89S51系统的应用设计打下基础。在原理系统的应用设计打下基础。在原理和结构上,单片机把微机的许多概念、技术与特点都继承和结构上,单片机把微机的许多概念、技术与特点都继承下来。用学习微机的思路来学习单
2、片机。下来。用学习微机的思路来学习单片机。内容概要内容概要: :2.1 AT89S512.1 AT89S51单片机的硬件组成单片机的硬件组成2.2 AT89S512.2 AT89S51的引脚功能的引脚功能2.3 AT89S512.3 AT89S51的的CPUCPU2.4 AT89S512.4 AT89S51存储器的结构存储器的结构2.5 AT89S512.5 AT89S51的并行的并行I/OI/O端口端口2.6 2.6 时钟电路与时序时钟电路与时序2.7 2.7 复位操作和复位电路复位操作和复位电路2.8 2.8 低功耗节电模式低功耗节电模式 单片机的基本组成有三个部分:单片机的基本组成有三个
3、部分:CPU、存储器和、存储器和I/O口口时钟时钟电路电路部分部分I/OI/O口口u各功能部件,通过片内单一总线连接起来各功能部件,通过片内单一总线连接起来u控制方式:控制方式:SFR对各功能部件集中控制对各功能部件集中控制有如下有如下功能部件功能部件:(1)8位微处理器(位微处理器(CPU););(2)数据存储器()数据存储器(128B RAM););(3)程序存储器()程序存储器(4KB Flash ROM););(4)4个个8位可编程并行位可编程并行I/O口(口(P0口、口、P1口、口、P2口、口、P3口);口);(5)1个全双工的异步串行口;个全双工的异步串行口;(6)2个可编程的个可
4、编程的16位定时器位定时器/计数器;计数器;(7)1个看门狗定时器;个看门狗定时器;(8)中断系统具有)中断系统具有5个中断源、个中断源、5个中断向量;个中断向量;(9)特殊功能寄存器()特殊功能寄存器(SFR)26个;个;(10)低功耗模式有)低功耗模式有空闲模式空闲模式和和掉电模式掉电模式,且具有掉电模式下的中断恢,且具有掉电模式下的中断恢复模式;复模式;(11)3个程序加密锁定位。个程序加密锁定位。片内各功能部件性能片内各功能部件性能(1)CPU(微处理器)(微处理器) 8位,位,包括包括运算器运算器和和控制器控制器,还有面向控制的,还有面向控制的位处理功能位处理功能。(2)数据存储器(
5、)数据存储器(RAM) 片内为片内为128B(52系列系列为为256B),片外最多可扩),片外最多可扩64KB。片内以。片内以高速高速RAM的形式集成,可加快运行的速度的形式集成,可加快运行的速度和和降低功耗。降低功耗。(3)程序存储器()程序存储器(Flash ROM) 片内集成有片内集成有4KB的的Flash存储器(存储器(AT89S52 则则为为8KB;AT89C55片内片内20KB),可外扩至),可外扩至64KB。(4)中断系统)中断系统 具有具有6个个中断源,中断源,2级中断优先权。级中断优先权。(5)定时器)定时器/计数器计数器 2个个16位位定时器定时器/计数器(计数器(52系列
6、有系列有3个),个),4种种工作方式。工作方式。(6)1个看门狗定时器个看门狗定时器WDT 当当CPU由于干扰使程序陷入死循环或跑飞时由于干扰使程序陷入死循环或跑飞时,WDT可可使程使程序恢复正常运行。序恢复正常运行。(7)串行口)串行口 1个全双工个全双工的异步串行口,的异步串行口,4种工作方式。可进行串行通信,种工作方式。可进行串行通信,扩展并行扩展并行I/O口,还可与多个单片机构成多机系统。口,还可与多个单片机构成多机系统。(8)P1口、口、P2口、口、P3口、口、P0口口 4个个8位位并行并行I/O口。口。(9)特殊功能寄存器()特殊功能寄存器(SFR) 26个个,对片内各功能部件管理
7、、控制和监视。是各个功能部,对片内各功能部件管理、控制和监视。是各个功能部件的件的控制寄存器控制寄存器和和状态寄存器,映射在片内状态寄存器,映射在片内RAM区区80HFFH内内。2.2 AT89S51的引脚功能的引脚功能引脚按其功能可分为如下引脚按其功能可分为如下3类类:(1)电源及时钟引脚)电源及时钟引脚VCC、VSS;XTAL1、XTAL2。(2)控制引脚)控制引脚 、ALE/ 、 /VPP、RST(RESET)(3)I/O口引脚口引脚P0、P1、P2、P3,为,为4个个8位位I/O口口 AT89S51双列直插封装方式的引脚双列直插封装方式的引脚PSENPROGEA1电源引脚电源引脚(1)
8、VCC(40脚):脚):+5V电源。电源。(2)VSS(20脚):脚):接数字地。接数字地。2时钟引脚时钟引脚 (1)XTAL1(19脚):脚):片内振荡器反相放大器和时钟发生器电片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。容。外接时钟源时外接时钟源时,该脚接外部时钟振荡器的信号。,该脚接外部时钟振荡器的信号。(2)XTAL2(18脚):脚):片内振荡器反相放大器的输出端。当使片内振荡器反相放大器的输出端。当使用用片内振荡器片内振荡器,该脚连接外部石英晶体和微调电容。当使用,该脚连接外部石英晶体和
9、微调电容。当使用外部时钟源外部时钟源时,本脚时,本脚悬空悬空。2.2.2 控制引脚控制引脚(1)RST (RESET,9脚脚) 复位信号输入,在引脚加上持续时间复位信号输入,在引脚加上持续时间大于大于2个机器周期个机器周期的高电的高电平,可使单片机复位。正常工作,此脚电平应平,可使单片机复位。正常工作,此脚电平应 0.5V。当看。当看门狗定时器溢出输出时,该脚将输出长达门狗定时器溢出输出时,该脚将输出长达96个时钟振荡周期个时钟振荡周期的高电平。的高电平。(2) /VPP (31脚脚) :引脚引脚第一功能第一功能:外部程序存储器访问允许控制端。:外部程序存储器访问允许控制端。 =1,在,在PC
10、值不超出值不超出0FFFH(即不超出片内(即不超出片内4KB Flash存储存储器的地址范围)时,单片机读器的地址范围)时,单片机读片内程序存储器片内程序存储器(4KB)中的程)中的程序,但序,但PC值超出值超出0FFFH (即超出片内(即超出片内4KB Flash地址范围)时,地址范围)时,将将自动转向读取片外自动转向读取片外60KB(1000H-FFFFH)程序存储器空间)程序存储器空间中的程序。中的程序。EAEAEA =0,只读取只读取外部的程序存储器外部的程序存储器中的内容,读取的地址范围中的内容,读取的地址范围为为0000HFFFFH,片内的,片内的4KB Flash 程序存储器不起
11、作用。程序存储器不起作用。VPP:引脚引脚第二功能第二功能,对片内,对片内Flash编程,接编程,接编程电压编程电压。EA(3)ALE/ (30脚)脚) ALE为为CPU访问外部程序存储器或外部数据存储器提供访问外部程序存储器或外部数据存储器提供地地址锁存信号址锁存信号,将,将低低8位地址位地址锁存在片外的地址锁存器中。锁存在片外的地址锁存器中。 单片机单片机正常运行正常运行时,时,ALE端端一直有正脉冲信号输出一直有正脉冲信号输出,此频,此频率为时钟振荡器频率率为时钟振荡器频率fosc的的1/6。可用作外部定时或触发信号。可用作外部定时或触发信号。 注意注意:当当AT89S51访问外部访问外
12、部RAM时,要时,要丢失一个丢失一个ALE脉冲脉冲。 :引脚:引脚第二功能第二功能,对片内,对片内 Flash编程,为编程,为编程脉冲输入端。编程脉冲输入端。(4) (29脚)脚):片外程序存储器读选通信号,低电平有效。片外程序存储器读选通信号,低电平有效。PROGPROGPSEN2.2.3 并行并行I/O口引脚口引脚(1)P0口:口:8位,漏极开路的双向位,漏极开路的双向I/O口口 当当外扩存储器及外扩存储器及I/O接口芯片时接口芯片时,P0口作为口作为低低8位地址总线及数位地址总线及数据总线据总线的的分时复用分时复用端口。端口。 P0口可用作口可用作通用的通用的I/O口口,需加上拉电阻,为
13、,需加上拉电阻,为准双向口准双向口。作为。作为通用通用I/O输入,应输入,应先向端口写入先向端口写入1。可驱动。可驱动8个个LS型型TTL负载。负载。(2)P1口:口:8位,准双向位,准双向I/O口,具有内部上拉电阻。口,具有内部上拉电阻。 准双向准双向I/O口,作为口,作为通用通用I/O输入时,应先向端口锁存器写输入时,应先向端口锁存器写1。P1口可驱动口可驱动4个个LS型型TTL负载。负载。 P1.5/MOSI、P1.6/MISO和和P1.7/SCK 可用于对片内可用于对片内Flash存储存储器串行编程和校验,它们分别是串行数据输入、输出和移位脉冲器串行编程和校验,它们分别是串行数据输入、
14、输出和移位脉冲引脚。引脚。(3)P2口:口:8位,位,准双向准双向I/O口,具有内部上拉电阻。口,具有内部上拉电阻。 当当AT89S51扩展外部存储器及扩展外部存储器及I/O口时,口时,P2口作为口作为高高8位位地址总线地址总线用,输出高用,输出高8位地址。位地址。 P2口口可作为普通的可作为普通的I/O口口使用。当作为通用使用。当作为通用I/O输入时,输入时,应应先向端口输出锁存器写先向端口输出锁存器写1。P2口可驱动口可驱动4个个LS型型TTL负载负载。(4)P3口:口:8位,位,准双向准双向I/O口口,具有内部上拉电阻。,具有内部上拉电阻。 可作为可作为通用的通用的I/O口使用口使用。作
15、为。作为通用通用I/O输入,应先向端口输入,应先向端口输出锁存器输出锁存器 写入写入1。可驱动。可驱动4个个LS型型TTL负载。负载。 P3口还可提供口还可提供第二功能第二功能。2.3 AT89S51的的CPUCPU由由运算器运算器和和控制器控制器构成。构成。2.3.1 运算器运算器对操作数进行算术、逻辑和位操作运算。主要包括对操作数进行算术、逻辑和位操作运算。主要包括算术逻辑算术逻辑运算单元运算单元ALU、累加器、累加器A、位处理器、程序状态字寄存器、位处理器、程序状态字寄存器PSW及两个暂存器及两个暂存器等。等。1算术逻辑运算单元算术逻辑运算单元ALU可对可对8位变量位变量逻辑运算逻辑运算
16、(与、或、异或、循环、求补和清(与、或、异或、循环、求补和清零),还可零),还可算术运算算术运算(加、减、乘、除)。(加、减、乘、除)。 ALU还有位操作功能,对位变量进行位处理,如置还有位操作功能,对位变量进行位处理,如置“1”、清清“0”、求补、测试转移及逻辑、求补、测试转移及逻辑“与与”、“或或”等。等。2累加器累加器A使用最频繁的寄存器,使用最频繁的寄存器,可可写为写为Acc(1)ALU单元的输入数据源之一,又是单元的输入数据源之一,又是ALU运算结果存放单运算结果存放单元元。(2)数据传送大多都通过累加器)数据传送大多都通过累加器A,相当于数据的中转站。为,相当于数据的中转站。为解决
17、解决“瓶颈堵塞瓶颈堵塞”问题,问题,AT89S51增加了一部分可以不经过累增加了一部分可以不经过累加器的传送指令。加器的传送指令。 A的进位标志的进位标志Cy是特殊的,它同时又是是特殊的,它同时又是位处理机的位处理机的位累加器位累加器3程序状态字寄存器程序状态字寄存器PSW(位于片内特殊功能寄存器区,位于片内特殊功能寄存器区,字节地址为字节地址为D0H)包含了包含了程序运行状态的信息程序运行状态的信息,其中,其中4位保存当前指令执行后位保存当前指令执行后的状态,供程序查询和判断。的状态,供程序查询和判断。PSW中各个位的功能中各个位的功能:(1)Cy(PSW.7)进位标志位)进位标志位可写为可
18、写为C。在算术和逻辑运算时,若有。在算术和逻辑运算时,若有进位进位/借位借位,Cy1;否;否则,则,Cy0。在位处理器中,它是位累加器。在位处理器中,它是位累加器。(2)Ac(PSW.6)辅助进位标志位)辅助进位标志位在在BCD码运算时,用作十进位调整。即当码运算时,用作十进位调整。即当D3位向位向D4位产生进位或借位产生进位或借位时,位时,Ac1;否则,;否则,Ac0。(3)F0(PSW.5)用户设定标志位)用户设定标志位 由用户使用的一个状态标志位,可用指令来使它置由用户使用的一个状态标志位,可用指令来使它置1或清或清0,控制程序,控制程序的流向。的流向。(4)RS1、RS0(PSW.4、
19、PSW.3)4组工作寄存器区选择组工作寄存器区选择选择片内选择片内RAM区中的区中的4组工作寄存器区中的某一组为当前工作寄存区。组工作寄存器区中的某一组为当前工作寄存区。(5)OV(PSW.2)溢出标志位)溢出标志位当执行算术指令时,用来指示运算结果是否产生溢出。如果结当执行算术指令时,用来指示运算结果是否产生溢出。如果结果产生溢出,果产生溢出,OV=1;否则,;否则,OV=0。(6)PSW.1位位 保留位保留位(7)P(PSW.0)奇偶标志位)奇偶标志位指令执行完,累加器指令执行完,累加器A中中“1”的个数的个数是是奇数奇数还是还是偶数偶数。P=1,表示表示A中中“1”的个数为的个数为奇数奇
20、数。P=0,表示,表示A中中“1”的个数为的个数为偶数偶数。此标志位对串行通信有重要的意义此标志位对串行通信有重要的意义,常用常用奇偶检验奇偶检验的方法来检的方法来检验数据串行传输的可靠性。验数据串行传输的可靠性。2.3.2 控制器控制器控制器包括控制器包括:程序计数器、指令寄存器、指令译码器、定时及程序计数器、指令寄存器、指令译码器、定时及控制逻辑电路控制逻辑电路等。等。功能功能:控制指令的读入、译码和执行,从而对各功能部件进行控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。定时和逻辑控制。程序计数器程序计数器PC:一个一个独立的独立的16位计数器位计数器,不可访问。单片机复
21、,不可访问。单片机复位时,位时,PC中内容为中内容为0000H,从程序存储器,从程序存储器0000H单元取指令,单元取指令,开始执行程序。开始执行程序。 PC工作过程工作过程是是CPU读指令时,读指令时,PC的内容作为所取指令的地址,的内容作为所取指令的地址,程序存储器按此地址输出指令字节,同时程序存储器按此地址输出指令字节,同时PC自动加自动加1。PC中内容变化轨迹中内容变化轨迹决定程序流程。当决定程序流程。当顺序执行顺序执行程序时自动加程序时自动加1;执行执行转移程序转移程序或或子程序、中断子程序调用子程序、中断子程序调用时,自动将其内容更时,自动将其内容更改成所要转移的目的地址。改成所要
22、转移的目的地址。 PC的计数宽度的计数宽度决定了程序存储器的地址范围。决定了程序存储器的地址范围。PC为为16位,故位,故可对可对64KB(=216B)寻址。寻址。2.4 AT89S51存储器的结构存储器的结构程序存储器和数据存储器分开程序存储器和数据存储器分开(哈佛结构),(哈佛结构),并有各自的访问并有各自的访问指令。指令。存储器空间可分为存储器空间可分为4类类:.程序存储器空间程序存储器空间.数据存储器空间数据存储器空间.特殊功能寄存器特殊功能寄存器SFR (Special Function Register).位地址空间位地址空间2.4.1 程序存储器空间程序存储器空间存放程序和表格之
23、类的固定常数存放程序和表格之类的固定常数。片内为。片内为4KB的的 Flash ,地址,地址为为0000H0FFFH。16位地址线,可外扩的程序存储器空间最位地址线,可外扩的程序存储器空间最大为大为64KB,地址为,地址为0000HFFFFH。(1)分为)分为片内片内和和片外片外两部分两部分,访问片内的还是片外的程序存,访问片内的还是片外的程序存储器,由储器,由 引脚电平引脚电平确定。确定。 =1时,时,CPU从片内从片内0000H开始取指令,开始取指令,当当PC值没有超出值没有超出0FFFH时,只访问片内时,只访问片内Flash 存储器,存储器,当当PC值超出值超出0FFFH自动自动转向读片
24、外程序存储器空间转向读片外程序存储器空间1000HFFFFH 内的程序。内的程序。 =0时,只能执行片外程序存储器(时,只能执行片外程序存储器(0000HFFFFH)中的)中的程序。程序。EAEAEA(2 2)程序存储器某些固定单元)程序存储器某些固定单元用于各中断源中断服务程序入口。用于各中断源中断服务程序入口。 64KB程序存储器空间中有程序存储器空间中有5个特殊单元个特殊单元分别对应于分别对应于5个中断个中断源的中断入口地址。源的中断入口地址。 通常这通常这5个中断入口个中断入口地址地址处都放处都放一条跳转指令一条跳转指令跳向对应的中跳向对应的中断服务子程序,而不是直接存放中断服务子程序
25、断服务子程序,而不是直接存放中断服务子程序。2.4.2 数据存储器空间数据存储器空间.片内数据存储器片内数据存储器 片内数据存储器(片内数据存储器(RAM)共)共128个单元个单元; 字节地址字节地址为为00H7FH。00H1FH 的的32个单元个单元是是4组通用工作组通用工作寄存器区,每区包含寄存器区,每区包含8B,为,为R7R0。可可通过指令改变通过指令改变RS1、RS0两位两位来选择。来选择。20H2FH的的16个个单元的单元的128位位可位寻址可位寻址,也也可字节寻址可字节寻址。30H7FH的单元的单元只能字节寻址只能字节寻址,用作,用作存数据存数据以及作为以及作为堆栈区堆栈区。2.
26、片外数据存储器片外数据存储器 最多可外扩最多可外扩64KB的的RAM。 注意,片内注意,片内RAM与片外与片外RAM两个空间是相互独立的,两个空间是相互独立的,片内片内RAM与片外与片外RAM的低的低128B的地址是相同的的地址是相同的,但由于使用的,但由于使用的是不同的访问指令,所以不会发生冲突。是不同的访问指令,所以不会发生冲突。2.4.3 特殊功能寄存器(特殊功能寄存器(SFR) 采用特殊功能寄存器集中控制采用特殊功能寄存器集中控制各功能部件。特殊功能寄存各功能部件。特殊功能寄存器器映射在片内映射在片内RAM的的 80HFFH 区域区域中,共中,共26个。有些还个。有些还可位寻址。与可位
27、寻址。与AT89C51相比,相比,新增新增5个个SFR:DP1L、DP1H、AUXR、AUXR1和和WDTRST。 凡凡可位寻址的可位寻址的SFR,字节地址末位字节地址末位只能是只能是0H或或8H。 若读若读/写未定义单元,将得到一个不确定的随机数。写未定义单元,将得到一个不确定的随机数。1堆栈指针堆栈指针SP -指示堆栈顶部在内部指示堆栈顶部在内部RAM块中的位置。块中的位置。 堆栈结构堆栈结构向上生长型向上生长型。单片机。单片机复位复位后,后,SP为为07H,使得,使得堆栈实际上从堆栈实际上从08H单元开始,由于单元开始,由于08H1FH单元分别是属于单元分别是属于13组的工作寄存器区,组
28、的工作寄存器区,最好在复位后把最好在复位后把SP值改置为值改置为60H或或更大的值更大的值,避免堆栈与工作寄存器冲突。,避免堆栈与工作寄存器冲突。 堆栈是为堆栈是为子程序调用子程序调用和和中断操作中断操作而设而设,主要用来保护断点主要用来保护断点和和现场。现场。(1)保护断点。)保护断点。无论是子程序调用操作还是中断服务子程序无论是子程序调用操作还是中断服务子程序调用,最终都要调用,最终都要返回主程序返回主程序。应预先把。应预先把主程序的断点在堆栈主程序的断点在堆栈中保护起来,为程序正确返回做准备。中保护起来,为程序正确返回做准备。(2)现场保护。)现场保护。执行子程序或中断服务子程序时,要用
29、到一执行子程序或中断服务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关寄存器单元的内些寄存器单元,会破坏原有内容。要把有关寄存器单元的内容保存起来,送入堆栈,这就是所谓的容保存起来,送入堆栈,这就是所谓的“现场保护现场保护”。 两种操作两种操作: 数据压入数据压入(PUSH)堆栈,堆栈,数据弹出数据弹出(POP)堆栈。堆栈。 数据压入堆栈,数据压入堆栈,SP自动加自动加1;数据弹出堆栈,;数据弹出堆栈,SP自动减自动减1。2寄存器寄存器B为执行乘法和除法而设。在不执行乘、除法操作的情况下,可为执行乘法和除法而设。在不执行乘、除法操作的情况下,可把它当作一个普通寄存器来使用。把它当作一
30、个普通寄存器来使用。乘法乘法:两乘数分别在:两乘数分别在A、B中,执行乘法指令后,乘积在中,执行乘法指令后,乘积在BA中,中, B中存放高中存放高8位,位,A中存放低中存放低8位。位。除法除法:被除数取自:被除数取自A,除数取自,除数取自B,商存放在,商存放在A中,余数存中,余数存B中。中。3AUXR寄存器寄存器辅助寄存器辅助寄存器。DISALE:ALE的禁止的禁止/允许位允许位。0:ALE有效,发出脉冲;有效,发出脉冲;1:ALE仅在执行仅在执行MOVC和和MOVX类指令时有效,不访问外部存储器类指令时有效,不访问外部存储器时,时,ALE不输出脉冲信号不输出脉冲信号。DISRTO:禁止禁止/
31、允许允许WDT溢出时的复位输出溢出时的复位输出。0:WDT溢出时,在溢出时,在RST引脚输出一个高电平脉冲;引脚输出一个高电平脉冲;1:RST引脚仅为输入脚。引脚仅为输入脚。WDIDLE:WDT在空闲模式下的禁止在空闲模式下的禁止/允许位允许位。 0: WDT在空闲模式下继续计数;在空闲模式下继续计数; 1: WDT在空闲模式下暂停计数。在空闲模式下暂停计数。4. 数据指针数据指针DPTR0和和DPTR1 双数据指针寄存器,访问双数据指针寄存器,访问数据存储器数据存储器。 DPTR0:AT89C51单片机单片机原有原有的数据指针;的数据指针; DPTR1:新增加:新增加的数据指针。的数据指针。
32、 数据指针数据指针可作为一个可作为一个16位寄存器位寄存器来用,也可作为来用,也可作为两个独立的两个独立的8位寄存器位寄存器DP0H(或(或DP1H)和)和DP0L(或(或DP1L)来用。)来用。5. AUXR1寄存器寄存器辅助寄存器辅助寄存器 DPS:数据指针寄存器选择位。数据指针寄存器选择位。 当当DPS=0时,选用时,选用DPTR0;当;当DPS=1时,选用时,选用DPTR1。6. 看门狗定时器看门狗定时器WDT WDT包含一个包含一个14位计数器位计数器和和看门狗定时器复位寄存看门狗定时器复位寄存WDTRST,当当CPU由于干扰,程序陷入死循环或跑飞状态时,由于干扰,程序陷入死循环或跑
33、飞状态时,WDT提供了提供了一种使程序恢复正常运行的有效手段。一种使程序恢复正常运行的有效手段。2.4.4 位地址空间位地址空间 211个寻址位的位地址,位地址范围为个寻址位的位地址,位地址范围为 00HFFH,其中,其中 00H7FH 这这128位处于位处于片内片内RAM 字节地址字节地址 20H2FH 单元中单元中.其余的其余的83个可寻址位个可寻址位分布在分布在特殊功能寄存器特殊功能寄存器SFR中中. 可被位寻址的可被位寻址的特殊寄存器特殊寄存器有有11个个,共有位地址,共有位地址88个,个,5个位个位未用,其余未用,其余83个位的位地址离散地分布于个位的位地址离散地分布于片内数据存储器
34、片内数据存储器区字区字节地址为节地址为80HFFH的范围内,其的范围内,其最低的位地址等于其字节地最低的位地址等于其字节地址址,且其字节地址的,且其字节地址的末位都为末位都为0H或或8H。特殊功能寄存器位 地 址字 节地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA
35、4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表2-6 SFR中的位地址分布 AT89S51各类存储器的结构图各类存储器的结构图2.5 AT89S51的并行的并行I/O端口端口 4个双向的个双向的8位并行位并行I/O端口端口,分别记为,分别记为P0、P1、P2和和P3,其中其中输出锁存器输出锁存器属于属于特殊功能寄存器特殊功能寄存器。端口的每一位均由输出。端口的每一位均
36、由输出锁存器、输出驱动器和输入缓冲器组成,锁存器、输出驱动器和输入缓冲器组成,4个端口按个端口按字节输入字节输入/输输出出外,外,也也可可位寻址位寻址。P0口口: 一个一个双功能双功能的的8位并行端口,位并行端口,字节地址字节地址为为80H,位地址为,位地址为80H87H。端口的各位具有完全相同但又相互独立的电路结构。端口的各位具有完全相同但又相互独立的电路结构。(1)一个数据输出的)一个数据输出的锁存器锁存器,用于数据位的锁存。,用于数据位的锁存。(2)两个三态的)两个三态的数据输入缓冲器数据输入缓冲器,用于,用于读锁存器数据读锁存器数据和和读引脚数据读引脚数据的输的输入缓冲器入缓冲器BUF
37、1和和BUF2。(3)一个)一个多路转接开关多路转接开关MUX,输入,输入端端锁存器锁存器和和地址地址/数据信号数据信号的反相输的反相输出。出。MUX由由“控制控制”信号控制,实现锁存器的输出和地址信号控制,实现锁存器的输出和地址/数据信号之间数据信号之间的转接。的转接。(4)数据输出的)数据输出的控制和驱动电路控制和驱动电路,由,由两个场效应管两个场效应管(FET)组成。)组成。位电路结构位电路结构(1)P0口用作地址口用作地址/数据总线数据总线 具有具有高阻抗输入的高阻抗输入的I/OI/O口口,P0P0口作为地址口作为地址/ /数据总线使用时是数据总线使用时是一个真正的双向端口,简称一个真
38、正的双向端口,简称双向口双向口。 用作与外部存储器的连接,用作与外部存储器的连接,输出低输出低8 8位地址和输出位地址和输出/ /输入输入8 8位数位数据。据。(2)P0口用作通用口用作通用I/O口口 需要在片外接上拉电阻,是一个需要在片外接上拉电阻,是一个准双向口准双向口。 作输入口作输入口,有,有两种读入方式两种读入方式:“读锁存器读锁存器”和和“读引脚读引脚”。 保证引脚信号的保证引脚信号的正确读入正确读入,应,应首先向锁存器写首先向锁存器写1。 单片机复位后,锁存器自动被置单片机复位后,锁存器自动被置1; 由原来输出转变为输入时,应先置锁存器为由原来输出转变为输入时,应先置锁存器为1。
39、 P1口口:单功能的:单功能的I/O口,口,字节地址为字节地址为 90H,位地址为,位地址为 90H97H。(1)一个数据输出锁存)一个数据输出锁存器,用于输出数据位的锁器,用于输出数据位的锁存。存。(2)两个三态的数据输)两个三态的数据输入缓冲器入缓冲器BUF1和和BUF2,分别用于读锁存器数据和分别用于读锁存器数据和读引脚数据的输入缓冲。读引脚数据的输入缓冲。(3)数据输出驱动电路,)数据输出驱动电路,由一个场效应管(由一个场效应管(FET)和一个片内上拉电阻组成。和一个片内上拉电阻组成。位电路结构位电路结构P1口口只能作为通用的只能作为通用的I/O口口使用。使用。 内部有上拉电阻内部有上
40、拉电阻,无高阻抗输入无高阻抗输入状态,为状态,为准双向口准双向口。 “读引脚读引脚”输入输入时,必须时,必须先向锁存器写入先向锁存器写入1。P2口:双功能口口:双功能口,字节地址字节地址为为A0H,位地址位地址为为A0HA7H3)一个多)一个多路转接开关路转接开关MUX,一个输入是锁存器的,一个输入是锁存器的Q端,另一个端,另一个输入是高输入是高8位地址。位地址。4)输出驱动电路,由场效应管()输出驱动电路,由场效应管(FET)和内部上拉电阻组成。)和内部上拉电阻组成。1)一个数据输出锁)一个数据输出锁存器,用于输出数据存器,用于输出数据位的锁存。位的锁存。2)两个三态数据输)两个三态数据输入
41、缓冲器入缓冲器BUF1和和BUF2,分别用于读,分别用于读锁存器数据和读引脚锁存器数据和读引脚数据的输入缓冲。数据的输入缓冲。位电路结构位电路结构(1)P2口用作口用作地址总线地址总线输出外部存储器的输出外部存储器的高高8位地址,位地址,与与P0口输出的低口输出的低8位位地址地址构成构成16位地址,可位地址,可寻址寻址64KB地址空间。地址空间。(2)P2口用作口用作通用通用I/O口口内部内部有有上拉电阻上拉电阻,无无高阻抗输入高阻抗输入状态,为状态,为准双向口准双向口。 “读引脚读引脚”输入输入时,必须时,必须先向锁存器写入先向锁存器写入1。 P3口:口:增加了第二功能增加了第二功能,字节地
42、址为字节地址为B0H,位地址位地址B0HB7H。(3)输出驱动,由与非)输出驱动,由与非门、场效应管(门、场效应管(FET)和)和内部上拉电阻组成。内部上拉电阻组成。(1)1个个数据输出锁存器,数据输出锁存器,锁存输出数据位。锁存输出数据位。(2)3个个三态数据输入缓三态数据输入缓冲器冲器BUF1、BUF2和和BUF3,分别用于读锁存,分别用于读锁存器、读引脚数据和第二功器、读引脚数据和第二功能数据的输入缓冲。能数据的输入缓冲。位电路结构位电路结构(1)P3口用作第二输入口用作第二输入/输出功能输出功能 当选择第二输出功能时,锁存器需要置当选择第二输出功能时,锁存器需要置1。 复位后复位后,锁
43、存器自动置锁存器自动置1,不不需任何设置工作,需任何设置工作,可可进入第二进入第二功能操作。功能操作。(2)P3口用作第一功能口用作第一功能通用通用I/O口口 内部内部有有上拉电阻上拉电阻,无无高阻抗输入高阻抗输入状态,为状态,为准双向口准双向口。 输入输入时,必须时,必须先向先向端口输出端口输出锁存器写入锁存器写入1。2.5.5 P1P3口驱动口驱动LED发光二极管发光二极管P0口与口与P1、P2、P3口相比,口相比,P0口的驱动能力较大口的驱动能力较大,每位可驱,每位可驱动动8个个LSTTL输入,而输入,而P1、P2、P3口口的每一位的驱动能力,的每一位的驱动能力,只只有有P0口的一半口的
44、一半;当当P0口口某位为某位为高电平高电平时,可提供时,可提供400 A的电流;的电流;当当P0口某位为口某位为低电平低电平(0.45V)时,可提供)时,可提供3.2mA的灌电流。的灌电流。如低电平允许提高,灌电流可相应加大。如低电平允许提高,灌电流可相应加大。任何一个口要想获得任何一个口要想获得较大的驱动能力,只能用较大的驱动能力,只能用低电平低电平输出。输出。P1P3内部有内部有30k左右的左右的上拉电阻。上拉电阻。如如高电平高电平输出输出,则强行从,则强行从P1、P2和和P3口输出的电流口输出的电流Id会造成单片会造成单片机端口的损坏,如机端口的损坏,如图(图(a)所示。所示。如端口引脚
45、为如端口引脚为低电平低电平,能使电流,能使电流Id 从单片机外部流入内部,则从单片机外部流入内部,则将将大大增加流过的电流值大大增加流过的电流值,如,如图(图(b)所示。所示。当当P1P3口驱动口驱动LED发光二极管发光二极管时,应该采用低电平驱动。时,应该采用低电平驱动。(a)不恰当的连接:高电平驱动不恰当的连接:高电平驱动 (b)恰当的连接:低电平驱动恰当的连接:低电平驱动2.6 时钟电路与时序时钟电路与时序时钟电路时钟电路:产生产生单片机单片机工作时所工作时所必需的控制信号必需的控制信号,在时钟信号,在时钟信号的控制下,严格按时序执行指令。的控制下,严格按时序执行指令。CPU发的发的时序
46、信号时序信号两类两类,一类一类用对片内各个功能部件控制,用用对片内各个功能部件控制,用户无须了解;户无须了解;另一类另一类用于对片外存储器或用于对片外存储器或I/O口的控制口的控制,这部分,这部分时序对于分析、设计硬件接口电路时序对于分析、设计硬件接口电路至关重要至关重要。2.6.1 时钟电路设计时钟电路设计 时钟频率时钟频率直接影响单片机的直接影响单片机的速度速度,时钟电路的质量也直接影,时钟电路的质量也直接影响单片机系统的稳定性。响单片机系统的稳定性。 常用的时钟电路有常用的时钟电路有两种方式两种方式:内部时钟内部时钟和和外部时钟外部时钟方式。方式。1内部时钟方式内部时钟方式 AT89S5
47、1内部有一个用于构成振荡器的内部有一个用于构成振荡器的高增益反相放大器高增益反相放大器,输入端为芯片引脚输入端为芯片引脚XTAL1,输出端为引脚,输出端为引脚XTAL2。这两个引。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器。荡器。电容大小会影响振荡器频率高低、振荡器的稳定性和起振的快电容大小会影响振荡器频率高低、振荡器的稳定性和起振的快速性。速性。晶振频率范围通常是晶振频率范围通常是1.212MHz。晶体频率越高,晶体频率越高,单片机速度单片机速度就越快就越快。速度快对。速度快对存储器的速度要求就高存储器的速度要求就高,
48、印制电路板的工艺要,印制电路板的工艺要求也高,即线间的寄生电容要小。求也高,即线间的寄生电容要小。晶体和电容应尽可能与单片机晶体和电容应尽可能与单片机靠近靠近,以减少寄生电容,保证振荡器稳定、可靠地工作。,以减少寄生电容,保证振荡器稳定、可靠地工作。为提高温度稳定性,采用为提高温度稳定性,采用温度稳定性能好温度稳定性能好的电容。的电容。常选常选6MHz或或12MHz的的石英晶体石英晶体。随着集成电路制造工艺技术。随着集成电路制造工艺技术的发展,单片机的的发展,单片机的时钟频率时钟频率也在逐步提高也在逐步提高,已达,已达33MHz。2外部时钟方式外部时钟方式 用现成的外部振荡器产生脉冲信号,用现
49、成的外部振荡器产生脉冲信号,常用于常用于多片多片AT89S51同时工作,以便于多片单片机之间的同步,一般为低于同时工作,以便于多片单片机之间的同步,一般为低于12MHz的方波。的方波。 外部时钟源外部时钟源直接接到直接接到XTAL1端端,XTAL2端悬空端悬空。 3时钟信号的输出时钟信号的输出 当使用片内振荡器,当使用片内振荡器,XTAL1、XTAL2引脚还能为应用系引脚还能为应用系统中的其他芯片提供时钟,但需增加驱动能力。统中的其他芯片提供时钟,但需增加驱动能力。有两种有两种引出引出的方式的方式。2.6.2 机器周期、指令周期与指令时序机器周期、指令周期与指令时序各种指令时序与时钟周期相关。
50、各种指令时序与时钟周期相关。1时钟周期时钟周期 时钟控制信号的时钟控制信号的基本时间单位基本时间单位。若晶振频率为。若晶振频率为fosc,则时钟周,则时钟周期期Tosc=1/fosc。如。如fosc=6MHz,Tosc=166.7ns。2机器周期机器周期 CPU完成一个基本操作所需时间为完成一个基本操作所需时间为机器周期机器周期。执行一条指令执行一条指令分为几个机器周期分为几个机器周期。每个机器周期完成一个。每个机器周期完成一个基本操作基本操作,如取,如取指令、读或写数据等。每指令、读或写数据等。每12个时钟周期个时钟周期为为1个机器周期。个机器周期。 1个机器周期个机器周期包括包括12个时钟
51、周期个时钟周期,分,分6个状态个状态:S1S6。每。每个个状态又分两拍状态又分两拍:P1和和P2。一个机器周期中的。一个机器周期中的12个时钟周个时钟周期期表示为表示为S1P1、S1P2、S2P1、S2P2、S6P2。3指令周期指令周期 执行一条指令执行一条指令所需的时间所需的时间。简单的。简单的单字节指令单字节指令,取出指令立,取出指令立即执行,即执行,只需只需一个机器周期一个机器周期的时间的时间。而有些。而有些复杂的指令复杂的指令,如,如转移、乘、除指令转移、乘、除指令则需则需两个两个或或多个多个机器周期。机器周期。从指令执行时间看从指令执行时间看: 单字节和双字节单字节和双字节指令指令一
52、般为单机器周期一般为单机器周期和和双机器周期双机器周期; 三字节指令三字节指令都是都是双机器周期双机器周期; 乘、除指令乘、除指令占用占用4个机器周期个机器周期。2.7 复位操作和复位电路复位操作和复位电路 单片机的单片机的初始化操作初始化操作,给复位脚,给复位脚RST加上加上大于大于2个机器周期个机器周期的的高电平高电平就使就使AT89S51复位。复位。2.7.1 复位操作复位操作 复位时,复位时,PC初始化为初始化为0000H,程序从,程序从0000H单元开始执行单元开始执行. 除系统的正常初始化外,当除系统的正常初始化外,当程序出错程序出错或或操作错误操作错误使系统处于使系统处于死锁死锁
53、状态时,状态时,按复位键按复位键使使RST脚为高电平,重新启动程序。脚为高电平,重新启动程序。 复位操作还对复位操作还对其他一些寄存器其他一些寄存器有影响。有影响。l复位时,复位时,SP=07H ,而,而P0P3引脚均为高电平引脚均为高电平。在某些控制应用中,要在某些控制应用中,要注意考虑注意考虑P0P3引脚的高电平引脚的高电平对接在对接在这些引脚上的外部电路的影响这些引脚上的外部电路的影响。2.7.2 复位电路设计复位电路设计 复位引脚复位引脚RST通过一个通过一个施密特触发器施密特触发器与与复位电路复位电路相连,施密相连,施密特触发器用来抑制噪声,在每个机器周期的特触发器用来抑制噪声,在每
54、个机器周期的S5P2,施密特触,施密特触发器的发器的输出电平输出电平由由复位电路复位电路采样一次,然后才能得到内部复采样一次,然后才能得到内部复位操作所需要的信号。位操作所需要的信号。片内复位电路结构片内复位电路结构 复位电路采用复位电路采用上电自动复位上电自动复位和和按钮复位按钮复位两种方式两种方式。上电自动复位上电自动复位是给电容是给电容C 充电加给充电加给RST引脚一个引脚一个短的高电平信短的高电平信号号,此信号随着,此信号随着VCC对电容对电容C 的充电过程而逐渐回落,即的充电过程而逐渐回落,即RST引引脚上的脚上的高电平持续时间高电平持续时间取决于电容取决于电容C 充电时间充电时间。
55、为保证系统可。为保证系统可靠复位,靠复位,RST引脚上的高电平必须维持足够长的时间。引脚上的高电平必须维持足够长的时间。对于对于CMOS型单片机,型单片机,由于在由于在RST引脚内部引脚内部有一个有一个下拉电阻下拉电阻,可将可将电阻电阻R去掉去掉,而将,而将电容电容C选为选为10 F。上电复位电路上电复位电路除了上电复位外,有时还需要除了上电复位外,有时还需要按键手动复位按键手动复位。按键手动复位有按键手动复位有电平电平和和脉冲脉冲两种方式两种方式。脉冲复位脉冲复位是利用是利用RC 微分电路产生的微分电路产生的正脉冲正脉冲来实现来实现的,阻容参的,阻容参数适于数适于6MHz时钟。时钟。 按键电
56、平复位电路按键电平复位电路 按键脉冲复位电路按键脉冲复位电路能能输出输出高、低两种电平高、低两种电平的复位控制信号,以适应外围的复位控制信号,以适应外围I/O接口芯接口芯片所片所要求的要求的不同复位电平信号不同复位电平信号。74LS122为单稳电路,实验表明,为单稳电路,实验表明,电容电容C 的选择约为的选择约为0.1 F较好。较好。两种实用的兼有上电复位与按键复位的电路两种实用的兼有上电复位与按键复位的电路2.8 低功耗节电模式低功耗节电模式 两种低功耗节电工作模式两种低功耗节电工作模式:空闲模式空闲模式(idle mode)和)和掉电掉电保持模式保持模式(power down mode)。
57、)。 掉电保持模式掉电保持模式下,下,Vcc可由可由后备电源后备电源供电。供电。低功耗节电模式的内部控制电路低功耗节电模式的内部控制电路两种节电模式可通过两种节电模式可通过PCON的的位位IDL和和位位PD的设置来实现。的设置来实现。PCON寄存器各位定义:寄存器各位定义:SMOD:串行通信波特率选择。串行通信波特率选择。 :保留位。:保留位。GF1、GF0:通用标志位,两个标志位用户使用。:通用标志位,两个标志位用户使用。PD: 掉电保持模式控制位,掉电保持模式控制位,PD=1,则,则进入掉电保持模式。进入掉电保持模式。IDL:空闲模式控制位,若空闲模式控制位,若IDL=1,则,则进入空闲运行模式进入空闲运行模式。特殊功能寄存器特殊功能寄存器PCON的格式的格式2.8.1 空闲模式空闲模式1. 空闲模式进入空闲模式进入 将将PCON中的中的IDL位置位置1,则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老院老人生活照顾人员职业道德制度
- 养老院老人健康数据统计分析制度
- 民航安全管理体系培训心得
- 新媒体合伙人合同(2篇)
- 承包采摘黄秋葵协议书范本(2篇)
- 2024年智能化物流设备采购合同
- 《食管癌的治疗》课件
- 2025年枣庄货运资格证安检考试题
- 2025年广州货运从业资格考试技巧
- 2025年青海货运从业资格证考试模拟考试题库
- 2024年度初级会计《初级会计实务》模拟试题及答案
- 美容护肤招商方案
- 新概念英语课件NCE1-lesson57-58(共21张)
- 《HSK标准教程1》第4课课件
- 国开2023秋《人文英语3》第5-8单元作文练习参考答案
- 水平四《排球正面双手传球》教学设计
- 测树学完整分
- 私密项目商业计划书
- 黑龙江省黑河北安市2024届中考二模数学试题含解析
- 计算机系统权限修改审批表
- xx新农村建设项目可行性研究报告(方案)
评论
0/150
提交评论