STCC单片机硬件结构实用教案_第1页
STCC单片机硬件结构实用教案_第2页
STCC单片机硬件结构实用教案_第3页
STCC单片机硬件结构实用教案_第4页
STCC单片机硬件结构实用教案_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

1、4.1 STC89C52单片机的内部组织结构(jigu)及特点 STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码(di m)完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。HD版本和90C版本内部集成MAX810专用复位电路。STC89C52RC单片机内部硬件结构框图如图4- 1所示。第1页/共77页第一页,共78页。第2页/共77页第二页,共78页。STC89C52RC单片机有如下功能部件和特性:1.增强型6时钟/机器周期和12时钟/机器周期任意设置。2.指令代码完全兼容传统80513.工作电压:(5V单片机)(3V单片

2、机)。4.工作频率:040MHz,相当于普通8051单片机的080MHz,实际工作频率可达48MHz。5.用户应用程序空间:8KB片内Flash程序存储器,擦写次数10万次以上。6.片上集成( j chn)512B RAM数据存储器。第3页/共77页第三页,共78页。7.通用I/O口(35/39个),复位后为:P1、P2、P3、P4是准双向口/弱上拉(与普通MCS-51传统I/O口功能一样);P0口是开漏输出口,作为总线扩展时用,不用加上拉电阻;P0口作为I/O口用时,需加上拉电阻。8.ISP在系统可编程/IAP在应用可编程,无需专用编程器/仿真器,可通过串口(RxD/P3.0,TxD/P3.

3、1)直接(zhji)下载用户程序,8KB程序3s即可完成一片。内置EEPROM功能。10.硬件看门狗(WDT)。11.内部集成MAX810专用复位电路(HD版本和90C版本才有),外部晶体20M以下时,可不需要外部复位电路。第4页/共77页第四页,共78页。12.共3个16位定时器/计数器,兼容普通MCS-51单片机的定时器,其中定时器T0还可以当成2个8位定时器使用。13.外部中断4路,下降沿中断或低电平触发中断,掉电模式可由外部中断低电平触发中断方式唤醒。14.通用异步串行口(UART),还可用定时器软件实现多个UART。15.工作温度范围:075(商业级)/4085(工业级)。16.封装

4、形式有:LQFP-44、PDIP-40、PLCC-44、PQFP-44。由于LQFP-44具有体积小、扩展(kuzhn)了P4口、外部中断2和3及定时器T2的功能。PDIP-40的封装与传统的89C52芯片兼容。第5页/共77页第五页,共78页。除此之外,STC89C52RC单片机自身还有很多独特的优点:1.加密性强,无法解密。2.超强抗干扰。主要表现在:高抗静电(ESD保护),可以轻松抗御2KV/4KV快速脉冲干扰(EFT测试),宽电压、不怕电源抖动,宽温度范围为4085,I/O口经过特殊处理,单片机内部的电源供电系统、时钟电路、复位电路及看门狗电路经过特殊处理。3.采用三大降低单片机时钟对

5、外部电磁辐射的措施:禁止ALE输出;如选6时钟/机器( j q)周期,外部时钟频率可降一半;单片机时钟振荡器增益可设为1/2gain。4.超低功耗:掉电模式,典型电流损耗;空闲模式,典型电流损耗为2mA;正常工作模式,典型电流损耗4mA7mA。第6页/共77页第六页,共78页。STC89C52RC单片机的工作模式有如下几种:1.掉电模式:RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止,中断返回后,继续( jx)执行原程序。典型功耗。2.空闲模式:CPU停止工作,允许RAM、定时器/计数器、串口、中断继续( jx)工作。典型功耗2mA。3.正常工作模式:单片机正

6、常执行程序的工作模式,典型功耗4mA7mA。第7页/共77页第七页,共78页。 选用STC89C52系列单片机的一个主要原因: 由于这种单片机可以利用全双工异步串行口()进行在系统编程(ISP),即无需专用编程器/仿真器,就可通过串口直接下载用户程序,因此(ync)省却了每次编程必须插拔单片机到专用编程器上的麻烦,可以直接将STC单片机固定焊接在PCB板上,进行程序的下载调试。第8页/共77页第八页,共78页。 STC89系列单片机大部分具有在系统可编程(ISP)特性,ISP的好处就是省去购买通用编程器,单片机在用户系统上即可下载/烧录用户程序,而无须将单片机从已生产好的产品上拆下,再用通用编

7、程器将程序代码烧录进单片机内部。有些程序尚未定型的产品可以一边生产,一边完善,加快了产品进入市场的速度,减小了新产品由于软件缺陷带来的风险。由于可以将程序直接下载进单片机看运行结果也可以不用(byng)仿真器。STC单片机在线编程典型线路如图4-2所示。第9页/共77页第九页,共78页。 大部分STC89系列单片机在销售给用户之前(zhqin)已在单片机内部固化有ISP系统引导程序,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,故无须编程器(速度比通用编程器快)。注意:不要用通用编程器编程,否则有可能将单片机内部已固化的ISP系统引导程序擦除,造成无法使用STC提供的ISP软件下载

