- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 SOC单片机的结构与原理 2.1 C8051F系列单片机的总体结构 2.2 C8051F020存储器组织 2.3 CIP- 51指令系统 2.4 中断系统 2.5 端口输入/输出 2.6 电源管理方式 2.7 复位与时钟 2.1 C8051F系列单片机总体结构 2.1.1 C8051F系列单片机简介 2.1.2 CIP-51内核 2.1.3 C8051F020单片机的片上资源 2.1.1 C8051F系列单片机简介(1) 集成的混合信号片上系统SOC(System on chip)。 具有完全兼容MCS-51内核的微控制器(CIP-51)、除标准8051的数字外设部件外,还集成了数据采集和控制系统中常用的模拟外设、其它数字外设及功能部件。 是真正能独立工作的片上系统(SOC)。CPU有效地管理模拟和数字外设,可以关闭单个或全部外设以节省功耗。 FLASH存储器还具有ISP的能力,既可用作程序存储器又可用作于非易失性数据存储 。 2.1.1 C8051F系列单片机简介(2) 片内JTAG(joint test action group)调试电路允许对安装在最终应用系统上的产品进行非侵入式(不占用片内资源)、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。 调试环境示意图 2.1.2 CIP-51内核 C8051F系列单片机内核采用与MCS-51兼容的CIP-51。 标准8051中,除MUL和DIV以外所有指令都需要12或24个系统时钟周期,最大系统时钟频率为12-24MHz。 CIP-51内核采用流水线结构,70%的指令执行时间为1或2个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。 微控制器内核峰值执行速度比较 2.1.3 C8051F020单片机的片上资源 高速、流水线结构的与8051兼容的CIP-51内核(可达25MIPS) 全速、非侵入式的在系统调试接口JTAG(片内) 真正12位、100 ksps的8通道ADC,带PGA和模拟多路开关 真正8位、500 ksps 的ADC,带PGA和8通道模拟多路开关 两个12 位DAC,具有可编程数据更新方式 64K 字节可ISP的FLASH存储器 4352(4096+256)字节的片内RAM 可寻址64K字节地址空间的外部数据存储器接口 硬件实现的SPI、SMBus/ I2C 和两个UART 串行接口 5个通用的16位定时器/计数器 具有5个捕捉/比较模块的可编程计数器/定时器阵列(PCA) 片内看门狗定时器(Watchdog)、VDD 监视器和温度传感器 C8051F020芯片示意图 C8051F020原理框图 2.2 C8051F020存贮器组织 MCS-51存贮器组织(哈佛结构) 物理结构上可分为: 片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器 按功能和寻址(使用角度)可分为: 程序存储器、 内部数据存储器、外部数据存储器、特殊功能寄存器和位地址空间共5大部分 2.2 C8051F020存贮器组织 2.2.1 程序存贮器 (1) 容量:64KB,地址0x0000-0xFFFF。 类型:FLASH存储器。 存储器中有512 字节(0xFE00 – 0xFFFF)保留给厂商使用,不能用于存储用户程序。 有一个附加的128字节的扇区,可用于非易失性数据的存储。其地址范围是0x00-0x7F 。要访问该扇区,SFLE(PSCTL.2)位必须被设置为逻辑1。 通常情况下为只读的,设置程序存储器写允许位PSWE(PSCTL.0)后可写(用MOVX指令)。 2.2.1 程序存贮器(2) 对程序存储器的操作类型 读:使用MOVC指令实现,如查表操作。 编程:使用编程工具通过JTAG接口进行。 写:使用MOVX指令进行,要先设置程序存储器写允许位PSWE(PSCTL.0)为1。 编程/写前要先执行擦除操作, 将PSEE(PSCTL.1) 和PSWE(PSCTL.0)置1后,再往扇区的任一单元写入任一数据即可擦除。 擦除实际是将数据位全置1,禁止擦除后的写操作只能写入0。 擦写前还要将FLWE(FLSCL.0)置1,以允许用户软件擦/写FLASH。为避免出错,对FLASH写操作之间要禁止中断。 软件对FLASH编程的流程 禁止中断 置位FLWE(FLSCL.0),允许用户软件擦/写FLASH 置位PSEE(PSCTL.1),允许FLASH扇区擦除 置位PSWE(PSCTL.0),允许FLASH写 用MOVX向待擦扇区的任一地址写任一数据,即实现擦除 清PSEE,禁止FLASH擦除 用MOVX写入需
文档评论(0)