已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理课程 主要内容讲述单片机的结构 系统 程序设计和应用 课程安排1 4周理论教学 5 8周金工实习 9 20周理论教学 实验教学 待定 考试80 理论 20 实验教材与参考文献MCS 51教材 李朝青 飞思卡尔8位单片机适用教程 李刚 2009单片机原理及系统设计 胡汉才 2002应用文献与网站 主要内容 基于微处理器的应用 医学 微型计算机组成 发展及工作原理单片机系统及结构引脚配置及功能外围硬件组成常用电路设计存储器配置最小单片机系统 数据采集系统结构 模拟信号与数字信号的连接 生物医学信号采集与系统 core 血压计 心电图与便携式心电机 脉搏血氧监测仪 MCU 微型计算机的组成 发展 微型计算机的组成软件 OS AS 硬件 CPU MB LCD KB 微型计算机的发展微型计算机的工作原理 硬件DIY 机箱 计算机内部基本组成 总线 连接多个功能部件的一组公共信号线 1 CPU2 总线 BUS 信息传送的公共通道地址总线 AB 单向 用来传送CPU输出的地址信号 确定被访问的存储单元 I O端口 8位字长的MPU一般AB为16条 数据总线 DB 双向 传送数据信息和指令码 一般与MPU字长相同 8位MPU一般DB为8条 控制总线 CB 双向 传送各种控制信号 如读 写信号 中断请求 中断响应等 3 存储器和I O接口 1 存储器内存直接与三总线相连 其内容可直接被CPU访问 容量小 速度快外存通过I O接口与三总线相连 其内容一般先传入内存 然后被CPU访问 容量大 速度慢 1 位和字节位 bit 指的是取值只能为0或1的一个二进制数值位 记作b字节 byte 由8位二进制位组成 通常用作计算存储容量的单位 记作BK kelo 1K 1024 210M mega 1M 1024K 220G giga 1G 1024M 230T tera 1T 1024G 240 常用数制和编码 二 数制及数制间的转换 一 计算机中的数制1 十进制 Decimal 0 910D2 二进制 Binary 0 1 10103 十六进制 Hexadecimal 0 9 A B C D E F 0A 二 数制间的转换 单片机基础 概念MCU micro controller SCU singlechipunit Soc Systemonchip 位数 4 8 16 32主要名词CPU ROM RAM FLASH ADC DAC UART TIMER SCI I2C WDT SPI BCD ASCII USB ISP InSystemProgramming MCS 51 89C51 40PinP0 P3共32个I O口2个定时器1个UART5级中断无ISP 基于PSOC单片机 CYPRESS MSP430单片机内部结构 增强型51 C8051F120 Cygnal 飞思卡尔单片机 概述 结构和基本组成 飞思卡尔单片机最小系统存储器地址 配置和功能CPU寄存器和系统初始化端口寄存器 FreeScale8位机系列 系列识别MC9S08GB60XXXEMC XC PC KMC KXC9 FLASH 0 ROM60 模拟存储X 温度XX 封装 E 无铅性能比较闪存1 2 4 8 16 32 256K RAM63 128 256 512 8KB定时器1 2 3 4个 I O4 6 14 30 70通信口SCI SPI I2C LCD CAN USB工作电压 1 8 3 6 2 7 5 5V 飞思卡尔单片机结构 飞思卡尔8位单片机MC9S08 MC9S08QG8的基本组成 MC9S08QG8引脚及功能 PTA 0 5 PTA5输入 PTA4输出 PTB 0 7 通用I O Pin介绍 电源 VCC VSS 1 8 5 5V复位PAT5 IRQ TCLK REST共用 低电平有效 STOP1 RSTPE 1 背景 状态选择PAT4 ACMP0 BKGD MSSTOP1 BKGDPE 1 背景调试通信通用I O和外围接口12个 PTA0 3 PTB0 7 PTA4 出 PTA5 入 多功能复用 定时器 SCI ADC KEY 驱动与上拉输出 引脚复用时各引脚的优先级 MC9S08QG8单片机最小系统 电源电路 时钟电路 调试头 复位电路 系统详解 电源 宽电源设计 内部自动稳压 1 8 3 6V时钟电路 ICS内部时钟源 16MHzXOSC外部时钟 可达20MHz计算机正确运行COP看门狗时钟 复位电路设计 复位功能当前程序停止 大部分寄存器复位初始值 屏蔽片内I O模块 I O变为通用高阻输入 屏蔽可屏蔽中断CCR I 1 堆栈指针SP强制为 00FF 复位方式外部复位电路 如前 内部复位源触发 低电压监测 LVD COP看门狗 非法操作码监测 ILOP 非法的地址检测 ILAD 在BDM调试中触发背景调试强制复位源复位 下载调试电路BDM 片内嵌入式背景调试控制器 BDC 和调试模块 DBG 组成 单线连接 RS232 USB MCUBDM插槽 寄存器与片内存储器 存储器 ROM RAM FLASH哈佛结构 分开 普林斯顿结构 共用 MC9S08QG8存储器配置数据存储器RAM flash 寄存器 直接页面寄存器00 5F 高页面寄存器1800 184F 非易失寄存器FFB0 FFBF 寄存器地址和位分配 寄存器 RAM 容量小 一般256B 存中间结果 临时数据 有动态和静态之分 Flash 长期保持数据 擦写 1万次 程序存储 容量大 8K 16K 在线编程 块保护 保密性 自动断电 Flash中 FFC0 FFFF为复位和中断时的入口地址 在中断响应时 自动将中断地址装入程序计数器 使程序转向该单元地址 复位和中断入口地址 非易失寄存器 非易失寄存器包括8字节的后门钥匙 能够选择性的用来获得对加密存储资源的访问 编程和擦除时间 对FLASH进行编程和擦除之前 必须设置Flash时钟分频寄存器FCDIV 使得总线时钟被分频后得到的Flash时钟fFCLK为150kHz到200kHz之间 由于FCDIV只能写一次 因此一般在初始化期间进行 而且如果状态寄存器FSTAT中的出错标志FACCERR被置位时 将无法设置FCDIV 下图是设置fFCLK为200kHz时 编程与擦除所需时间 Flash编程和擦除方法 在FCDIV寄存器被初始化 且FSTAT寄存器中的所有错误标志都被清零之后 对FLASH编程和擦除的操作步骤如下 对某FLASH单元写入数据值 且此次写的地址和数据信息都被锁存在FLASH接口中 这种写入操作是执行任何FLASH命令的第一步 对于擦除和空检查命令而言 写入的数据信息被忽略 对于页擦除命令 地址可以是该512字节页的任何地址 对于整体擦除和空检查命令 地址可以是FLASH空间的任何地址 对于字节编程命令 必须给相应地址单元赋实际要写入的值 注意在编程之前必须先擦除 否则会破坏FLASH中的数据 对命令寄存器FCMD写入有效的5个命令之一 空检查 0 x05 字节编程 0 x20 突发模式编程 0 x25 页擦除 0 x40 和整体擦除 0 x41 对状态寄存器FSTAT中的FCBEF写 1 以清除该位 标明已有命令等待执行 同时提交命令 如果在写1之前 向其写0会取消命令的执行 这种取消命令的方式会将出错标志FACCERR置位 且在执行新命令之前需要人工清除错误标志 观察命令执行完成标志 FCCF FlashCommandCompleteFlag 是否被设置 以便知道命令是否完成 下图是非突发模式编程流程 注意 在FLASH进行编程操作时 FLASH仍是不能读的 也就是说 对FLASH的操作程序不在FLASH中进行 而是将程序复制到RAM执行 Flash的突发模式编程 通常 执行编程或擦除命令时 FLASH阵列相关的电荷泵打开 以对阵列提供高电压 完成该命令之后 电荷泵关闭 突发编程命令用来对连续的字节进行编程 与使用标准编程命令比较 它需要更少的时间 因为突发编程命令不需要关闭两次编程操作之间加在FLASH阵列上的高电压 在完成突发编程操作之后 如果同时满足以下两个条件时电荷泵不会关闭 在本次编程操作完成之前 下次编程命令已经排队等候 下次编程字节与本次编程字节在同一行 FLASH存储器中的一行由64个字节组成 每一行字节的低6位从000000 111111依次递增 在突发模式中编程一系列连续字节中的第一个字节所花的时间与正常模式编程一个字节的时间相同 后续字节将以突发模式编程 若下一个连续地址在另一行 则字节按标准模式编程 Flash编程中的错误 错误标志FACCERR 未设置FCDIV 得到合理的内部FLASH时钟之前 对FLASH某地址写数 FCBEF 命令缓冲空 标志位未设置的情形下 对FLASH写数 提交命令之前多次对FLASH某地址写数据 提交命令之前多次写FCMD寄存器 对FLASH某地址写数据后 不是接着写FCMD 而是其他控制寄存器 对FCMD写入的不是5个命令 0 x05 0 x20 0 x25 0 x40 or0 x41 之一 写完FCMD之后不是去写FSTAT以清除FCBEF并提交命令 而是操作其他FLASH控制寄存器 正对FLASH编程或擦除时 MCU突然进入stop模式时 当MCU设置了安全保护 BDC对FLASH只能执行空检查和整体擦除命令 如果此时BDC试图执行字节编程 突发编程 页擦除命令 0 x20 0 x25 0 x40 时会出错 对FCBEF写0以取消当前设置命令的执行时 会设置出错标志 Flash块保护 块保护功能可以防止被保护的FLASH区域被意外擦除或更改 保护的区域设置由寄存器FPROT决定 而FPROT不能被用户程序修改 该高页面寄存器的数值是复位后自动从FLASH寄存器NVPROT中拷贝过来的 块保护的区域是最高地址0 xFFFF往低地址512字节的整数倍 由于NVPROT位于地址最高的 可保护的第一个512字节块里 只要启动块保护 寄存器NVPROT自己也被保护起来 不能被用户程序访问 由于寄存器FPROT的内容可被BDC修改 因此BDC可以先将FPROT设置成无保护状态 然后就可以擦除 重编程被保护的FLASH块了 编程中为了允许块保护 需要配置NVPROT寄存器 将其高7位 FPS7 FPS1 设为最后一个未被保护的字节地址的高7位 例如 为了保护存储器中最后的1536 3 512 个字节 地址从0 xFA00到0 xFFFF 则最后一个未被保护的地址是0 xF9FF 所以寄存器NVPROT的高7位需设置为1111100 同时 NVPROT中的0位 FPDIS 必须写为0 以确保块保护 因此NVPROT必须写入0 xF8以保护最后的3块FLASH页 块保护功能的一个应用 就是保护监控程序不被破坏 保密与解密 MC9S08QG8 4内含保密电路 防止FLASH和RAM的内容被非法访问 启动保密措施后 FLASH和RAM被保护起来 但其中的0页寄存器 高页寄存器 BDC不被保护 位于保密区域的程序可以访问任何资源 非保密区域的程序和BDC访问保密区域的资源将被阻止 忽略写命令 读出全为0 保密性的设置由高页寄存器FOPT中的 SEC01 SEC00 控制位决定 FOPT的内容在复位后从NVOPT拷贝得到 由于NVOPT位于FLASH高位地址处 其内容在对FLASH编程中得到 只有 1 0 状态是非保密状态 就连FLASH擦除状态 1 1 都是保密状态 因此在开发调试过程中 一旦擦除FLASH后 应立刻将NVOPT的SEC00位写0 这样可保证后续的复位不会导致锁死 通过BDM编程器将FLASH的内容全部擦除 可实现解密 但这种方法无法读出原有的程序 为保留原程序 可通过密码解密的方法实现 将预置密码存于FLASH非易失寄存器NVBACKKEY 地址从0 xFFB0 0 xFFB7 中 只要输入正确密码 即可解密 使用这种方法时 首先将NVOPT寄存器中的解密允许位KEYEN置1 其次 这种方式只能工作在普通模式下 不能使用BDM编程器 所以用户程序须设置一种方法来输入外部密码 这里经常采用串口通信 解密程序执行流程为 打开SCI通信模式 等待接受用户8字节密码 置位FCNFG寄存器的KEYACC为1 此时 对FLASH的访问视做密码验证 依次输入8字节密码 进行密码验证 验证从0 xFFB0到0 xFFB7的值 清零KEYACC 在执行上述几步后 如果输入密码正确 系统会将寄存器FOPT的后两位 SEC01 SEC00 设置为 1 0 未加密状态 系统自动解密 如果密码不符 保持加密状态 注意 无论采用全擦除FLASH解密还是采用密码解密 解密后虽然MCU可暂时读写FLASH 但如果NVOPT后两位仍处于加密状态 则系统在下次复位后仍会回到加密状态 在开发过程中 无论何时只要FLASH被擦除 一个好的经验是立即对NVOPT中的SEC00位编程为0 使SEC01 SEC00 1 0 这让MCU在下次复位后保持非保密状态 与Flash相关的寄存器 FOPT选项寄存器 配置寄存器和保护寄存器 状态寄存器FSTAT CPU寄存器 累加器 A 累加器A是一个通用8位寄存器 经常用于暂存一个输入到算术逻辑单元 ALU 的操作数 并且用于存放 ALU 的计算结果 A与存储器之间的数据交换支持多种寻址方式 复位对累加器A的内容没有影响 索引寄存器 H X 这个16位寄存器实际上分为两个8位寄存器 H和X 它们作为一个16位的地址指针一起工作 H存放一个地址的高位字节和X存放地址的低位字节 所有索引寻址模式指令利用H X中全部16位值作为一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论