8、用户的程序代码。第10页/共77页第十页,共78页。4.2 STC89C52单片机的外部(wib)引脚及功能 STC89C52目前有LQFP44、PQFP44、PDIP40、PLCC44等封装形式,并且不同(b tn)版本的引脚也不同(b tn),图4- 3所示为各封装形式的HD版本和90C版本的引脚图。图4- 34- 3(a a)PDIP40PDIP40的HDHD版本(bnbn)(bnbn)引脚图 图4-34-3(b b)PDIP40PDIP40的90C90C版本(bnbn)(bnbn)引脚图第11页/共77页第十一页,共78页。图4-34-3(c c)LQFP44LQFP44的HDHD版本

9、(bnbn)(bnbn)引脚图 图4-34-3(d d)LQFP44LQFP44的90C90C版本(bnbn)(bnbn)引脚图第12页/共77页第十二页,共78页。图4-34-3(e e)PLCC44PLCC44的HDHD版本(bnbn)(bnbn)引脚图 图4-34-3(f f)PLCC44PLCC44的90C90C版本(bnbn)(bnbn)引脚图第13页/共77页第十三页,共78页。 STC89C52RC单片机的HD版本和90C版本的区别是:HD版本有ALE引脚,无口。而90C版本无PSEN、EA管脚,有和引脚;90C版本的管脚既可作I/O口使用,也可被复用作ALE引脚使用,默认(mr

10、n)是作为ALE管脚。如需作为口使用时,只能选择90C版本的单片机,且需在烧录用户程序时在STC-ISP编程器中将ALE pin选择为用作,在烧录用户程序时在STC-ISP编程器中该管脚默认(mrn)作ALE pin,具体设置如图4- 4所示。第14页/共77页第十四页,共78页。STC89C52RC单片机有5个端口P0、P1、P2、P3、P4,其中P4端口在LQFP44、PQFP44、PLCC44等封装形式中才有,其它有很多引脚和控制信号共用引脚。下面就各引脚进行说明。1. P0口引脚 :P0口即可作为(zuwi)输入/输出口,也可作为(zuwi)地址/数据复用总线使用。当P0口作为(zuw

11、i)输入/输出口时,P0是一个8位准双向口,上电复位后处于开漏模式。P0口内部无上拉电阻,所以作I/O口必须外接10K的上拉电阻。当P0作为(zuwi)地址/数据复用总线使用时,是低8位地址线A0-A7和数据线D0-D7共用,此时无需外接上拉电阻。第15页/共77页第十五页,共78页。2. P1口引脚:P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过(tnggu)内部的上拉电阻把端口拉到高电位,这时可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。其中,和还可以作为定时器/

12、计数器2的外部计数输入()和定时器/计数器2的触发输入(),具体参见表4- 1。引脚号功能特性P1.0T2(定时/计数器2外部计数输入),时钟输出P1.1T2EX(定时器/计数器2捕获/重装触发和方向控制)第16页/共77页第十六页,共78页。3. P2口引脚:P2口内部带上拉电阻的8位双向I/O端口。即可作为输入/输出口,也可作为高8位地址总线使用(shyng)(A8-A15)。当P2口作为输入/输出口时,P2是一个8位准双向口。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX R1”

13、指令)时,P2口引脚上的内容就是专用寄存器SFR区中的P2寄存器的内容,在整个访问期间不会改变。第17页/共77页第十七页,共78页。4. P3口引脚:P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收(xshu)或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。P3口除作为一般I/O口外,还有其他一些复用功能,如表4- 2所示。引脚号复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2 INT0 (外部中断0)P3.

14、3 INT1 (外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)第18页/共77页第十八页,共78页。6. 电源与时钟引脚(1) VCC:电源正极(2) Gnd:电源负极,接地(3) XTAL1:片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英(shyng)晶体和微调电容。外接时钟源时,该脚接外部时钟振荡器的信号。(4) XTAL2:片内振荡器反相放大器的输出端。当使用片内振荡器,该脚连接外部石英(shyng)晶体和微调电容。当使用外部时钟源时,本脚悬空。 RST

15、:复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平为有效。第19页/共77页第十九页,共78页。4.3 STC89C52单片机存储器结构(jigu)STC89C52RC存储器的结构特点之一是将程序存储器和数据存储器分开(哈佛结构),并有各自的访问指令。STC89C52RC系列单片机除可以访问片上Flash存储器外,还可以访问64KB的外部程序存储器。STC89C52RC系列单片机内部有512字节的数据存

