单片机原理与应用02_第1页
单片机原理与应用02_第2页
单片机原理与应用02_第3页
单片机原理与应用02_第4页
单片机原理与应用02_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

第二章SoC单片机基础单片机原理与应用C8051F系列单片机组成微控制器内核增强型8051CPU-CIP-51微控制器JTAG接口片上调试逻辑片上存储器模拟外设数字I/O12-BIT100Ks/sADC8-BIT500Ks/sADC温度传感器VREF12-BITDACS4352×8XRAM64K×8FlashUART(×2)SMBusSPIPCA16位定时器(×5)I/O交叉开关XRAM接口端口0-3端口4-7模拟比较器+-C8051F020单片机基本组成C8051F系列单片机组成微控制器内核增强型8051CPU--CIP-51微控制器高速、流水线结构完全兼容8051(指令系统一致)速度可达25MIPS21个中断源JTAG接口全速、非侵入式的在系统调试接口通过该接口可对Flash程序存储器进行在系统编程与片内调试系统通信片上调试逻辑全速、非侵入,支持设置硬件断点和观察点支持开始、停止、单步执行(包括中断服务程序)命令可查看堆栈、存储器和寄存器内容C8051F系列单片机组成片上存储器普林斯顿结构和哈佛结构(程序、数据分开寻址)程序存储器64KFlash,512字节/扇区可在系统编程,无需特别的外部编程电压不支持程序存储器扩展数据存储器256字节RAM,高128字节为双映射(通用RAM或SFR)低128字节可直接或间接寻址访问高128字节,直接寻址访问SFR,间接寻址访问RAMC8051F020中,片内还集成有位于外部数据存储器空间的4KBRAM块(即片内XRAM)C8051F系列单片机组成模拟外设ADC12位ADC:100ksps的速度,包括一个9通道的多路选择开关、可编程增益放大器。9通道其中的1通道连接温度传感器,其它8通道连接外部输入ADC可置于关断状态,以降低功耗8位ADC:500ksps的速度,8个用于测量的输入端。比较器:2个DAC:12位电压基准电路C8051F系列单片机组成数字外设标准I/O端口:P0-P3C8051F020还有附加的I/O端口P4-P7数字交叉开关可将内部数字资源引到P0-P3的I/O管脚SPISMBus/I2C2个UART5个16位定时器具有5个捕捉/比较模块的可编程计数器阵列看门狗定时器VDD监视器C8051F020结构图C8051F020内部结构图C8051F系列单片机的技术特点采用CIP-51内核大力提升CISC结构运行速度保持指令系统不便对指令运行实行两级流水作业基本上每个时钟周期可执行一条指令(废除指令周期概念)相同时钟频率下,单周期指令运行速度为原来的12倍,整个指令集的平均速度为原来的9.5倍I/O从固定方式到交叉开关配置可根据需要进行灵活配置从系统时钟到时钟系统片内可编程时钟振荡器,提供2、4、8、16MHz时钟,可编程选择外部振荡器可选择4种方式程序运行时,可实现内外部时钟切换时钟可通过I/O端口输出供外部器件使用C8051F系列单片机的技术特点(续)从引脚复位到多源复位上电复位掉电复位外部引脚复位软件复位时钟检测复位比较器0复位WDT复位引脚配置复位最低功耗系统的最佳支持3V供电,仍可与5V电路方便的连接时钟的多种选择可使系统运行在较低的时钟频率下多种复位源可随意唤醒系统C8051F系列单片机的分类高速型工作速度可达100MIPS或50MIPS内部有倍频电路C8051F12x、C8051F13x、C8051F35x精密A/D型16位或24位准换速度可高达1MspsC8051F06x、C8051F35x微小型简化内部结构,引脚少,外部尺寸大大缩小,达3mm*3mmC8051F30x,具有8位8通道A/D、2-8KFlash,256ByteRAM,仅11个引脚CAN型具有CAN总线,可远距离数据传输(达10km),速度1Mb/sC8051F06x、C8051F04xUSB型片内的USB控制器,支持USB2.0规范C8051F32x、C8051F34x通用性C8051F00x、C8051F01x、C8051F02xC8051F02x封装和引脚参见教材P338附录B作业1.简述单片机(SCM)、微控制器(MCU)和片上系统(SoC)的概念。2.C8051F020单片机内部包括哪些主要逻辑功能部件?各有什么主要功能?3.将十进制数87、156、255、977分别转换为二进制数、八进制数和十六进制数。CIP-51微控制器核的基本结构CIP-51微控制器的结构ACC:累加器ALU:算术逻辑单元TMP:暂存PSW:程序状态字B:乘除法寄存器SP:堆栈指针SFR:特殊功能寄存器PC:16位程序计数器DPTR:16位数据指针中央控制器识别指令,并根据指令性质控制各组成部 件进行工作和运算器一起组成中央处理器(CPU)包括:程序计数器程序地址寄存器指令寄存器指令译码器条件转移逻辑电路定时控制逻辑电路功能:控制指令的读出、译码和执行对指令的执行过程进行定时控制根据执行结果决定是否分支转移中央控制器(续)程序计数器PC和数据指针DPTRPC程序计数器存放将要从程序存储器中取出的指令的地址16位,可寻址64KB(216字节)自动加1执行转移指令时,会被置入新的数值(即要转移到的程序指令地址)执行调用指令或响应中断时,将当前值压栈,子程序或中断的入口地址置入PC;子程序返回或中断返回时,将堆栈中的内容取出,送到PC中,回到原来的位置继续执行DPTR数据指针16位,可寻找64KB主要作为用于外部数据存储器寻址用的地址寄存器(间接寻址)可作为两个8位寄存器:DPL(低8位)和DPH(高8位)DPTR即可间接寻址方式XRAM,也可以用于访问FlashROM中央控制器(续)指令寄存器、指令译码器、流水线及控制逻辑指令寄存器:存放指令操作码的专用寄存器程序执行顺序:总线--指令寄存器--指令译码器--执行电路定时控制逻辑电路:根据指令产生一系列定时控制信号,控制各部件进行相应工作,以执行指令流水线执行器定时控制逻辑指令寄存器指令译码器振荡电路及时钟RST中断(外部或内部)内部总线运算器算术逻辑单元ALU主要功能:对数据进行算术/逻辑运算结构:全加器两个输入TMP1:暂存器1,输入来自寄存器、立即数、直接寻址单元(含I/O口)、内部RAM及B寄存器TMP2:暂存器2大部分运算要通过累加器ACC输出:累加器和PSW运算器(续)累加器A寄存器,在CPU中使用最频繁作用作为ALU的输入之一存放ALU的运算结果CPU中数据传送中转站(常数、寄存器、数据存储器、直接寻址单元)有部分指令不经ACC(寄存器与直接寻址单元之间、直接寻址单元与间接寻址单元之间、寄存器、直接或间接寻址单元与立即数之间),加快速度,减小ACC负担运算器(续)B寄存器乘法和除法指令中作为ALU的输入之一乘法:A、B寄存器输入,输出A存放低八位,B存放高八位除法:A作为被除数,B作为除数,输出商存于A,余数存于B其它:B寄存器作为内部RAM的一个单元使用程序状态字PSW(8位)主要内容是ALU的输出程序可访问,且可按位访问8位由高到低分别为:CY(进位或借位标志):有进位或借位时置位AC(辅助进位标志):向高半字节进位或借位时置位F0(用户标志0):用户可使用软件对其置位或清零RS1和RS0(寄存器组选择):用于选择4组寄存器组之一OV(溢出标志):加减法:结果超出A寄存器表示的带符合数的范围,置位乘法:积超过255,置位除法:除数为0,置位F1(用户标志1):同F0PARITY(奇偶标志):A寄存器中各位的和为奇数时,置位;串行通信时通常作为奇偶校验位布尔(位)处理器累加器C借用进位标志位,在布尔运算中,根据C的状态实现程序的转移可位寻址的RAM可位寻址的寄存器可位寻址的并行I/O端口位操作指令系统:对位的置位、清零、位状态判跳、传送、位逻辑运算以及位的输入输出等操作位操作功能可简化程序设计,提高操作速度。CIP-51微控制器的时钟系统及电源管理模式系统时钟电路和振荡器振荡器原理框图系统时钟电路和振荡器(续)系统时钟信号CIP-51控制器具有一个内部振荡器和一个外部振荡器驱动电路RST引脚为低时,内外部振荡器均被禁止使用OSCICN寄存器的CLKSL位可切换使用振荡器CLKSL为0,使用内部振荡器;为1,使用外部振荡器系统上电复位后,缺省使用内部振荡器(即CLKSL为0)系统时钟电路和振荡器(续)内部振荡器(OSCICN)系统时钟电路和振荡器(续)外部振荡器(OSCXCN)系统时钟电路和振荡器(续)晶体方式(选项1;XOSCMD=11x)选择XFCN值匹配晶体振荡器频率。RC方式(选项2;XOSCMD=10x)

