《【大学课件】80C51内核衍生型单片机芯片及应用PPT》由会员分享,可在线阅读,更多相关《【大学课件】80C51内核衍生型单片机芯片及应用PPT(101页珍藏版)》请在金锄头文库上搜索。
1、第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N第5章80C51内核衍生型单片机芯片及应用以增强型MCS-51作内核的衍生型嵌入式单片机芯片品种很多,如P8XC51RX、P89C66X、P89C6XX2、P8XC55X、P8XC59X、LPC76X、LPC900系列等。本章将简要介绍通用性较强、性价比高、硬件资源丰富的8XC51RX、P89C6XX2、P89C66X以及SST公司的SST89E(V)系列单片机芯片特点、新增硬件资源及其使用方法。在表达过程中,采用比照手法,着重,甚至仅仅介绍这些芯片新增功能及其用法,不介绍与8XC5X、8XC5XX2系
2、列相同的硬件功能。8/29/20248/29/20245.189C51RX系列单片机概述系列单片机概述89C51RX系列单片机以增强型MCS-51CPU作内核,硬件资源、指令系统、引脚排列与相同封装形式的增强型80C51芯片保持100%兼容。与增强型MCS-51相比,89C51RX系列的最大特点是扩展了片内存储器的种类、容量,在89C51RX系列芯片中程序存储器容量最大为64KB,片内RAM存储器容量为5121024字节,并集成了可编程计数器阵列PCA(与Intel8XC51FX系列内嵌的可编程计数器阵列兼容)、硬件看门狗计数器WDT。可见,89C51RX系列硬件资源丰富,一片89C51RX芯
3、片即可构成一个功能相对较完善的单片机应用系统。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N89C51RX系列包括Philips公司的P89C51RXXH系列(Philips公司第一代89C51RX系列芯片)、P89C51RXX(Philips公司第二代89C51RX系列芯片)和Atmel公司的89C51RX系列包括AT89C51RX系列、T89C51RX、TS87C51RX以及SST公司的SST89E(V)554RC、SST89E(V)564RD和SST89E(V)5XRD2芯片。8/29/20248/29/2
4、024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.2P89C51RX引脚功能引脚功能P89C51RX系列具有PDIP40、PLCC44CLCC44LQFP44三种封装形式,引脚排列与相同封装形式的增强型MCS-51芯片保持兼容,如图5-2所示。由于P89C51RX比增强型MCS-51多了5模块可编程计数器阵列PCA,因此P1口的引脚具有复用功能,既可作为一般I/O引脚使用,也可作为5个PCA模块的计数脉冲输入端、捕获/比较模式外部输入/输出端。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯
5、片及应用P PA A N N8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N图5-2P89C51RX系列芯片封装形式及引脚排列8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.3 P89C51RX系列片内存储器结构系列片内存储器结构在介绍89C51RX系列CPU内部资源前,先列出89C51RX系列芯片特殊功能
6、存放器或存放器位,如表5-3所示。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.3.1片内程序存储器89C51RX系列采用FlashROM作为片内程序存储器,容量从8KB64KB,无须通过EPROM、FlashROM芯片扩展外部程序存储器,因此引脚一般通过2.0K4.7K电阻接电源Vcc。可以在通用编程器上对89C51RX系列芯片编程,也可以用ISP、IAP方式进行编程。8/29/20248/29/20245.3.2片内数据存储器P89C51RX数据存储器包括片内RAM和外部RAM两大局部,其中片内RAM存储
7、器由256字节的内部RAM与增强型MCS-51芯片相同和256768字节的内部扩展RAM组成,如图5-3所示。图5-3P89C51RX/87C51RX存储器结构8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N256字节内部RAM、外部RAM读写方法与增强型MCS-51相同;内部扩展RAM地址空间与外部RAM地址空间重叠,也是通过MOVX指令读写。为区别MOVX指令的读写对象是内部扩展RAM,还是外部RAM,在89C51RX系列辅助功能存放器AUXR中增加了EXTRAM选择位。当EXTRAM为0时,MOVX指令读写对
8、象为内部扩展RAM;反之,当EXTRAM为1时,MOVX指令读写对象为外部RAM。由于复位时,AUXR存放器内容为xxxxxx00B,因此复位后,MOVX指令读写对象为内部扩展RAM。当需要读写外部RAM时,须通过如下指令,将EXTRAM位置1。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N NORAUXR,#00000010B;由于AUXR寄存器不具有位寻址功能,只能通过或;指令将指定位置1。MOVDPTR,#XXXXH;外部RAM地址送DPTR。MOVXA,DPTR;读外部RAM单元内容。在读写内部扩展RAM期间
9、,P0、P2口及、引脚无效,因此当以R0或R1作间接寻址寄存器读写扩展RAM时,只能访问扩展RAM前256字节。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.4可编程计数器阵列可编程计数器阵列PCA及应用及应用P89C51RX系列可编程计数器阵列含有5个结构相同的16位捕捉/比较计数器,每个模块均可以编程为捕捉模式、软件定时器模式、高速输出模式、脉宽调制(PWM)模式,此外模块4还可作为看门狗定时器WDT使用,如图5-4所示。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内
10、核衍生型单片机芯片及应用P PA A N N图5-4可编程计数器阵列PCA8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.4.1PCA结构及控制结构及控制在P89C51RX中,为简化硬件结构,PCA单元电路内五个计数模块共用一个16位加法计数器CH和CL作为记时基准,计数脉冲来源由PCA模式存放器CMOD的CPS1、CPS0位决定,允许/禁止PCA计数器计数由PCA控制存放器CCON的CR位控制,如图5-5所示。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯
11、片及应用P PA A N N图5-5PCA计数器及控制8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N NPCA中断控制逻辑如图5-6所示。当某一模块产生捕捉将PCA计数器捕捉到相应模块捕捉/比较存放器或匹配PCA计数器与相应模块捕捉/比较存放器相等时,CCON存放器相应模块匹配/捕捉标志位CCFn置1,能否产生PCA中断请求由相应模块的ECCFn位控制。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N图5-6PCA中断控制逻辑8/29/2
12、0248/29/20241. PCA模式存放器模式存放器CMOD PCA模式存放器CMOD各位含义如下:(1)CPS1、CPS0用于选择PCA计数器计数脉冲来源。PCA内五个模块共用一个16位加法计数器CH和CL,计数脉冲来源由CMOD存放器的CPS1、CPS0位决定:CPS1、CPS1、CPS0计数脉冲源0000内部时钟信号fosc/66时钟模式或fosc/1212时钟模式0101内部时钟信号fosc/26时钟模式或fosc/412时钟模式(可见,PCA模块最高计数频率比T0、T1、T2高了3倍)1010定时器T0的溢出脉冲。11来自引脚的外部脉冲。在6时钟模式下,外部脉冲最高频率为fosc
13、/4;在12时钟模式下,外部脉冲最高频率为fosc/8。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N(2)ECFPCA计数器CH/CL溢出中断允许。当PCA计数器溢出时,PCA控制存放器CCON的溢出标志CF有效。如果ECF=1,且中断允许存放器IE的EC、EA位为1,那么CPU将响应PCA计数器溢出中断。(3)CIDL节电状态下PCA运行控制。当CIDL=0时,在节电状态下,PCA计数器继续计数图5-5中的与非门输出恒为1,与PCON存放器节电运行控制位IDL内容无关;反之,当CIDL=1时,在节电状态下,P
14、CA计数器停止计数由于CIDL位为1,图5-5中与非门输出状态由PCON存放器节电运行控制位IDL决定,当IDL位为1时,与非门输出为0,PCA计数器停止计数。(4)WDTE禁止/允许模块4看门狗工作。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N2. PCA计数器数器CH和和CL 16位加法计数器,计数脉冲由CMOD存放器的CPS1、CPS0位定义,每来一个脉冲,计数器加1,当CH溢出时,CCON存放器内的溢出标志CF置位。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍
15、生型单片机芯片及应用P PA A N N3. PCA控制存放器控制存放器CCON(具有位地址具有位地址 (1)CCF4CCF0分别是模块40的中断标志位。当产生匹配比较或捕捉时由硬件置1。但CPU响应PCA中断请求后,不能自动去除,需要软件清0。(2)CRPCA计数器启动控制位。在正常状态下,CR=1时,计数脉冲开关闭合,每来一个计数脉冲,计数器加1;当CR=0时,PCA计数器停止计数。(3)CFPCA计数器溢出标志。当PCA计数器溢出时,CF自动置1不自动去除,需要软件清0。8/29/20248/29/20244. 模块比较模块比较/捕捉存放器捕捉存放器CCAPnH和和CCAPnL和模块和模
16、块 模式存放器模式存放器CCAPMn 每一模块对应一个16位比较/捕捉存放器即高8位CCAPnH和低8位CCAPnL、模块工作方式存放器CCAPMn。每一模块的工作方式由对应模块的工作方式存放器CCAPMn决定,如模块0的工作方式由模块0的工作方式存放器CCAPM0决定、模块1的工作方式由模块1的工作方式存放器CCAPM1决定,依此类推,模块4的工作方式由模块4的工作方式存放器CCAPM4决定。模块工作方式存放器CCAPM0CCAPM4结构、各位含义相同,如下所示:8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N NC
17、CAPMn(n=04)寄存器位模块工作方式-ECOMnCAPPnCAPNnMATnTOGnPWMnECCFnX0000000无XX10000X16位捕捉(CEXn引脚上升沿触发)XX01000X16位捕捉(CEXn引脚下降沿触发)XX11000X16位捕捉(CEXn引脚上、下沿触发)X100100X16位软件定时器X100110X16位高速输出X10000108位PWM输出X1001X0X看门狗定时器(模块4)表5-4PCA模块工作方式8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.4.2PCA模块初始化步骤P
18、CA模块初始化步骤包括:(1)初始化PCA模式存放器CMOD,选择PCA计数器计数脉冲源、允许/禁止节电状态下PCA计数器计数、禁止/允许PCA计数器溢出中断。(2)计数初值送CH/CL,完成PCA计数器CH/CL的初试化。(3)初始化相应模块工作方式存放器CCAPMn,选择所需的工作模式。(4)初始化相应模块的比较/捕捉存放器CCAPnL、CCAPnH。注意:必须先初始化低8位CCAPnL,后初始化CCAPnH,否那么会关闭模式存放器CCAPMn的ECOMn位或者说完成CCAPnH存放器初始化后,比较器使能控制ECOMn位自动置1。(5)启动PCA计数器即执行“SETBCR命令,将CCON存
19、放器的CR位置1。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.4.3PCA模块工作模式8/29/20248/29/20241.捕捉模式捕捉模式当CCAPMn存放器的CAPP上升沿捕捉、CAPN下降沿捕捉之一为1,而其他位为0时,相应的PCA模块就工作于捕捉模式,如图5-7所示。图5-7捕捉模式8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N2.软件定时器软件定时器当PCA模式存放器CMOD的WDTE位为0;而模块模式CCAPMn
20、存放器的MAT位为1否那么匹配时相应CCFn位不置1,无法通过查询或中断方式确定定时时间到,其他位为0时,相应PCA模块工作于定时器状态,定时时间由CH/CL初值、模块比较/捕捉存放器CCAPnH、CCAPnL决定,如图5-8所示。完成比较/捕捉存放器高8位CCAPnH装入后,ECOM位置1,比较即处于允许状态。当PCA计数器等于模块比较/捕捉存放器即发生匹配时,CCON存放器相应标志位CCFn即有效,如果ECCFn位为1,将产生PCA中断请求。8/29/20248/29/2024图5-8PCA软件定时器模式当PCA模块工作于软件定时模式时,不影响相关引脚的状态,即相应CEXn引脚依然可作为I
21、/O引脚使用。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N3.高速输出模式高速输出模式高速输出模式也是一种软件定时方式。在软件定时模式中,如果模块控制存放器CCAPMn的TOG位为1,那么匹配定时时间到时,将触发CEXn引脚状态翻转。当MATn、ECCFn位为1时,触发引脚翻转的同时,将产生PCA中断请求,如图5-9所示。使用高速PCA模式触发引脚状态获得的定时信号比用软件定时器在中断效劳程序中通过或指令获得的定时信号要精确得多。8/29/20248/29/2024图5-9高速输出模式8/29/20248/29
22、/20244.8位位PWM输出输出8位PWM输出结构如图5-10所示。图5-108位PWM输出方式8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.看门狗模式看门狗模式图5-14PCA看门狗方式8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N如果PCA模式存放器CMOD的WDTE位为1,且模块4的模式存放器CCAMP4为01001x0xB时,那么模块4工作于看门狗状态,如图5-14所示。将初值写入模块4比较/捕捉存放器高8位后,模块4
23、的模式存放器CCAPM4的ECOM4位即为1允许比较,看门狗定时器就开始工作:当PCA计数器等于模块4的比较/捕捉存放器时,高电平的匹配输出信号将触发CPU内部复位操作与硬件看门狗WDT不同,PCA模块4看门狗仅引起CPU内部复位,但不会将CPU的复位引脚RST置高电平。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.589C51RX系列中断控制系统89C51RX系列中断控制系统与增强型MCS-51相同,但由于89C51RX系列内嵌了PCA计数阵列,因此89C51RX系列具有7个中断源6个增强型MCS-51中断
24、源+PCA中断源。89C51RX系列使用增强型MCS-51中断控制存放器IE、中断优先级控制存放器IP和IPH中的保存位分别作为PCA中断允许位和优先级控制位,PCA中断入口地址规定为0033B。即在89C51RX系列中IE存放器的b6位是PCA中断允许/禁止控制位,IP、IPH的b6位是PCA中断优先级控制位。如图5-15所示。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N(a)89C51RX中断控制存放器IE8/29/20248/29/2024(b)89C51RX中断优先级IP(c)89C51RX中断优先级高
25、位IPH8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N在同优先级中断中,硬件查询顺序如下:中断源入口地址外中断0003H定时器T0溢出中断000BH外中断0013H定时器T1溢出中断001BHPCA计数器中断0033H串行口中断0023H定时器T2中断002BH8/29/20248/29/20245.7P89C6XX2系列2002年4月,Philips公司推出了P89C6XX2系列芯片,该系列芯片实际上是P89C51RX芯片的简化版,功能介于P89C5XX2系列和P89C51RX系列之间。与P89C51RX系列相
26、比,最大特征是去掉了PCA模块相应地也就没有与PCA模块有关的特殊功能存放器;而与P89C5XX2系列相比,片内程序存储器容量大64KB,且集成了256B768B的片内扩展RAM即ERAM,其中ERAM读写方法与P89C51RX相同。硬件资源、引脚排列、指令系统与P89C5XX2保持100%兼容。该系列主要包括P89C60X2(64KBFlashROM、256字节内部RAM+256字节的片内扩展RAM)、P89C61X2(64KBFlashROM、256字节内部RAM+768字节的片内扩展RAM)芯片,非常适合需要少量数据存储器的单片机应用系统。8/29/20248/29/2024第第5章章8
27、0C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N由于P89C60X2/61X2带有片内扩展RAM,与P89C5XX2系列相比,辅助存放器AUXR各位含义与P89C51RX相同,也是通过EXTRAM控制位现实内部扩展RAM与外部RAM之间的切换,其他方面,如硬件资源、特殊功能存放器(位)地址及各位含义与P89C5XX2系列完全相同,不再重复。8/29/20248/29/20245.8P89C66X系列简介P89C66X系列芯片包括了P89C660、P89C662、P89C664、P89C668四款芯片,他们之间的差异仅仅是片内程序存储器、片内扩展RAM容量的不同,
28、其中P89C660含有16KB的片内程序存储器,256字节片内扩展RAM;P89C662含有32KB的片内程序存储器,768字节片内扩展RAM;P89C664含有64KB的片内程序存储器,1792字节片内扩展RAM;P89C668含有64KB的片内程序存储器,7936字节片内扩展RAM。P89C66X系列硬件资源与与P89C51RX系列根本相同,惟一区别是:加大了片内RAM的容量,其中P89C668片内RAM容量为8KB,扣除与标准80C52系列兼容的可直接寻址的256字节内部RAM后,片内扩展RAM容量高达7936字节;增加了I2C总线功能,因此增加了与I2C总线控制有关的特殊功能存放器,相
29、应地中断数量也增加到8个。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.8.1封装形式及引脚功能P89C66x采用PLCC44、PQFP44两种封装形式,引脚排列与相同封装形式的P89C51RX系列兼容,惟一区别是P89C66X系列集成了I2C总线接口单元电路,因此引脚具有复用功能,既可以作为P1口I/O引脚使用,也可以作为I2C总线时钟信号SCL和数据线SDA,如下所示:P1.6/SCL;漏极开路。P1口I/O引脚输入/输出;I2C总线同步时钟信号当处理器作为主器件时,输出;当处理器作为从器件时,输入。P1
30、.7/SDA;漏极开路。P1口I/O引脚输入/输出;I2C总线数据/地址线,双向。8/29/20248/29/20245.8.2PCA模块P89C66X系列内的PCA模块功能与P89C51RX系列兼容,惟一区别是PCA模块局部特殊功能存放器地址不同,如表5-5所示。寄存器名功能描述P89C66X系列地址P89C51RX系列地址CCONPCA控制寄存器*C0HD8HCMODPCA模式寄存器C1HD9HCCAPM0模块0模式寄存器C2HDAHCCAPM1模块1模式寄存器C3HDBHCCAPM2模块2模式寄存器C3HDCHCCAPM3模块3模式寄存器C5HDDHCCAPM4模块4模式寄存器C6HDE
31、H8/29/20248/29/20245.8.3中断系统由于P89C66X系列增加了I2C总线接口单元电路,因此中断源的数量增加到8个,即多了I2C总线中断标志SI,需要9个中断允许/禁止控制位,因此P89C66X系列与中断控制有关的特殊功能存放器比P89C51RX系列多,具体如下:1.中断允许控制存放器(IEN0和IEN1)P89C66X系列中断允许控制存放器(IEN0和IEN1)各含义如图5-16所示。(a)中断允许控制存放器IEN08/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N(b)中断允许控制寄存器IEN
32、1图5-16中断允许控制在P89C66X系列中,中断控制存放器IEN0相当于增强型MCS-51系列的IE存放器,但I2C总线中断允许占用了定时器T2的中断允许位,而将定时器T2中断允许位ET2放在IEN1存放器中。8/29/20248/29/20242.中断优先级控制存放器IP和IPH(a)P89C66X系列中断优先级IP(b)P89C66X系列中断优先级高位8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N在同优先级中断源中,硬件查询顺序如下:中断源入口地址外中断0003HI2C中断002BH定时器T0溢出中断00
33、0BH外中断0013H定时器T1溢出中断001BH串行口中断0023H定时器T2中断003BHPCA计数器中断0033H可见,在P89C66X系列中,中断优先级控制存放器IP、IPH与增强型MCS-51系列IP、IPH根本相同,但I2C总线中断优先级占用了原定时器T2的中断优先级,而将定时器T2中断优先级放在IP、IPH的b7位8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.9SST公司SST89E(V)RD及SST89C5XRD2系列芯片1.SST89E(V)系列芯片特点系列芯片特点SST(SiliconSt
34、orageTechnology)公司SST89E(V)系列芯片包括了SST89E554RC、SST89V554RC、SST89E564RD、SST89V564RD、SST89E554A以及SST89E(V)5XRD2系列芯片,与Philips、Atmel公司的89C51RX系列兼容性好内置的5模块可编程计数器阵列PCA与P89C51RX系列完全兼容,但功能更强功能及技术指标与Philips公司的P89V51RD2、P89LV51RD2相似,价格更低8/29/20248/29/2024主要差异如下:(1)大局部型号集成了SPI总线接口。(2)硬件看门狗溢出时间可调而P89C51RX系列内置的硬件
35、看门狗属于“一次使能复位输出,溢出时间不调。(3)提供软件复位功能,并内置了掉电检测电路(而P89C51RX系列只有上电检测电路)。(4)程序存储器结构略有不同,将程序存储器分为两大块,即Block0和Block1。支持ISP和单字节写入的IAP编程,理论上可作数据存储器使用。但由于程序存储器只支持扇区(容量为128字节)擦除,没有单字节擦除功能,因此当需要重写扇区内任一已编程字节时,先将该扇区内所有字节读到内部扩展RAM中修改,执行扇区擦除操作后,再整体写入。换句话说,需采用“读改擦除写入方式完成。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单
36、片机芯片及应用P PA A N N(5)预置置了了ISP编程程引引导指指令令码,通通过PC串串行行口口即即可可实现代代码写写入入,无无须专用用编程程器器。芯芯片片出出厂厂前前已已将将ISP编程程引引导指指令令码写写入入Block1块的的前前4K(旧旧型型号号为前前2KB)空空间内内。因因此此,最最好好不不要要擦擦除除Bolck1的的前前4KB代代码,以以免免失失去去ISP编程程功功能能意意外外删除除ISP编程程引引导码后后,只只能能通通过并并行行编程器重新写入。程器重新写入。(6)SST89E系系列列所所有有型型号号芯芯片片均均集集成成了了768字字节的的ERAM,读写方式与写方式与P89C5
37、1RX、P89C6XX2相同。相同。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N2.SST89E(V)系列不同型号芯片之间的差异系列不同型号芯片之间的差异SST89E554A、 SST89E(V)5XRD2系 列 (包 括 了SST89E(V)52RD2、SST89E(V)54RD2、SST89E(V)58RD2、SST89E(V)516RD2等芯片)与SST89E(V)564RD、SST89E(V)554RC完全兼容,可直接替换相同存储器容量的SST89E(V)系列芯片,彼此之间区别在于:PLCC及44-le
38、adTQFP封装的SST89C5XRD2系列芯片提供了一个4位的P4口(P4.3P4.0)及两个外部输入端(、),因此SST89C5XRD2系列芯片中断源总数为10个。DIP、PLCC封装引脚排列如图5-18所示。8/29/20248/29/2024图5-18SST89E(V)系列芯片引脚排列8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N2.SST89E(V)系列新增特殊功能存放器系列新增特殊功能存放器(位位)方便查阅、使用,表5-5列出SST89E(V)系列新增的特殊功能存放器及存放器位。表5-5SST89E(
39、V)系列新增特殊功能存放器及存放器位8/29/20248/29/2024SFR寄存器名符号位地址/位定义名字节地址复位后初值b7b6b5B4b3b2b1b0FlashROM配置寄存器SFCF-IAPEN-SWRBSELB1Hx0xxxxxxBFlashROM命令寄存器SFCMFIEb6-b0(FlashROM命令)B2H00HFlashROM地址寄存器SFALFlashROM存储器地址低8位(A7A0)B3H00HFlashROM地址寄存器SFAHFlashROM地址存储器高8位(A15A8)B4H00HFlashROM数据寄存器SFDTB5H00HFlash状态寄存器SFSTSB1SB2SB
40、3-EDCFLASH_BUSY-B6HXxxxx0xxBSPI控制寄存器SPCRSPIESPEDORDMSTRCPOLCPHASPR1SPR0D5H00000100BSPI状态寄存器SPSRSPIFWCOLAAH00xxxxxxBSPI数据寄存器SPDR86H00H看门狗控制寄存器WDTC*-WDOUTWDREWDTSWDTSWDTC0Hxxx00x00b看门狗数据寄存器WDTD85H00H电源控制寄存器PCONSMOD1SMOD0BOFPOFGF1GF0PDIDL87H00010000中断控制寄存器AIEA*-EBO-E8Hxxxx0xxxB中断优先级1低8位IP1*1-1PBOPX3PX2
41、1F8H1xx10001B中断优先级1高8位IP1H1-1PBOHPX3HPX2H1F7H1xx10001B外中断2、3控制寄存器XICON-EX3IE3IT3-EX2IE2IT2AEH00HP4口寄存器P41111P4.3P4.2P4.1P4.0A5HFFH8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N说明:(1)带“*存放器具有位寻址功能。(2)带灰色背景存放器是SST89E554A、SST89E5XRD2系列新增的特殊功能存放器。(3)PCON存放器中除新增的BOF位外,其他位含义与P89C51RX系列相同
42、。(4)P89C51RX系列特殊存放器参见表5-3相比,SST系列没有时钟控制存放器CKCON(即SST时钟选择在FlashROM存 储 器 中 )、 看 门 狗 复 位 存 放 器 WDTRST(因 为SST89E系列看门狗计数器与P89C51RX系列不兼容,有自己专用的控制存放器)。(5)SST89E系列辅助功能存放器AUXR1的b5位没有定义。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.9.1SST89E(V)系列程序存储器结构及映像SST89E(V)564RD、SST89E(V)554RC、SST8
43、9E554A、SST89E(V)5XRD2芯片FlashROM程序存储器由Block0(64KB/32KB/16KB/8KB)和Block1(8KB)组成,支持ISP及单字节写入的IAP编程方式,可作数据存储器使用。每个存储器块被分成假设干扇区,每扇区容量为128字节。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N对SST89E(V)564RD、SST89E(V)516RD2芯片来说,程序存储器实际容量为72KB,其中Block0容量为64KB,物理地址空间为0000FFFFH;Block1容量为8KB,物理地址
44、空间为1000011FFFH。但因PC指针只有16位,最大寻址范围为64KB,这就涉及存储器Block0、Block1重定位问题。对SST89E(V)554RC、SST89E(V)554A、SST89E(V)58RD2芯片来说,程序存储器实际容量为48KB,其中Block0容量为32KB,物理地址空间为00007FFFH;Block1容量为8KB,物理地址空间为E000FFFFH。在SST89E(V)系列单片机芯片中,与程序存储器有关的特殊功能存放器如表5-6所示。表5-6与FlashROM存储器有关特殊功能存放器8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应
45、用内核衍生型单片机芯片及应用P PA A N NSFR寄存器名符号位地址/位定义名字节地址复位后初值b7b6B5B4B3B2b1b0FlashROM配置寄存器SFCF-IAPEN-SWRBSELB1HX0xxxxxxBFlashROM命令寄存器SFCMFIEb6-b0(FlashROM命令)B2H00HFlashROM地址寄存器SFAL低8位地址A7A0B3H00HFlashROM地址寄存器SFAH高8位地址A15A8B4H00HFlashROM数据寄存器SFDTB5H00HFlashROM状态寄存器SFSTSB1SB2SB3-EDCFLASH_BUSY-B6HXxxxx0xxB8/29/20
46、248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N其中:FlashROM配置存放器SFCF各位含义如下:IAPEN(EnableIAPoperation)是IAP操作开关。当IAPEN为1时,允许IAP编程操作;反之禁止IAP操作。BSELProgrammemoryblockswitching是存储器块切换开关;SWRSoftware Reset,即软件复位。当通过软件如ORLSFCF,#02H方式将SWR位置1时,将产生软件复位操作PC指针置为0000H、重新初始化除SFCF1(SWR)、WDTC2(WDTS)两位外所有特殊功能
47、存放器位但不改变内部RAM。复位后,FlashROM配置存放器SFCF的b1、b0为表达方便常用存放器名位编号表示,如SFCF的b1、b0位用SFCF1,0初值由硬件配置位SC1、SC0这两位内容只能通过编程方式设置决定,如表5-7、5-8所示:8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N表5-7SST89E(V)544、SST89E554A、SST89E(V)52RD2、SST89E(V)54RD2、SST89E(V)58RD2复位后FlashROM配置存放器SFCF1,0内容存储器块定位配置位复位后SFCF
48、1,0位内容外部复位、上电复位看门狗计数器溢出复位、掉电复位软件复位SC1SC01(未编程)1(未编程)00(缺省值)X0101(未编程)0(已编程)01X1110(已编程)1(未编程)1010100(已编程)0(已编程)1111118/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N表5-8SST89E(V)564、SST89E(V)516RD2复位后FlashROM配置存放器SFCF1,0内容存储器块地址定位配置复位后SFCF1,0位内容外部复位、上电复位看门狗计数器溢出复位、掉电复位软件复位SC01(未编程)00
49、(缺省值)X0100(已编程)01X1118/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N由此可见,复位后SFCF0即BESL位内容由SC0硬件配置位确定;SFCF1即SWR位内容由SC1硬件配置位确定。当然也可以在运行中,重新设置SFCF0即BESL、SFCF1即SWR位内容。SFCF1,0位状态编码决定了存储器块Block0、Block1在程序存储器地址空间分配,如图5-19、5-20、5-21、5-22所示:8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片
50、及应用P PA A N N图5-19SST89E(V)564RD、SST89V516RD2存储器结构8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N图5-20SST89E(V)554RC、SST89E(V)58RD2存储器结构8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N图5-21SST89E(V)54RD2存储器结构8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA
51、A N N图5-22SST89E(V)52RD2存储器结构8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N对32KB+8KB芯片来说,在 =1情况下,当FlashROM配置寄存器SFCF1,0=00以及SFCF1,0=10或11时,与64KB+8KB芯片相同。而当SFCF1,0=01时,Block0被定位在0000H7FFFH(即低32KB程序存储器空间内),而Block1位于程序存储器空间最后8KB,即E000HFFFFH。SST89E(V)52RD2、SST89E(V)54RD2芯片存储器结构与SST89E(V
52、)58RD2相似,只是Bolck0存储块容量小,分别为8KB、16KB。尽管允许在运行中,通过软件方式修改SFCF1,0位信息。但SFCF1,0被修改后,Block0、Block1将立即重新定位,为避免混乱,尽量不要在PC指针小于2000H情况下修改SFCF1,0位信息。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.9.2FlashROM状态存放器与芯片加密设置位关系Flash ROM状态存放器SFST是只读存放器,相当于Philips公司P89C51RX系列芯片的配置存放器,只能通过编程方式(并行编程或IA
53、P)方式修改。其中SB1SB3是存储器块Block0、Block1加密位映像信息,例如当加密位SB1被编程后,SFST7位为1,这样即可通过状态存放器SFST了解存储器块加密的状况。EDCDoubleClockStatus是双时钟选择映象位,通过编程方式选择双时钟模式时,EDC为1,作用类似于P89C51RX系列的FX2位。FLASHBUSY是FlashROMIAP编程操作状态指示位。当该位为1时,表示编程操作尚未完成,处于忙状态。Flash ROM状态存放器(SFST)的SB1SB3位编码确定了FlashROM中代码的平安状态,如表5-10所示。8/29/20248/29/2024安全级别保
54、密位SB1SB3状态(U-表示未编程;P-表示已编程)存储器块锁定状态说明SB1SB2SB3SFST7,5Block1Block01UUU000未锁未锁未加密,允许所有操作。2PUU100软件锁软件锁禁止外部程序通过MOVC指令读3UPU010软件锁软件锁禁止外部程序通过MOVC指令读及校验操作;在Block0执行代码时,可通过IAP方式对Block1编程,反之亦然。PPU110硬件锁软件琐禁止外部程序通过MOVC指令读及校验操作;在Block1执行代码时,可通过IAP方式对Block0编程。Block1的IAP编程被禁止(因为Block1处于硬件锁定状态)UUP001UPP011硬件锁硬件锁
55、禁止外部程序通过MOVC指令读及校验操作。禁止IAP编程(因为Block1、Block0均处于硬件锁定状态)。PUP1014PPP111硬件锁硬件锁安全级别最高,除了具备安全级别3的硬件锁定特征外,复位期间不理会EA引脚电平状态,只执行FlashROM中代码。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N由此可见:(1)SB1SB3中任一位被编程,就禁止外部程序存储器中的“MOVC指令读FlashROM中的代码。(2)处于硬件锁定状态下的存储器块Bolck1或Block0的IAP编程方式被禁止。(3)为保证程序代
56、码不被非法读出,可将SB1SB3位编程为UPU状态(即Block1和Block0均处于软件锁定状态的平安级3),两块的IAP编程均处于允许状态,根据需要可对其中任一块进行IAP编程,灵活性大。当SB1SB3位编程为PPU或UUP状态时,Block1处于硬件锁定状态,而Block0处于软件锁定状态,允许通过IAP方式对Bolck0编程。这适合于关键程序代码位于Block1中,可根据需要对Block0进行IAP编程。8/29/20248/29/20245.9.3FlashROMIAP编程1.IAP编程操作初始化编程操作初始化在SST89E564RD、SST89E554RC及SST89E554A芯片
57、中,允许通过IAP方式对芯片、块、扇区、字节、硬件配置位进行擦除及编程操作,其过程如下:(1)允许IAP操作,即通过“ORL SFCF, #40H,将FlashROM配置存放器SFCF的IAP位置1。允许IAP进入编程的条件是:对于PLCC及PQFP封装芯片来说,DISIAPL引脚处于悬空对SST89E(V)564RD、SST89E(V)554RC、对应存储器块不处于硬件锁定状态。(2)初始化FlashROMIAP编程地址存放器SFAH和SFAL,即将FlashROM单元高、低地址(即目标地址)送地址存放器SFAH、SFAL。编程数据送Flash ROM数据存放器SFDT。8/29/20248
58、/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N(3)控制命令及操作完成检测方式送FlashROM命令寄存器SFCM。等待中断或通过检测FlashROM状态寄存器SFST的FlashBusy位状态,确定当前IAP操作是否完成。启动IAP操作后,FlashBusy位即刻变1,表示IAP编程操作尚未完成。当IAP操作结束后,FlashBusy位清0,表示IAP操作结束。(4)通过校验操作,检查被擦除单元是否为0FFH(即空白);通过校验操作与写入数据比较,检查字节编程是否成功。(5)关闭IAP操作。为防止代码意外丢失,IAP操作结束后,执
59、行“ANLSFCF,#10111111B”指令,将IAPEN位清0,禁止IAP操作。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N NIAP编程命令及含义如表5-11所示。2.IAP编程命令8/29/20248/29/2024IAP编程命令SFCM6:0SFDT7:0SFAH7:0SFAL7:0说明Chip-Erase01H55HX(忽略)X(忽略)(整片擦除)Block-Erase0DH55HAHX(忽略)块擦除,Sector-Erase(执行时间30ms)0BHXAHAL扇区擦除(1扇区容量为128字节,将忽略A
60、L6,0)Byte-Program(执行时间50us)0EH写入数据AHAL字节编程Byte-Verity(Read)0CH单元内容AHAL字节校验(读操作)Prog-SB10FHAAHX(忽略)X(忽略)对加密位SB1编程Prog-SB203HAAHX(忽略)X(忽略)对加密位SB2编程Prog-SB305HAAHX(忽略)X(忽略)对加密位SB3编程Prog-SC109HAAHAAHX(忽略)对硬件配置位SC1编程Prog-SC009HAAH5AHX(忽略)对硬件配置位SC0编程Enable-Clock-Double08HAAH55HX(忽略)对时钟配置位编程8/29/20248/29/2
61、024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N说明:(1)由于执行IAP操作的指令码与操作目标地址不能位于同一存储器块内,因此只能在Bolck1中对Block0进行IAP编程操作,反之亦然。只有IAP操作指令码位于外部程序存储器时才能执行“整片擦除操作。(2)对包括加密位(即SB1SB3)、复位后存储器块映像地址控制位(即SC0、SC1)、X2时钟模式选择位Enable-Clock-Double等硬件配置位即表中带背景命令编程时,IAP编程操作指令码必须位于Block1或外部ROM中,否那么无效。为此建议最好通过并行编程器完成硬件配置位(bi
62、t)的编程。这些硬件配置位一旦被编程后只能通过整体擦除方式恢复为未编程状态。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N(3)当命令存放器SFCM的EIF位被初始化为0时,可通过读FlashROM状态存放器SFST的FlashBusy位确定IAP操作是否结束。反之,当命令存放器SFCM的EIF位为1时,将借用下降沿触发的中断作为IAP操作结束标志,在这种情况下,进行IAP操作前,中断控制存放器IE中的EA、EX1位必须为1,且需初始化为下降沿触发方式。在IAP操作期间引脚只能作为一般I/O引脚使用,而不能再作为
63、外部中断使用。(4)可通过字节校验命令(Byte-Verity)读出指定单元内容,不过当Block1与Block0地址空间不重叠,且均位于64KB寻址空间内时,通过“MOVCA,A+DPTR指令读出指定单元内容更方便但会给芯片升级带来隐患。(5)由于没有单字节擦除操作,因此当需要重写扇区内任一已编程(内容不是FFH)单元时,可先将该扇区内所有单元读到扩展RAM中保存后,再执行扇区擦除操作,然后整体写入。即只能采用“读改擦除写入方式完成。8/29/20248/29/20243.IAP编程应用举例(1)块擦除操作ORLSFCF,#40H;IAP位置1,允许IAP操作MOVSFAH,#XXH;块地址
64、高位送SFAH寄存器。SFAH寄存器内容可以是目标;块内任一单元的高8位地址。MOVSFDT,#55H;块擦除特征字送数据寄存器SFDTMOVSFCM,#0DH;块擦除命令码送SFCM。当采用查询方式检测块擦除操作是;否结束时,SFCM.7为0。WAIT:MOVA,SFSTJBACC.2,WAIT;如果FlashBusy为1,就等待当通过中断检测IAP操作是否结束时,上述程序段可改为:ORLTCON,#04H;定义为下降沿触发ORLIE,#84H;EA、EX1位置1ORLSFCF,#40H;IAPEN位置1,允许IAP操作MOVSFAH,#XXH;块地址高位送SFAH寄存器,SFAH寄存器内容
65、可以是;目标块内任一单元的高8位地址MOVSFDT,#55H;块擦除特征字送数据寄存器SFDTMOVSFCM,#8DH;块擦除操作码送SFCM,采用中断检测操作是否结束8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N(2)扇区擦除操作扇区擦除操作ORLSFCF,#40H;IAP位置1,允许IAP操作MOVSFAH,#XXH;扇区地址高8位送SFAH寄存器MOVSFAL,#XXH;扇区地址低位送SFAL寄存器;SFDT寄存器没有定义MOVSFCM,#0BH;扇区擦除操作码送SFCM寄存器。;当采用查询方式检测擦;除操
66、作是否结束时,SFCM.7为0或;MOVSFCM,#8BH;当采用中断检测操作是否完成时,SFCM.7为18/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N(3)字节编程操作字节编程操作ORLSFCF,#40H;IAPEN位置1,允许IAP操作MOVSFAH,#XXH;单元地址高8位送SFAH寄存器MOVSFAL,#XXH;单元地址低位送SFAL寄存器MOVSFDT,#XXH;写入信息送数据寄存器SFDTMOVSFCM,#0EH;字节编程操作命令码0EH送SFCM6-0,;当采用查询方式检测块擦除操作是否结束时,;S
67、FCM.7为0或MOVSFCM,#8EH;当采用中断检测操作是否完成时,;SFCM.7为18/29/20248/29/2024(1)字节校验操作(读操作)ORLSFCF,#40H;IAPEN位置1,允许IAP操作MOVSFAH,#XXH;待读出单元地址高8位送SFAH寄存器MOVSFAL,#XXH;待读出单元地址地址低位送SFAL寄存器MOVSFCM,#0CH;字节校验操作码0CH送SFCM。在校验操作中,无须查询;FlashBusy位状态或等待中断有效;指定单元信息出现在数据寄存器SFDT中当然,当IAP编程操作的目的地址PC可以访问时,也可以用“MOVCA,A+DPTR”指令直接读出。但考
68、虑到程序升级的方便,最好使用如下程序段从指定单元中读取数据。;从FlashROM单字节读程序段;入口参数:DPTR指向读出单元地址;出口参数:A存放读出的数据SF_READ:ORLSFCF,#40H;将IAPEN位置1,允许IAP操作MOVSFAH,DPH;待读出单元地址高8位送SFAH寄存器MOVSFAL,DPL;待读出单元地址低8位送SFAL寄存器MOVSFCM,#0CH;字节校验操作码0CH送SFCM。在校验操作中,无须查询MOVA,SFDT;单元信息送Acc;关闭IAP编程,防止数据意外丢失ANLSFCF,#10111111B ;IAPEN位清0,禁止IAP操作,防止数据以外丢失8/2
69、9/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N4.软件复位当FlashROM配置存放器SFCF的SWR(b1)位置1时,将触发软件复位操作:初始化特殊功能存放器,程序计数器PC置为0000H(但内部RAM保持不变)。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.9.4SPI串行总线SST89E(V)系列内置了SPI(SerialPeripheralInterface,即串行外设接口)部件。SPI是一种高速、全双工、同步串行通信方式,数
70、据传输率比I2C串行总线高,通讯协议简单,是单片机应用系统常用的一种串行通讯方式之一。SPI总线有主、从两种工作模式,使用MOSI(即MasterOut/SalveIn的简称)引脚、MISO(即MasterIn/SalveOut的简称)引脚、输入/输出同步时钟信号SPICLK、片选信号来完成两个SPI接口设备之间的数据传输。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N1.SPI总线控制SST89E564RD/V564RDSPI总线最大数据传输率为10Mb/s,与SPI总线通信有关的特殊功能存放器包括了SPI总线
71、控制存放器SPCR(即SPIControlRegister的简称)、SPI总线状态存放器SPSR即SPIStatusRegister的简称、SPI数据存放器SPDR(即SPIDataRegister的简称)。(1)SPI控制存放器SPCRSPI总线工作方式由SPI总线控制存放器SPCR控制,各位含义如图5-23所示。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N图5-23SPI总线控制寄存器SPCR各位含义8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用
72、P PA A N NSPIESPI中断允许。当SPIE=1时,允许SPI中断;反之禁止SPI中断。在SST89E(V)系列芯片中,UART串行发送结束中断TI/串行接收有效中断RI以及SPI传送结束中断SPIF相或后作为一个中断源,共用同一中断入口地址,由串行中断允许ES位控制。SPESPI总线使能位。当SPE=0时,SPI总线被禁止,SPCR寄存器其他位没有定义;MOSI(P1.5)、MISO(P1.6)、SCK(P1.7)、(P1.4)可作一般I/O引脚使用。MSTR主从设备选择位。当SPE为1时,由MSTR位决定SST89E(V)系列芯片SPI总线是主设备(MSTR=1),还是从设备(M
73、STR=0)。由于主设备不需片选信号,因此当MSTR位为1(作主机)时,(P1.4)引脚可作一般I/O引脚使用。当从设备片选信号(P1.4)为低电平时,从设备处于选中状态,MOSI(P1.5)、SCK(P1.7)引脚处于输入状态,MIS0(P1.6)处于输出状态;反之,当(P1.4)引脚为高电平时,从设备处于非选中状态,MOSI(P1.5)引脚处于高阻态。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N NDORD数据传输顺序。当DORD=0时,先发送数据存放器的b7位;反之,当DORD=1时,先发送数据存放器的b0位
74、。CPOLSPI时钟极性选择。当CPOL=0时,空闲时SCK输出低电平,时钟前沿对应SCK的上升沿,时钟后沿对应SCK的下降沿,即采用正极性同步脉冲;当CPOL=1时,刚好相反,空闲时SCK输出高电平,时钟前沿对应SCK的下降沿,时钟后沿对应SCK的上升沿,即采用负极性同步脉冲。CPHASPI时钟相位选择。当CPHA=0时,SPI总线在SCK时钟前沿读输入数据,在SCK时钟后沿输出数据;而当CPHA=1时,SPI总线在SCK时钟前沿输出数据,在SCK时钟后沿读输入数据。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N
75、NSPR1、SPR0SPI总线时钟SCK频率选择位,当SPR1、SPR0=00时,SCK=fOSC/4(即4分频)。SPR1、SPR0=01时,SCK=fOSC/16(即16分频)。SPR1、SPR0=10时,SCK=fOSC/64(即64分频)。SPR1、SPR0=11时,SCK=fOSC/128(即128分频)。在SPI通信协议中,同步时钟信号SCK由主设备提供(频率上下受从设备SPI接口限制),因此当SPI接口作从设备使用时,SPR1、SPR0位无效,总是按最高速度输出数据。对于SPI主设备来说,当SPI总线使能时,对SPI总线数据存放器SPDR执行写操作将触发SPI总线数据传输过程。8
76、/29/20248/29/2024SPI总线数据传输格式如图5-24所示。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N(2)SPI状态存放器SPSRSPI总线状态存放器SPSR各位含义如下:SPIFSPI传送结束标志。当一次串行传输完成后,SPIF标志置1,如果SPI中断处于允许(SPIE和ES位为1)状态,那么在满足中断响应条件时,CPU将响应SPI中断。但CPU响应SPI中断后,不会自动去除SPIF标志。WCOLSPI写冲突标志。在数据传送过程中,对SPI数据存放器SPDR进行写操作时,WCOL标志有效,表
77、示出现写冲突。也只能通过软件将WCOL位清零。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N2.SPI初始化MOVSPCR,#11X110XX ;SPI总线控制存放器SPCR;SPIE=1,允许SPI中断,当SPI总线速率较低,如选择fOSC/64或;fOSC/128分频时,最好使用中断方式确定传输是否结束。;SPE=1,使能SPI总线;DODR可以选择0(先发b7)或1(先发b0),但收发双方必须一致。;MSTR=1,主设备MSTR位必须为1。;COPL=1,推荐用负极性脉冲。;CPHA=0,选择前沿输入读,后
78、沿输出写。;SPR1、SPR0(SPI总线时钟)位由从设备速度决定。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N;下面是SPI主设备采用查询方式传送一字节的程序段:CLRP1.X;置从设备片选信号为低电平MOVSPDR,#XXH;输出数据送SPI数据寄存器WAIT:MOVA,SPSR;读SPI状态寄存器JNBACC.7,WAIT;等待传送结束ANLSPSR,#7FH;清除SPI传送结束中断SPIFMOVA,SPDR;读出从机回送的数据SETBP1.X;每字节传输结束后,必须将从设;备片选信号置1尽管在SPI串行
79、通信中,字节内数据传输率很高,但传送一字节后,需延迟一段时间,以便从设备分析、处理接收到的信息,并把下一字节信息放入数据寄存器中。8/29/20248/29/20245.9.5硬件看门狗1.看门狗控制与硬件看门狗有关的特殊功能存放器是看门狗控制存放器WDTC即WatchdogTimerControl和看门狗数据/重装控制存放器WDTD(WatchdogTimerData/ReloadRegister),硬件看门狗结构如图5-25所示。图5-25看门狗计数器结构8/29/20248/29/2024看门狗控制存放器WDTC(具有位寻址)各位含义如下:WDRE禁止/允许看门狗定时器复位。当WDRE为
80、1时,看门狗定时器溢出将触发复位操作;反之,当WDRE位为0时,看门狗定时器溢出时不产生复位动作。WDOUT允许看门狗复位信号输出。当WDRE位为1,即允许看门狗定时器复位时,如果WDOUT位为1,那么看门狗计数器复位时将在RST引脚上输出持续时间为32个时钟周期高电平复位信号,使外设同步复位;反之,当WDOUT位为0时,不输出复位信号。WDTS看门狗定时器复位标志。如果看门狗定时器溢出触发复位,那么WDTS标志置1硬件复位、上电复位时,该位清0。在看门狗溢出处理子程序中,可通过置“1指令,如“SETBWDTS去除WDTS标志。WDT看门狗定时器刷新控制。当WDT位置1时,将强迫看门狗定时器刷
81、新重装初值。SWDT看门狗定时器启动/停止控制。当SWDT为0时,看门狗定时器停止计数。即允许在看门狗启动后,通过该位停止看门狗计数器计数。8/29/20248/29/20242.溢出时间从图5-20可以看出:系统时钟信号(即XTAL1引脚上的时钟信号)送计数器,经过344064个周期后,计数器溢出(即该计数器实际上是344064分频器);而溢出信号送看门狗计数器高字节(该计数器是一个8位的加法计数器),因此看门狗溢出时间t由看门狗数据WDTD内容确定,关系如下:t=WDTD=;如果时钟频率单位取MHz,则时间t取us。例如当晶振频率为11.0592MHz时,1秒钟溢出时间对应的WDTD内容为
82、223。当WDTD为0时,看门狗最长溢出时间接近8s,比P89C51RX系列硬件看门狗溢出时间长。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N3.看门狗初始化及刷新喂狗使用如下两条指令即可完成看门狗定时器的初始化:CLRSWDT;先禁止看门狗计数MOVWDTD,#XX;根据溢出时间,初始化看门狗数;据/重装存放器WDTD。MOVWDTC,#00011111B;控制字送看门狗控制存放器。在主程序中插入“SETBWDT指令,强迫看门狗定时器重装喂狗,防止看门狗溢出。可见,SST89E554/E564芯片“喂狗指令很
83、简单。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N5.9.6SST中断控制系统SST89E564RD、SST89E554A芯片具有8个中断源(6个增强型MCS-51中断源+PCA中断源+掉电中断BO),其中前7个中断源的中断标志、中断控制位以及优先级与PhilipsP89C51RX完全兼容(参阅5.5节)。而SST89E52RD2、SST89E54RD2、SST89E58RD2、SST89E516RD2芯片具有10个中断源6个增强型MCS-51中断源+PCA中断源+掉电中断BO+2个外部中断及,因此SST89系
84、列芯片新增了下列中断寄存器或寄存器位,如表5-12所示。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N表5-12SST89系列芯片新增的与中断有关的存放器位SFR寄存器名符号位地址/位定义名字节地址复位后初值B7b6B5B4b3b2b1b0中断控制寄存器AIEA-EBO-E8HXxxx0xxxB中断优先级1低8位IP11-1PBOPX3PX21F8H1xx10001B中断优先级1高8位IP1H1-1PBOHPX3HPX2H1F7H1xx10001B电源控制寄存器PCONSMOD1SMOD0BOFPOFGF1GF0
85、PDIDL87H00xx0000外中断2、3控制寄存器XICON-EX3IE3IT3-EX2IE2IT2AEH00H8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N1.SST89系列掉电检测及掉电中断系列掉电检测及掉电中断SST系列CPU内置了掉电检测电路(brown-outdetectioncircuit),当电源电压VDD小于掉电检测电压VBOD(Brown-outDetectionVoltage)时,BOF标志位置1。对于电源电压为V的SST89E芯片来说,VBOD为典型值为V;对电源电压为V的SST89V芯
86、片来说,VBOD为典型值为V。当出现掉电即BOF位置1时,缺省动作是触发CPU复位。但当EBO掉电中断允许位为1时,将产生掉电中断以便在掉电中断效劳程序中进行数据保护后,再通过软件方式触发复位操作。与掉电中断有关的特殊功能存放器位包括:BOF(PCON.5)掉电中断标志;EBO(IEA.3)掉电中断允许;PBO(IP1.3)、PBOH(IP1H.3)分别是掉电中断优先级低、高位;8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N2.SST89E(V)5XRD2系列新增的外中断系列新增的外中断与新增的外中断、有关寄存器
87、为:IT2、IE2、EX2分别是外中断的触发方式、中断标志及中断允许;PX2(IP1.1)、PX2H(IP1H.1)是外中断先级的低、高位。IT3、IE3、EX3分别是外中断的触发方式、中断标志及中断允许;PX3(IP1.2)、PX3H(IP1H.2)是外中断先级的低、高位。这些寄存器位含义与外中断、对应位完全相同,可参阅第4章有关内容。8/29/20248/29/2024第第5章章80C51内核衍生型单片机芯片及应用内核衍生型单片机芯片及应用P PA A N N3.SST89系列芯片中断控制及中断效劳程序入口系列芯片中断控制及中断效劳程序入口ST89系列中断源、优先级及中断效劳程序入口地址如
88、表5-13所示。8/29/20248/29/2024中断源中断标志位中断允许控制位优先级控制位查询顺序入口地址自动清除掉电唤醒外中断0IE0EX0(IE.0)PX0H(IPH.0)PX0(IP.0)1(最高)0003HY(边沿)YESN(电平)掉电中断BOFEBO(IEA.3)IP1H.3,IP1.32004BHNONO定时器T0TF0ET0(IE.1)PT0H(IPH.1)PT0(IP.1)3000BHYESNO外中断1IE1EX1(IE.2)PX1H(IPH.2)PX1(IP.2)40013HY(边沿)YESN(电平)定时器T1TF1ET1(IE.3)PT1H(IPH.3)PT1(IP.3
89、)5001BHYESNOPCA中断CF/CCFEC(IE6.0)PPCH(IPH.6)PPC(IP.6)60033HNONO外中断2IE2(XICON.1)EX2(XICON.2)PX2H(IP1H.1)PX2(IP1.1)7003BHY(边沿)NON(电平)外中断3IE3(XICON.5)EX3(XICON.6)PX3H(IP1H.2)PX3(IP1.2)80043HY(边沿)NON(电平)串行口/SPI中断TI/RI/SPIFES(IE.4)PSH(IPH.4)PS(IP.4)90023HNONO定时器T2TF2/EXF2(T2CON.7)ET2(IE.5)PT2H(IPH.5)PT2(IP.5)10002BHNONO8/29/20248/29/2024