16、储器,其在物理和逻辑上都分为两个(lin )地址空间:内部RAM(256字节)和内部扩展RAM(256字节),另外还可以访问在片外扩展的64KB外部数据存储器。第20页/共77页第二十页,共78页。4.3.1 STC89C52单片机程序存储器单片机程序存储器存放程序和表格之类的固定常数。片内为8KB的Flash,地址为0000H1FFFH。16位地址线,可外扩的程序存储器空间最大为64KB,地址为0000HFFFFH。使用时应注意以下问题:(1)分为片内和片外两部分,访问片内的还是片外的程序存储器,由 EA 引脚电平确定。 EA=1时,CPU从片内0000H开始取指令,当PC值没有超出1FFF

17、H时,只访问片内Flash存储器,当PC值超出1FFFH自动转向(zhunxing)读片外程序存储器空间2000HFFFFH内的程序。 EA=0时,只能执行片外程序存储器(0000HFFFFH)中的程序,不理会片内8KB Flash存储器。第21页/共77页第二十一页,共78页。(2)程序存储器某些固定单元用于各中断源中断服务程序入口。STC89C52复位后,程序存储器地址指针PC的内容(nirng)为0000H,于是程序从程序存储器的0000H开始执行,一般在这个单元存放一条跳转指令,跳向主程序的入口地址。除此之外,64KB程序存储器空间中有8个特殊单元分别对应于8个中断源的中断入口地址,见

18、表4- 3。通常这8个中断入口地址处都放一条跳转指令跳向对应的中断服务子程序,而不是直接存放中断服务子程序。因为两个中断入口间的间隔仅有8个单元,一般不够存放中断服务子程序。第22页/共77页第二十二页,共78页。中断源中断向量地址0003HT0000BH0013HT1T1001BHUARTUART0023HT2002BH0033H003BH表4- 3 程序(chngx)存储器空间的8个中断入口地址第23页/共77页第二十三页,共78页。4.3.2 STC89C52单片机数据存储器STC89C52RC系列单片机内部集成了512字节RAM,可用于存放程序执行的中间结果( ji gu)和过程数据。

19、内部数据存储器在物理和逻辑上都分为两个地址空间:内部RAM(256字节)和内部扩展RAM(256字节)。此外,还可以访问在片外扩展的64KB数据存储器。STC89C52RC系列单片机的存储器分布如图4- 5所示。(特别说明:图中阴影部分的访问是由辅助寄存器AUXR(地址为8EH)的第EXTRAM位来设置,这部分在物理上是内部RAM,逻辑上占用外部RAM地址空间)第24页/共77页第二十四页,共78页。第25页/共77页第二十五页,共78页。1. 片内数据存储器:传统的89C52单片机的内部RAM只有256字节的空间可供使用,在此情况下STC公司响应广大用户的呼声,在一些(yxi)单片机内部增加

20、了RAM。STC89C52RC系列单片机内部扩展了256个字节RAM。于是STC89C52RC单片机内部512字节的RAM有3个部分:(1)低128字节(00H-7FH)内部RAM;(2)高128字节(80H-FFH)内部RAM;(3)内部扩展的256字节RAM空间(00H-FFH)。下面分别作出说明:第26页/共77页第二十六页,共78页。(1)低128字节(00H-7FH)的空间即可以直接寻址也可间接寻址,内部低128字节RAM又可分为:工作寄存器组0(00H-07H)8字节、工作寄存器组1(08H-0FH)8字节、工作寄存器组2(10H-17H)8字节、工作寄存器组3(18H-1FH)8

21、字节、可位寻址区(20H-2FH)16字节、用户RAM和堆栈区(30H-7FH)80字节;(2)高128字节(80H-FFH)的空间和特殊功能寄存器区SFR的地址空间(80H-FFH)貌似共用相同的地址范围,但物理上是独立的,使用时通过不同的寻址方式加以区分:高128字节只能间接寻址,而特殊功能寄存器区SFR只能直接寻址。(3)内部扩展(kuzhn)RAM,在物理上是内部,但逻辑上是占用外部数据存储器的部分空间,需要用MOVX来访问。内部扩展(kuzhn)RAM是否可以被访问是由辅助寄存器AUXR(地址为8EH)的第EXTRAM位来设置。关于扩展(kuzhn)RAM的管理将在第节的AUXR特殊

22、功能寄存器部分详细介绍。第27页/共77页第二十七页,共78页。2.片外数据存储区当片内RAM不够用时,需外扩数据存储器,STC89C52最多可外扩64KB的RAM。注意,片内RAM与片外RAM两个空间是相互独立的,片内RAM与片外RAM的低256字节的地址是相同的,但由于使用的是不同的访问指令,所以不会发生冲突。另外说明下,只有在访问真正的外部数据存储器期间,WR或RD信号才有效。但当MOVX指令访问物理上在内部,逻辑(lu j)上在外部的片内扩展RAM时,这些信号将被忽略。第28页/共77页第二十八页,共78页。4.3.3 STC89C52单片机特殊功能寄存器STC89C52中的CPU对片