选择振荡器频率范围:

f=1.23(103)/(R*C),其中:

f=以MHz为单位的振荡频率

C=以pF为单位的电容值

R=以kΩ为单位的上拉电阻值C方式(选项3;XOSCMD=10x)对于所需的振荡频率选择K因子(KF):

f=KF/(C*AV+),其中:

f=以MHz为单位的振荡频率

C=XTAL1、XTAL2引脚上的电容值,以pF为单位

AV+=供给MCU的模拟电源电压值,以伏特为单位时序、定时单位及指令周期时序:指令执行过程中各信号之间的相互关系同步时序电路:保证各功能单元按照统一的步调进行协同工作,需要惟一的时钟CIP-51采用定时控制方式,有固定的指令周期指令周期:执行一条指令所需要的时间,是最大的时序定时单位CIP-51采用流水线结构,将机器周期作为指令周期CIP-51共111条指令,分为单字节指令、双字节指令和三字节指令。电源管理方式电源控制寄存器PCON电源管理方式(续)空闲方式置位PCON.0,进入空闲方式所有内部寄存器和存储器保持原来数据不变所有模拟外设和数字外设均可以保持活动状态CPU停止运行,时钟处于活动状态如果有被允许的中断发生或RST有效,则结束空闲状态如果使能WDT,将产生内部看门狗复位,结束空闲状态。(可以保护系统不会因为PCON寄存器的意外写入而导致永久性停机),若不需要,要在进入空闲状态之前禁用WDT。电源管理方式(续)停机方式置位PCON.1,进入停机方式CPU和振荡器均停止,所有数字外设都停止进入停机方式,必须关闭每个模拟外设只要内部或外部复位能结束停机方式如果允许MCD(时钟丢失检测器),将会产生内部复位,从而结束停机方式。如果想要使CPU休眠时间超过100us的MCD超时时间,应禁止MCD停机方式下,功耗最小CIP-51微控制器的存储器系统存储器结构存储器说明程序存储器:内部64KB地址空间数据存储器:内部256Byte;外部64KB(片内4KB)内部数据存储空间:0x00~0x7F为内部RAM内部数据存储空间:0x80~0xFF为内部RAM和SFR共用外部数据存储空间:0x0000~0x0FFF为片内XRAM外部数据存储空间:0x1000~0xFFFF为片外XRAM特殊功能寄存器:和内部RAM共用地址,用寻址方式来区分程序存储器存放程序和固定常数64KB存储空间,地址范围0x0000~0xFFFF用户代码使用区:0x0000~0xFDFF0xEE00~0xFFFF(共512字节)保留两个特殊区域复位跳转区:0000H~0002H,3字节的长跳转指令,指向用户程序的入口地址中断向量表:0003H~00ABH,每个中断8字节。中断发生时,CPU会转到中断向量表中对应的中断表项取该中断的中断服务程序的指令执行。一般也是在此区域放置一个3字节长跳转指令或2字节的绝对跳转指令,使之跳转到对应的中断服务程序。用户程序应该从00B3H以后的区域开始(00B4H开始)C8051F微控制器不支持外部程序存储器扩展因而要根据程序量的大小来选择相应的满足程序容量的型号程序存储器(续)通过设置程序存储写允许位(PSCTL.0), 用MOVX指令可以写入FlashROM,为CIP-51提供了更新程序代码和将程序存储器用于非易失性数据存储的机制附加的128字节:快速FlashROM,用于非易失性数据存储;地址:0x00~0x7F(在64KBFlash存储器中双映射)不能用于存储程序代码访问方法:将PSCTL寄存器中SFLE位设置为1(Flash每次可写1字节,但必须先擦除一个扇区)数据存储器概述内部存储器IRAM和外部存储器XRAMIRAM:8位寻址,最大寻址范围256ByteXRAM:通过DPTR访问,16位寻址,范围64KB内部存储器数据存储器中最灵活的地址空间物理上分为2个独立的、功能不同区域内部RAM区域:地址0x00~0xFF特殊功能寄存器SFR区:地址0x80~0xFF通过寻址方式来区分:直接寻址访问SFR,间接寻址访问高128字节RAM数据存储器(续)内部RAM区通用寄存器区寄存器直接寻址指令数量最多,单周期指令,执行速度最快地址00H~1FH,共32个单元(32字节)分为4组,每组8个8位寄存器(R0-R7)同一时刻只能选用一个 寄存器组通过PSW中的RS0、RS1 选择寄存器组可位寻址R0、R1通常用作间接寻 址时的地址指针数据存储器(续)内部RAM区位寻址区地址0x20~0x2F,共16字节(128个位)即可字节寻址,也可位寻址每个位具有位地址(0x00~0x7F)与SFR中的可位寻址寄存器iqi构成布尔(位)处理器的数据存储空间字节寻址区内部RAM的0x30~0x7F,共80字节,可直接寻址,也可间接寻址内部RAM的0x80~0xFF,高128字节,只能间接寻址数据存储器(续)内部RAM区堆栈区及堆栈指针堆栈存在与内部RAM特点:先进后出、后进先出堆栈指针(SP,属于SFR,地址0x81):8位寄存器,存放当前堆栈栈顶地址,系统上电复位后,默认值为0x07,可重新定义堆栈的两种操作:进栈和出栈(针对栈顶单元进行)CIP51的堆栈向上生成,即进栈地址增加,出栈地址减小堆栈是为子程序调用和中断操作设立的,用于保护断点和保护现场。子程序调用或中断是能够自动进栈和出栈,同时具有进栈和出栈的指令PUSH、POP数据存储器(续)特殊功能寄存器(SFR)片内各种功能模块的状态和控制均通过SFR地址0x80~0xFF,直接寻址地址个位为0或8的寄存器可位寻址兼容8051,并有扩展有关各个SFR在内存中的地址表和具有位寻址功能SFR的位地址表参见教材相应章节。外部数据存储器间接寻址,使用寄存器R1、R0、DPTR最大64KBC8051F020片内具有4KBXRAM,此4KB可以整个64KB空间寻址(以4KB为边界重叠)片内和片外的XRAM可单独地址映射或组合映射Flash存储器的编程和安全管理Flash存储器编程编程方法通过JTAG用SiliconLabs提供的编程工具对未初始化的器件进行编程的唯一方法用软件使用MOVX指令需要首先设置FlashROM写允许位PSWE(PSCTL.0),置1,使得MOVX指向程序存储器而不是RAM写之前需要擦除,以扇区(512字节)为单位。写和擦除工作有系统硬件自动定时,保证操作正确用软件进行Flash写或擦除,建议使能VDD监视器,保证Flash内容的完整性读取Flash的指令为MOVC,和PSWE无关Flash存储器的编程和安全管理(续)Flash存储器编程编程步骤1.禁止中断2.置位FLWE(FLSCL.0),允许有用户软件写/擦除Flash3.置位PSEE(PSCTL.1),允许Flash扇区擦除4.置位PSWE(PSCTL.0),允许Flash写5.用MOVX指令向待擦除扇区内任何一个地址写一个数据字节6.清楚PSEE,禁止Flash扇区擦除7.用MOVX指令写入数据8.清楚PSWE,禁止Flash写9.重新允许中断Flash存储器的编程和安全管理(续)编程控制寄存器Flash存储器控制寄存器FLSCLFlash存储器的编程和安全管理(续)编程控制寄存器程序存储器读/写控制寄存器PSCTLFlash存储器的编程和安全管理(续)Flash存储器的安全管理程序存储写允许(PSCTL.0)和程序存储擦除允许(PSCTL.1)位保护FLASH存储器不会被软件意外修改安全锁定字节保存在地址0xFDFE(读锁定)和0xFDFF(写/擦除锁定)中的安全锁定字节集可以保护FLASH存储器,使得不能通过JTAG接口读取或修改其内容安全锁定字节中的每一位保护一个8k字节的存储器块将读锁定字节中的一位清‘0’可防止通过JTAG接口读对应的FLASH存储器块将写/擦除锁定字节中的一位清‘0’可防止通过JTAG接口写/擦除对应的存储器块当所有其它扇区都被锁定后,128字节的扇区才被锁定Flash存储

温馨提示

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

评论

0/150

提交评论