




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章STC12C5A60S2的增强型8051内核 2 1STC12C5A60S2单片机的引脚 LQFP48封装 DIP40封装 逻辑符号图 上电复位电路 STC12C5A60S2单片机内部集成MAX810专用复位电路 时钟频率在12MHZ以下时 复位脚可接1K电阻再接地 也可以使用如右图所示的复位电路 常见的晶振连接方法 晶体振荡器M的典型值是11 0592MHz 电容C1 C2的典型值是47Pf 2 2STC12C5A60S2单片机的结构 2 2 1STC12C5A60S2单片机的内部结构 2 2 2CPU 以8位算术 逻辑运算部件ALU为核心 加上通过内部总线而挂在其周围的暂存器TMP1 TMP2 累加器ACC 寄存器B 程序状态标志寄存器PSW以及布尔处理机就组成了整个运算器的逻辑电路 1 运算器 单片机的中央处理器CPU由运算器和控制器组成 程序状态标志寄存器PSW CY 进位标志位当执行加 减法指令时 如果操作结果的最高位D7出现进 借位 则CY置 1 否则清零 此外 CPU在进行移位操作时也会影响这个标志位 AC 辅助进位标志位当执行加 减法指令时 如果低四位数向高四位数产生进 借位 则AC置 1 否则清零 F0 用户标志0该位是由用户定义的一个状态标志 RS1 RS0 工作寄存器组选择控制位OV 溢出标志位指示运算过程中是否发生了溢出 F1 用户标志1该位是由用户定义的一个状态标志 P 奇偶标志位如果累加器ACC中1的个数为偶数 P 0 否则P 1 2 控制器 控制器是CPU的大脑中枢 包括定时控制逻辑 指令寄存器 译码器 地址指针DPTR及程序计数器PC 堆栈指针SP RAM地址寄存器 16位地址缓冲器等 2 3STC12C5A60S2单片机的存储器 2 3 1存储器空间及存储器 STC12C5A60S2单片机存储器结构的主要特点是程序存储器和数据存储器的寻址空间是分开的 有4个物理上相互独立的存储器空间 程序Flash存储器 数据Flash存储器 EEPROM 内部数据存储器和外部数据存储器 1 程序Flash存储器 程序Flash存储器用于存放用户程序 数据和表格等信息 STC12C5A60S2单片机片内集成了60KB的程序Flash存储器 其地址为0000H F000H 单片机复位后 程序计数器的内容为0000H 从0000H单元开始执行程序 特殊单元0003H外部中断0中断服务程序的入口地址000BH定时 计数器0中断服务程序的入口地址0013H外部中断1中断服务程序的入口地址001BH定时 计数器1中断服务程序的入口地址0023H串行通信口1中断服务程序的入口地址002BHADC中断服务程序的入口地址0033H低电压检测中断服务程序的入口地址003BHPCA中断服务程序的入口地址0043H串行通信口2中断服务程序的入口地址004BHSPI中断服务程序的入口地址读取程序存储器中保存的表格常数等内容时 使用MOVC指令 2 数据存储器 数据存储器也称为随机存取数据存储器 STC12C5A60S2单片机的数据存储器在物理上和逻辑上都分为两个地址空间 内部数据存储区和外部数据存储区 1 内部数据存储区STC12C5A60S2单片机片内集成了256字节RAM 可用于存放程序执行的中间结果和过程数据 内部RAM的地址范围是00H FFH 共256个单元 分为三部分 低128字节RAM 00H 7FH 用 MOV 和 MOV Ri 指令访问 高128字节RAM 80H FFH 用 MOV Ri 指令访问 特殊功能寄存器 SFR 区 80H FFH 用 MOV 指令访问 1 工作寄存器区00H 1FH共32个单元用作工作寄存器 分为四组 每一组称为一个寄存器组 每一组中包括8个8位的工作寄存器 分别是R0 R7 PSW寄存器中的RS1和RS0的组合决定当前使用的工作寄存器组 2 位寻址区20H 2FH之间的单元既可以像普通RAM单元一样按字节存取 也可以对单元中的任何一位单独存取 共128位 所对应的位地址范围是00H 7FH 特殊功能寄存器中 直接地址可被8整除的寄存器 除了IP 7 IP 6和IE 6以外 也可以进行位寻址 可进行位寻址的单元 请见教材图2 8和图2 9 3 用户RAM和堆栈区内部RAM中的30H 0FFH单元是用户RAM和堆栈区 STC12C5A60S2单片机有一个8位的堆栈指针SP 并且堆栈区只能设置在内部数据存贮区 单片机复位以后 SP为07H 指向了工作寄存器组0中的R7 因此用户初始化程序都应对SP设置初值 一般设在30H以后为宜 STC12C5A60S2的堆栈是向上生成的 4 特殊功能寄存器 SFR 80H FFH既为高128字节RAM区的地址范围 又为特殊功能寄存器区的地址范围 地址空间重叠 但物理上是独立的 使用时通过不同的寻址方式加以区分 高128字节的RAM区使用间接寻址访问 特殊功能寄存器使用直接寻址访问 除了程序计数器PC和4个工作寄存器组外 其余的寄存器都在SFR区中 特殊功能寄存器及其复位值如教材表2 2所示 2 外部数据存储区外部数据存储区也称为扩展RAM区或XRAM 附加RAM STC12C5A60S2单片机片内除了集成256字节的内部RAM以外 片内还集成了1024字节的外部数据存储器 地址范围为0000H 03FFH 可用于存放数据 在汇编语言中 XRAM通过MOVX指令间接寻址 即使用 MOVX DPTR 或者 MOVX Ri 指令访问 在C语言中 可使用xdata声明存储类型即可 如 unsignedcharxdatai 0 单片机芯片内的XRAM是否可以访问受辅助寄存器AUXR 地址为8EH 复位值为00H 中的EXTRAM位控制 AUXR的各位定义如下 EXTRAM 内部 外部RAM存取控制位 0 内部XRAM可以存取 1 芯片外数据存储器存取 禁止访问内部XRAM 3 数据Flash存储器 STC12C5A60S2单片机内部集成了1K字节的数据Flash存储器 EEPROM 地址范围是0000H 03FFH 与程序Flash存储器空间是分开的 这1K字节的数据Flash存储器分为2个扇区 每个扇区包含512字节 对应的地址范围分别为 第一扇区 0000H 01FFH第二扇区 0200H 03FFH使用时 建议同一次修改的数据放在同一个扇区 不是同一次修改的数据放在不同的扇区 不一定用满 数据Flash存储器的擦除操作是按扇区进行的 这些数据Flash存储器擦写次数在10万次以上 可用于保存一些需要在应用过程中修改的一些参数数据 2 3 2数据Flash存储器的操作 1 相关的特殊功能寄存器 1 ISP IAPFlash数据寄存器IAP DATA IAP DATA寄存器 地址为C2H 复位值为0FFH 是对数据Flash进行ISP IAP操作时的数据寄存器 ISP IAP从Flash读出的数据放在该寄存器中 向Flash写入的数据也需放在该寄存器中 2 ISP IAP地址寄存器IAP ADDRH和IAP ADDRL IAP ADDRH 地址是C3H 复位值为00H 是ISP IAP操作时的地址寄存器高8位 IAP ADDRL 地址是C4H 复位值为00H 是ISP IAP操作时的地址寄存器低8位 3 ISP IAP命令寄存器IAP CMDIAP CMD 地址为C5H 复位值为XXXXXX00B 各位的定义如下 其中 D7 D2保留未用 MS1和MS0用于设置要执行的命令 如表2 3所示 ISP IAP操作时的命令模式寄存器 需命令触发寄存器触发方可生效 表2 3ISP IAP命令与MS1和MS0之间的关系 4 ISP IAP操作时的命令触发寄存器IAP TRIGIAP TRIG寄存器的地址为C6H 在IAPEN IAP CONTR 7 1时 对IAP TRIG先写入5AH 再写入A5H ISP IAP命令才会生效 5 ISP IAP控制寄存器IAP CONTRIAP CONTR 地址为C7H 复位值为00001000B 各位的定义如下 1 ISPEN ISP IAP功能允许位 0 禁止ISP IAP编程改变Flash 1 允许编程改变Flash 2 SWBS 软件选择从用户主程序区启动 还是从ISP程序区启动 0 从用户主程序区启动 1 从ISP程序区启动 3 SWRST 是否产生软件复位控制位 0 不操作 1 产生软件系统复位 硬件自动清零 4 CMD FAIL ISP IAP命令是否触发成功标志 如果送了ISP IAP命令 并对ISP TRIG送46H B9H触发失败 则为1 需由软件清零 5 WT2 WT1和WT0用于设置等待时间 2 Flash存储器操作的方法 1 首先定义ISP IAP命令及等待时间 ISP IAP BYTE READEQU1 字节读ISP IAP BYTE PROGRAMEQU2 字节编程 前提是该字节是空 0FFhISP IAP SECTOR ERASEEQU3 扇区擦除 要某字节为空 要擦一扇区WAIT TIMEEQU0 设置等待时间 30MHz以下为0 24M以下1 20MHz以下2 12M以下3 6M以下4 3M以下5 2M以下6 1M以下7 2 字节读操作进行字节读操作时 需要给出要读的地址 设置等待时间 然后送出读字节命令并设置触发器 从IAP DATA寄存器中读取数据 典型代码如下 字节读操作演示代码MOVIAP ADDRH BYTE ADDR HIGH 送地址高字节MOVIAP ADDRL BYTE ADDR LOW 送地址低字节MOVIAP CONTR WAIT TIME 设置等待时间ORLIAP CONTR 10000000B 允许ISP IAP操作MOVIAP CMD ISP IAP BYTE READ 送字节读命令MOVIAP TRIG 5AH 先送5AH 再送A5H到ISP IAP触发寄存器MOVIAP TRIG 0A5H 送完A5H后 ISP IAP命令立即被触发启动 CPU等待IAP动作完成后 才会继续执行程序 NOP 数据读出到IAP DATA寄存器后 CPU继续执行程序MOVA IAP DATA 将读出的数据送往累加器 3 字节编程 写 操作进行字节编程 写 操作时 需要保证要写的地址单元内容为空 值为0FFH 如果不为空 则先使用扇区擦除命令 将要进行字节编程的单元所在扇区擦除为空 将要写入的内容送入IAP DATA寄存器 要编程的单元地址送入IAP ADDRH和IAP ADDRL寄存器 设置等待时间 允许ISP IAP操作 送出字节编程命令并设置触发器 典型代码如下 字节编程演示代码 该字节为空 0FFH 时 可对其编程 否则要先执行扇区擦除MOVIAP DATA ONE DATA 送字节编程数据到IAP DATAMOVIAP ADDRH BYTE ADDR HIGH 送地址高字节MOVIAP ADDRL BYTE ADDR LOW 送地址低字节MOVIAP CONTR WAIT TIME 设置等待时间ORLIAP CONTR 10000000B 允许ISP IAP操作MOVIAP CMD ISP IAP BYTE PROGRAM 送字节编程命令MOVIAP TRIG 5AH 先送5AH 再送A5H到ISP IAP触发寄存器MOVISP TRIG 0A5H 送完A59H后 ISP IAP命令立即被触发启动 CPU等待IAP动作完成后 才会继续执行程序 4 数据Flash擦除数据Flash擦除时 只有扇区擦除 没有字节擦除 如果要对某个扇区进行擦除 而其中有些字节的内容需要保留 则需将其先读到单片机内部的RAM中保存 再将该扇区擦除 然后将需保留的数据写回该扇区 所以每个扇区中用的字节数越少越好 操作起来越灵活越快 擦除时 扇区中任意一个字节的地址都是该扇区的地址 无需求出首地址 扇区擦除的典型代码MOVIAP ADDRH SECTOR FIRST BYTE ADDR HIGH 送扇区起始地址高字节MOVIAP ADDRL SECTOR FIRST BYTE ADDR LOW 送扇区起始地址低字节MOVIAP CONTR WAIT TIME 设置等待时间ORLIAP CONTR 10000000B 允许ISP IAPMOVIAP CMD ISP IAP SECTOR ERASE 送扇区擦除命令MOVIAP TRIG 5AH 先送5AH 再送A5H到ISP IAP触发寄存器MOVIAP TRIG 0A5H 送完A5H后 ISP IAP命令立即被触发起动 CPU等待IAP动作完成后 才会继续执行程序 5 数据Flash存储器的操作小结对于数据Flash存储器的操作有三个基本命令 分别是字节读 字节编程和扇区擦除 进行字节编程时 只能将1改为0 或1保持为1 0保持为0 如果该字节是11111111B 则可将其中的1编程为0 如果该字节中有的位为0 要将其改为1 则须先将整个扇区擦除 因为只有 扇区擦除 才可以将0变为1 建议 1 同一次修改的数据放在同一扇区中 不是同一次修改的数据放在另外的扇区 这样 可不需读出保护 2 如果一个扇区只用一个字节 那就是真正的EEPROM STC12C5A60S2单片机的DataFlash比外部EEPROM要快很多 读一个字节大概需要2个时钟周期 0 2us 编程一个字节大概需要60us 3 如果在一个扇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025杭州上城区国有资本运营集团有限公司招聘3人模拟试卷带答案详解
- 2025年4月广东广州市天河区珠江新城猎德幼儿园编外教辅人员招聘2人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025福建厦门启航培训服务有限公司招聘1人模拟试卷及答案详解(典优)
- 2025甘肃张掖市民乐县河西学院招聘40人模拟试卷附答案详解(考试直接用)
- 2025年白山市浑江区事业单位公开招聘高层次人才和工作人员(含专项招聘高校毕业生)(57人)模拟试卷有答案详解
- 2025广东深圳九州光电子技术有限公司招聘生产主管等2人考前自测高频考点模拟试题及答案详解一套
- 班组安全培训登记表课件
- 城市节庆品牌塑造研究-洞察与解读
- 2025甘肃武威市事业单位招聘628人考前自测高频考点模拟试题及一套参考答案详解
- 2025北京华商电力产业发展有限公司2025年搞笑毕业生招聘29人(第三批)模拟试卷及答案详解(历年真题)
- 仿制药生物等效性试验设计崔一民-北京大学省公开课一等奖全国示范课微课金奖课件
- 部编版二年级语文上册全册教案(全册教学设计)
- DL∕T 502.26-2006 火力发电厂水汽分析方法 第26部分:亚铁的测定啉菲啰啉分光光度法
- TD/T 1065-2021 国土空间规划城市设计指南(正式版)
- 信息组织与信息构建课件
- CIM登峰系列方冰制冰机技术服务手册
- 应急管理学院成立可行性方案
- 视频监控调取记录表
- 质量控制计划QCP
- 七田真1000图记忆
- GB/T 4456-2008包装用聚乙烯吹塑薄膜
评论
0/150
提交评论