23、内各功能部件的控制是采用特殊功能寄存器集中控制方式。特殊功能寄存器SFR的单元地址映射在片内RAM的80H-FFH区域中,离散地分布(fnb)在该区域,其中字节地址以0H或8H结尾的特殊功能寄存器可以进行位操作。第29页/共77页第二十九页,共78页。表4- 4 单片机内核特殊(tsh)功能寄存器序号符号功能介绍字节地址位地址复位值1ACC累加器E0HE7-E0HE7-E0H0000 00002BB寄存器F0HF7-F0HF7-F0H0000 00003PSW程序状态字寄存器D0HD7-D0HD7-D0H0000 00004SP堆栈指针81H0000 01115DP0L 数据地址指针DPTR0

24、低8位82H0000 00006DP0H 数据地址指针DPTR0高8位83H0000 00007DP1L 数据地址指针DPTR1低8位84H8DP1H 数据地址指针DPTR1高8位85H第30页/共77页第三十页,共78页。表44- 5 单片机系统管理特殊(t(tshsh) )功能寄存器序号符号功能介绍字节地址位地址复位值1PCON电源控制寄存器87H0 xx1 00002AUXR辅助寄存器8EHxxxx xx003AUXR1辅助寄存器1A2Hxxxx 0 xx0第31页/共77页第三十一页,共78页。表4- 6 单片机中断(zhngdun)管理特殊功能寄存器序号符号功能介绍字节地址位地址复位

25、值1IE中断允许控制寄存器A8HAFH-A8HAFH-A8H0000 00002IP低中断优先级控制寄存器B8HBFH-B8HBFH-B8Hxx00 00003IPH高中断优先级控制寄存器B7H0000 00004TCONT0、T1定时器/计数器控制寄存器88H8FH-88H8FH-88H0000 00005SCON串行口控制寄存器98H9FH-98H9FH-98H0000 00006T2CON T2定时器/计数器控制寄存器C8HCFH-C8HCFH-C8H0000 00007XICON扩展中断控制寄存器C0HC7H-C0HC7H-C0H0000 0000第32页/共77页第三十二页,共78页

26、。表4- 7 单片机I/O口特殊(tsh)功能寄存器序号符号功能介绍字节地址位地址复位值1P0P0口锁存器80H87H-80H87H-80H1111 11112P1P1口锁存器90H97H-90H97H-90H1111 11113P2P2口锁存器A0HA7H-A0HA7H-A0H1111 11114P3P3口锁存器B0HB7H-B0HB7H-B0H1111 11115P4P4口锁存器E8HE7H-E0HE7H-E0Hxxxx 1111第33页/共77页第三十三页,共78页。表4- 8 单片机串行口特殊(tsh)功能寄存器序号符号功能介绍字节地址位地址复位值1*SCON串行口控制寄存器98H9F

27、H-98H9FH-98H0000 00002SBUF串行口锁存器99Hxxxx xxxx3SADEN串行从机地址掩模寄存器B9H0000 00004SADDR 串行从机地址控制寄存器A9H0000 0000第34页/共77页第三十四页,共78页。表4- 9 单片机定时器特殊(tsh)功能寄存器序号符号功能介绍字节地址位地址复位值1*TCONT0、T1定时/计数控制寄存器88H8FH-88H8FH-88H0000 00002TMODT0、T1定时/计数方式控制寄存器89H0000 00003TL0定时器/计数器0(低8位)8AH0000 00004TH0定时器/计数器0(低8位)8CH0000

28、00005TL1定时器/计数器1(高8位)8BH0000 00006TH1定时器/计数器1(高8位)8DH0000 00007*T2CON定时器/计数器2控制寄存器C8H0000 00008T2MOD定时器/计数器2模式寄存器C9Hxxxx xx009RCAP2L外部输入(P1.1)计数器/自动再装入模式时初值寄存器低八位CAH0000 000010RCAP2H外部输入(P1.1)计数器/自动再装入模式时初值寄存器高八位CBH0000 000011TL2定时器/计数器2(低8位)CCH0000 000012TH2定时器/计数器2(高8位)CDH0000 0000第35页/共77页第三十五页,共

29、78页。表4- 10 单片机看门狗特殊(tsh)功能寄存器序号符号功能介绍字节地址位地址复位值1WDT_CONTR看门狗控制寄存器E1hxx00 0000第36页/共77页第三十六页,共78页。表4- 11 单片机ISP/IAP特殊(tsh)功能寄存器序号符号功能介绍字节地址位地址复位值1ISP_DATAISP/IAP数据寄存器E2h1111 11112ISP_ADDRHISP/IAP 地址高8位E3h0000 00003ISP_ADDRL ISP/IAP 地址低8位E4h0000 00004ISP_CMDISP/IAP命令寄存器E5hxxxx x0005ISP_TRIGISP/IAP 命令触

30、发寄存器E6hxxxx xxxx6ISP_CONTR ISP/IAP 控制寄存器E7h000 x x000第37页/共77页第三十七页,共78页。以下介绍部分特殊功能寄存器,其它各特殊功能寄存器的功能将在相应的章节介绍。1、AUXR 扩展RAM及ALE管理特殊功能寄存器(见表4- 12)(1)扩展RAM的管理由AUXR特殊功能寄存器的第EXTRAM位来设置。普通89C51/89C52系列单片机的内部RAM只有128(89C51)/256(89C52)供用户使用(shyng),而STC89C52RC系列单片机内部扩展了256字节的RAM。符号功能介绍字节地址位地址复位值AUXR辅助寄存器8EHE

31、XTRAMALEOFFxxxx xx00第38页/共77页第三十八页,共78页。(2)当EXTRAM=0时,内部扩展RAM可存取,此时使用MOVX A,Ri/MOVX Ri,A指令来固定访问00H-FFH内部扩展的RAM空间,当超过FFH的外部RAM则用MOVX A,DPTR/MOVX DPTR,A指令来访问; 当EXTRAM=1时,禁止内部扩展RAM的使用,外部的RAM可以存取,此时MOVX DPTR和MOVX Ri的使用同传统的89C52。有些用户系统因为外部扩展了I/O或者用片选去选多个RAM区,有时(yush)与此内部扩展的RAM逻辑地址上有冲突,于是将此位设置为”1”,禁止访问此内部

32、扩展的RAM就可以了。符号功能介绍字节地址位地址复位值AUXR辅助寄存器8EHEXTRAMALEOFFxxxx xx00第39页/共77页第三十九页,共78页。特别说明:请尽量用MOVX A,Ri/MOVX Ri,A指令访问内部扩展RAM,这样只能访问256字节的扩展RAM,可与很多单片机兼容,以达到完全兼容以前老产品的目的。另外(ln wi),在访问内部扩展RAM之前,用户还需在烧录用户程序时在STC-ISP编程器中设置允许内部扩展AUX-RAM访问,如图4- 6所示。第40页/共77页第四十页,共78页。(3)当ALEOFF=0时,在12时钟模式时ALE脚输出固定的1/6晶振频率信号,在6

33、时钟模式时输出固定的1/3晶振频率信号。 当ALEOFF=1时,ALE引脚仅在执行(zhxng)MOVX或MOVC指令时才输出信号,好处是降低了系统对外界的电磁干扰。符号功能介绍字节地址位地址复位值AUXR辅助寄存器8EHEXTRAMALEOFFxxxx xx00第41页/共77页第四十一页,共78页。2、AUXR1 双数据指针控制特殊(tsh)功能寄存器(见表4- 13)(1)GF2通用功能用户自定义位。由用户根据需要自定义使用(shyng)。(2)DPS是DPTR寄存器选择位。当DPS=0时,选择数据指针DPTR0;当DPS=1时,选择数据指针DPTR1。AUXR1特殊功能寄存器位于A2H

34、单元,不可用位操作指令快速访问。但由于DPS位位于bit0,故对AUXR1寄存器用INC指令,DPS位便会反转,由0变成1或由1变成0,即可实现双数椐指针的快速切换。符号功能介绍字节地址位地址复位值AUXR1辅助寄存器A2HGF2DPSxxxx 0 xx0第42页/共77页第四十二页,共78页。3、堆栈(duzhn)指针SPSP指示堆栈(duzhn)顶部在内部RAM块中的位置。该微处理器的堆栈(duzhn)结构是向上生长型。单片机复位后,SP为07H,使得堆栈(duzhn)实际上从08H单元开始,由于08H1FH单元分别是属于13组的工作寄存器区,最好在复位后把SP值改置为60H或更大的值,避

35、免堆栈(duzhn)与工作寄存器冲突。堆栈(duzhn)操作只有两种:数据压入(PUSH)堆栈(duzhn)和数据弹出(POP)堆栈(duzhn)。数据压入堆栈(duzhn),SP自动加1;数据弹出堆栈(duzhn),SP自动减1。堆栈(duzhn)是为子程序调用和中断操作而设,主要用来保护断点地址和现场状态。第43页/共77页第四十三页,共78页。4、累加器A使用最频繁的寄存器,可写为Acc。A的进位标志Cy是特殊的,因为它同时又是位处理机的位累加器。累加器A的作用是ALU单元的输入数据源之一,又是ALU运算结果存放单元。数据传送大多都通过累加器A,相当于数据的中转站。5、寄存器B为执行乘法

36、和除法而设。在不执行乘、除法操作的情况下,可把它当作一个普通寄存器来使用。执行乘法时,两乘数(chn sh)分别在A、B中,执行乘法指令后,乘积在BA中;执行除法时,被除数取自A,除数取自B,商存放在A中,余数存放在B中。第44页/共77页第四十四页,共78页。6、程序(chngx)状态字寄存器PSW(Program Status Word)(见表4- 14)PSW包含了程序运行状态的信息,其中4位保存当前指令执行后的状态,供程序查询和判断。PSW中各个位的功能(gngnng):(1)Cy()进位标志位Cy可写为C。在算术和逻辑运算时,若有进位/借位,Cy1;否则,Cy0。在位处理器中,它是位

37、累加器。(2)Ac()辅助进位标志位在BCD码运算时,用作十进位调整。即当D3位向D4位产生进位或借位时,Ac1;否则,Ac0。符号字节地址位地址复位值PSWD0HCyAcF0RS1RS0OVP0000 0000第45页/共77页第四十五页,共78页。6、程序(chngx)状态字寄存器PSW(Program Status Word)(见表4- 14)(3)F0()用户设定标志(biozh)位由用户使用的一个状态标志(biozh)位,可用指令来使它置1或清0,控制程序的流向。用户应充分利用它。(4)RS1、RS0(、)4组工作寄存器区选择选择片内RAM区中的4组工作寄存器区中的某一组为当前工作寄

38、存区见表4- 15。符号字节地址位地址复位值PSWD0HCyAcF0RS1RS0OVP0000 0000第46页/共77页第四十六页,共78页。6、程序(chngx)状态字寄存器PSW(Program Status Word)(见表4- 14)(5)OV(PSW.2)溢出标志位当执行算术指令时,用来(yn li)指示运算结果是否产生溢出。如果结果产生溢出,OV=1;否则,OV=0。 保留位(7)P(PSW.0)奇偶标志位指令执行完,累加器A中“1”的个数是奇数还是偶数。P=1,表示A中“1”的个数为奇数。P=0,表示A中“1”的个数为偶数。此标志位对串行通信有重要的意义,常用奇偶检验的方法来检

39、验数据串行传输的可靠性。符号字节地址位地址复位值PSWD0HCyAcF0RS1RS0OVP0000 0000第47页/共77页第四十七页,共78页。4.4 STC89C52单片机I/O口STC89C52RC单片机所有I/O端口均有3种工作类型(lixng):准双向口/弱上拉(标准8051输出模式)、仅为输入(高阻)或开漏输出功能。第48页/共77页第四十八页,共78页。4.4.1 P0端口P0口是一个双功能的8位并行端口,字节(z ji)地址为80H,位地址为80H87H。端口的各位具有完全相同但又相互独立的电路结构。P0口上电复位后处于开漏模式,当P0管脚作I/O口时,需外加的上拉电阻,当P

40、0管脚作为地址/数据复用总线使用时,不用外加上拉电阻。第49页/共77页第四十九页,共78页。 当P0口线锁存器为0时,开漏输出关闭所有上拉晶体管。当P0口作为一个逻辑输出时,这种配置方式必须有外部上拉电阻,一般通过电阻外接到Vcc。如果外部有上拉电阻,开漏的I/O口还可以读外部状态(zhungti),即此时被配置为开漏模式的I/O口还可以作为输入I/O口。这种方式的下拉与准双向口相同。输出口线配置如图4- 7所示,开漏端口带有一个干扰抑制电路。第50页/共77页第五十页,共78页。4.4.2 P1/P2/P3/P4端口STC89C52RC系列单片机的P1/P2/P3/P4上电复位后为准双向口

41、/弱上拉(传统8051的I/O口)模式。准双向口输出类型可用作输出和输入功能(gngnng)而不需重新配置口线输出状态。这是因为当口线输出为1时驱动能力很弱,允许外部装置将其拉低。当引脚输出为低时,它的驱动能力很强,可吸收相当大的电流。准双向口有3个上拉晶体管适应不同的需要。即:要想获得较大的驱动能力,采用低电平输出。第51页/共77页第五十一页,共78页。在3个上拉晶体管中,有1个上拉晶体管称为“弱上拉”,当口线寄存器为1且引脚本身(bnshn)也为1时打开。此上拉提供基本驱动电流使准双向口输出为1。如果一个引脚输出为1而由外部装置下拉到低时,弱上拉关闭而“极弱上拉”维持开状态,为了把这个引

42、脚强拉为低,外部装置必须有足够的灌电流能力使引脚上的电压降到门槛电压以下。输出(shch)11弱上拉管提供(tgng)电流输出00灌电流,导通第52页/共77页第五十二页,共78页。第2个上拉晶体管,称为“极弱上拉”,当口线锁存为1时打开。当引脚悬空时,这个极弱的上拉源产生很弱的上拉电流将引脚上拉为高电平。第3个上拉晶体管称为“强上拉”。当口线锁存器由0到1跳变时,这个上拉用来加快( ji kui)准双向口由逻辑0到逻辑1转换。当发生这种情况时,强上拉打开约2个时钟以使引脚能够迅速地上拉到高电平。准双向口输出如图4- 8所示。输出(shch)1悬空(xunkng)极弱上拉管上拉电流0到10到1

43、第53页/共77页第五十三页,共78页。如果(rgu)用户向3V单片机的引脚上加5V电压,将会有电流从引脚流向Vcc,这样导致额外的功率消耗。因此,建议不要在准双向口模式中向3V单片机引脚施加5V电压,如使用的话,要加限流电阻,或用二极管做输入隔离,或用三极管做输出隔离。准双向口带有一个干扰抑制电路。准双向口读外部状态前,要先锁存为“1”,才可读到外部正确的状态。第54页/共77页第五十四页,共78页。4.4.3 5V单片机连接3V器件STC89C52RC的5V单片机的P0口的灌电流最大为12mA,其他I/O口的灌电流最大为6mA。P0口驱动能力是其它端口的2倍。8个LSTTL输入。当STC8

44、9C52RC系列(xli)5V单片机连接器件时,为防止器件承受不了5V,可将相应的5V单片机P0口先串一个0330的限流电阻到器件I/O口,相应的器件I/O口外部加10K上拉电阻到器件的Vcc,这样高电平是,低电平是0V,输入输出一切正常。其配置见图4- 9。第55页/共77页第五十五页,共78页。4.5 STC89C52单片机的时钟(shzhng)与复位4.5.1 传统(chuntng)51单片机时序单片机工作时,是在统一的时钟脉冲控制下一拍一拍地进行的。时钟电路产生单片机工作时所必需的控制信号,在时钟信号的控制下,严格按时序执行指令。由于指令的字节数不同,取这些指令所需要的时间也就不同,即

45、使是字节数相同的指令,由于执行操作有较大的差别,不同的指令执行时间也不一定相同,即所需的拍节数不同。为了便于对CPU时序进行分析,一般按指令的执行过程规定了几种周期,即时钟周期、机器周期和指令周期,也称为时序定时单位。第56页/共77页第五十六页,共78页。1. 时钟周期也称为振荡周期,定义为时钟脉冲的倒数,是计算机中最基本的、最小的时间单位。可以这么理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时钟周期就是1/12 us。显然,对同一种机型的单片机,时钟频率越高,单片机的工作速度就越快。但是,由于不同的单片机硬件(yn jin)电路和器件的不完全相同,所以其所需要的时钟频率范

46、围也不一定相同。在单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。第57页/共77页第五十七页,共78页。2. 机器周期在单片机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要(xyo)的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。51系列单片机的一个机器周期由6个S周期(状态周期)组成。前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),51单片机的机器周期由6个状

47、态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。第58页/共77页第五十八页,共78页。由图4- 10可知:1个机器周期包括12个时钟(shzhng)周期,分6个状态:S1S6。每个状态又分两拍:P1和P2。因此,一个机器周期中的12个时钟(shzhng)周期表示为S1P1、S1P2、S2P1、S2P2、S6P2。第59页/共77页第五十九页,共78页。3. 指令周期指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期数也不同。对于一些简单的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它(qt)的机器周期。对于一

48、些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。51单片机的指令系统中,按它们的长度可分为单字节指令、双字节指令和三字节指令。从指令执行时间看:单字节和双字节指令一般为单机器周期和双机器周期;三字节指令都是双机器周期;乘、除指令占用四个机器周期。第60页/共77页第六十页,共78页。4.5.2 STC89C52单片机时钟电路单片机工作时,是在统一的时钟脉冲控制下一拍一拍地进行的。这个脉冲是由单片机控制器中的时序电路发出的。单片机的时序就是CPU在执行指令时所需控制信号的时间顺序,为了保证(

49、bozhng)各部件间的同步工作,单片机内部电路应在唯一的时钟信号下严格地控制时序进行工作。CPU发出的时序信号有两类,一类用于对片内各个功能部件控制,用户无须了解;另一类用于对片外存储器或I/O口的控制,这部分时序对于分析、设计硬件接口电路至关重要。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。第61页/共77页第六十一页,共78页。1内部时钟方式(fngsh)STC89C52内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡

50、器和微调电容,构成一个稳定的自激振荡器。2外部时钟方式(fngsh) 此方式(fngsh)利用外部振荡脉冲接入XTAL1或XTAL2。对于STC89C52RC系列单片机,因内部时钟发生器的信号取自反相器的输入端,故采用外部时钟源时,接线方式(fngsh)为外部时钟源直接接到XTAL1端,XTAL2端悬空。用现成的外部振荡器产生脉冲信号,常用于多片单片机同时工作,以便于多片单片机之间的同步,一般采用内部时钟方式(fngsh)产生工作时序,如图4- 11所示。第62页/共77页第六十二页,共78页。时钟电路(dinl)中的R、C的参数值的设置情况如表4- 16所示。晶振增益控制晶振增益控制OSCD

51、N=full gainOSCDN=full gain晶振晶振频率频率4MHz4MHz6MHz6MHz12M-12M-25MHz25MHz26M-26M-30MHz30MHz31M-31M-35MHz35MHz36M-36M-39MHz39MHz40M-40M-43MHz43MHz44M-44M-48MHz48MHzC2C2、C3C3=100=100pFpF47pF-47pF-100pF100pF=47pF=47pF=10pF=10pF=10pF=10pF=10pF=10pF=10pF=10pF=5pF=5pFR1R1不用不用不用不用不用不用6.8K6.8K5.1K5.1K4.7K4.7K3.3

52、K3.3K3.3K3.3K晶振增益控制晶振增益控制OSCDN=1/2 gainOSCDN=1/2 gain晶振晶振频率频率4MHz4MHz6MHz6MHz12M-12M-25MHz25MHz26M-26M-30MHz30MHz31M-31M-35MHz35MHz36M-36M-39MHz39MHz40M-40M-43MHz43MHz44M-44M-48MHz48MHzC2C2、C3C3=100=100pFpF47pF-47pF-100pF100pF=47pF=47pF=10pF=10pF不用不用不用不用不用不用不用不用R1R1不用不用不用不用不用不用6.8K6.8K5.1K5.1K4.7K4.

53、7K3.3K3.3K3.3K3.3K第63页/共77页第六十三页,共78页。图4- 12 振荡器增益(zngy)设置第64页/共77页第六十四页,共78页。 STC89C52RC系列单片机是真正的6T单片机,传统的8051为每个机器周期12个时钟周期,如将该单片机设为双倍速即每个机器周期为6个时钟周期,则可将单片机外部时钟频率(pnl)降低一半,有效降低单片机时钟对外界的干扰。同时STC89C52RC系列兼容普通12T的单片机。STC89C52RC系列的HD版本的单片机推荐工作时钟频率(pnl)如表4- 17所示。内部时钟方式:外接晶振内部时钟方式:外接晶振外部时钟方式:直接由外部时钟方式:直

54、接由XTAL1输入输入12T模式模式6T模式模式12T模式模式6T模式模式2MHz48MHz2MHz36MHz2MHz48MHz2MHz36MHz第65页/共77页第六十五页,共78页。4.5.3 STC89C52单片机的复位电路复位是单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件(bjin)处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。STC89C52RC系列单片机有4种复位方式:外部RST引脚复位、软件复位、掉电复位、上电复位、看门狗复位。第66页/共7

55、7页第六十六页,共78页。1)外部RST引脚复位外部RST引脚复位就是从外部向RST引脚施加一定宽度的复位脉冲,从而实现单片机的复位。将RST复位引脚拉高并维持至少24个时钟加10us后,单片机会进入复位状态,将RST复位引脚拉回低电平后,单片机结束复位状态并从用户程序区的0000H处开始正常工作。采用阻容复位电路时,电容(dinrng)C1为10uF,电阻R1为10K。电路如图4- 13所示。第67页/共77页第六十七页,共78页。2)软件复位用户应用程序在运行过程中,有时会有特殊需求,需要实现单片机系统软复位(热启动之一),传统的8051单片机由于硬件上未支持此功能,用户必须(bx)用软件

56、模拟实现,实现起来较麻烦。现STC新推出的增强型8051根据客户要求增加了ISP_CONTR特殊功能寄存器,实现了此功能。用户只需简单的控制ISP_CONTR特殊功能寄存器的其中两位SWBS/SWRST就可以系统复位了。第68页/共77页第六十八页,共78页。3)掉电复位/上电复位当电源电压VCC低于上电复位/掉电复位电路的检测门槛(mnkn)电压时,所有的逻辑电路都会复位。当VCC重新恢复正常电压时,HD版本的单片机延迟2048个时钟(90版本单片机延迟32768个时钟)后,上电复位/掉电复位结束。进入掉电模式时,上电复位/掉电复位功能被关闭。第69页/共77页第六十九页,共78页。4)看门

57、狗复位在工业控制、汽车电子、航空航天等需要高可靠性的系统中,为了(wi le)防止“系统在异常情况下,受到干扰,MCU/CPU程序跑飞,导致系统长时间异常工作”,通常是引进看门狗,如果MCU/CPU不在规定的时间内按要求访问看门狗,就认为MCU/CPU处于异常状态,看门狗就会强迫MCU/CPU复位,使系统重新从头开始按规律执行用户程序。STC89C52RC系列单片机为此功能增加了特殊功能寄存器WDT_CONTR看门狗控制寄存器。第70页/共77页第七十页,共78页。4.5.4 STC89C52单片机的复位状态1. 复位后各寄存器的起始状态复位时,PC初始化为0000H,程序从0000H单元开始

58、执行。复位操作还对其他一些寄存器有影响,这些寄存器复位时的状态见表4- 18。由表4- 18可看出,复位时,SP=07H ,而P0P3引脚均为高电平。在某些控制应用中,要注意考虑P0P3引脚的高电平对接在这些引脚上的外部电路的影响。例如,当P1口某个引脚外接一个继电器绕组,当复位时,该引脚为高电平,继电器绕组就会有电流(dinli)通过,就会吸合继电器开关,使开关接通,可能会引起意想不到的后果。第71页/共77页第七十一页,共78页。寄存器寄存器初始状态初始状态寄存器寄存器初始状态初始状态PCPC0000H0000HTMODTMOD00H00HAccAcc00H00HTCONTCON00H00HPSWPSW00H00HTH0TH00

温馨提示

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

评论

0/150

提交评论