基于51内核的单片机.ppt_第1页
基于51内核的单片机.ppt_第2页
基于51内核的单片机.ppt_第3页
基于51内核的单片机.ppt_第4页
基于51内核的单片机.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

第九章基于51内核的单片机 9 1ATMEL公司的51系列单片机 9 2Winbond公司的51系列单片机 9 351系列兼容单片机应用举例 9 1ATMEL公司的51系列单片机 9 1 1AT89C51 LV51系列单片机 AT89C51 LV51系列单片机的管脚分布 硬件资源和功能 软件指令以及编程上与Intel80C31单片机完全一样 在应用上可直接替换 AT89C51 LV51系列单片机与Intel80C31单片机的区别为 具有4KB的片上Flash程序存储器 可实现3个级别的程序存储器加密功能 在该系列中除了AT89C51 LV51外还有AT89C52 LV52 AT89C55 LV55 这几种单片机的管脚排列完全与Intel80C31单片机一致 主要的资源情况见表9 1 表9 1AT89C5X LVX单片机内部资源比较 9 1 2AT89C2051系列单片机 特点 外围管脚少仅20个管脚 宽电压 2 7 6V 直接驱动LED 片内集成了一个模拟电压比较器 图9 1AT2051管脚排列图 同一系列的产品还有AT89C1051 AT89C4051 三者的内部资源参见表9 2 9 1 3AT89S51系列单片机 AT89S51系列单片机是Atmel公司推出的在线可编程ISP InSystemProgrammed 单片机 通过相应的ISP软件 用户可对单片机的Flash程序存储器中的程序代码进行在线的编程 AT89S51系列单片机的引脚与AT89C51引脚完全兼容 具体型号的内部资源如表9 3所示 具有12KB在系统可重复编程的FLASH存储器 可编程看门狗定时器 SPI串行口 双数据指针 三个程序存储器保密位 AT89S53单片机的主要性能特点 兼容MCS 51系列单片机 具有Power OFF标志 AT89S53单片机的特殊功能存储器 1 扩展的与看门狗 双数据指针功能有关的特殊功能寄存器 AT89S53扩展了一个特殊功能寄存器WCOM WatchdogandMemoryControlRegister 即看门狗和存储器控制寄存器 地址为96H 它的格式及位定义如下 PS2 PS1 PS0 看门狗定时器的预分频位 当设为全 0 时 有最小复位间隔16ms DPS DPTR数据指针选择位 当DPS 0时 选择数据指针DP0为当前数据指针 即AT89C51系列单片机的DPTR 当DPS 1时 选择数据指针DP1为当前数据指针 即用DP1L 地址84H DP1H 地址85H 组成DPTR指针 WDTRST 看门狗定时器复位控制位 每次用软件将此位置为1时 都会产生一个脉冲将看门狗定时复位 在下一个指令周期 此位自动清零 当程序跑飞 在设定的周期内 没有对此位进行置1操作 CPU将产生一个复位信号 使得CPU复位 WDTEN 看门狗定时器使能位 WDTEN 1 使能看门狗定时器 WDTEN 0 关闭看门狗定时器 此位由软件设置 2 扩展的与SPI功能有关的特殊功能寄存器 AT89S53与SPI接口有关的特殊功能寄存器分别是 控制寄存器 SPCR 状态寄存器 SPSR 数据寄存器 SPDR SPI控制寄存器 SPCR SPIE SPI中断允许位 这个位与IE寄存器中的ES位配合 以确定SPI中断是否使能 当ES 1且SPIE 1 允许SPI中断 若ES和SPIE有一个不为1 则不允许SPI中断 SPE SPI操作允许位 要触发SPI的任何操作必须首先设置该位 当SPE 1时 使能SPI操作 并且将SS MOSI MISO SCK信号从内部连接到AT89S53的P1 4 P1 5 P1 6 P1 7口 当SPE 0时 禁止SPI操作 DORD 数据传送顺序控制位 置1时 首先传送数据低位 置0时 首先传送数据高位 MSTR 主机 从机选择位 置1时 选择主机SPI模式 清0时 选择从机SPI模式 CPOL CPAH 时钟极性 时钟相位选择位 两个位的不同组合 可实现四种定时关系 当CPOL 1 SCK在空闲时为高电平 反之为低电平 当CPAH 0 移位时钟是SCK与SS的逻辑或 CPAH 1时 SS引脚可看作是一个简单的输出使能控制 SPR1 SPR0 SPI时钟速率选择位 用来选择主机的SCK速率 在从机模式下 这两位不用 SCK和振荡器频率fosc之间的关系见表9 4 SPI状态寄存器 SPSR SPIF SPI中断标志位 当数据被传送完 SPIF位被置1 如果SPIE 1且ES 1 那么将向CPU申请中断 SPI中断和串行中断都使用相同的中断向量0023H 在中断服务程序中可通过读取SPSR寄存器中的SPIF标志位来判断是否为SPI中断 在读取SPSR后 SPIF标志位被清零 WCOL 写冲突标志位 如果在数据传送完成之前 SPI数据寄存器被再次写入 则置位WCOL标志 在数据传输过程中 对SPI数据寄存器进行读取 结果可能出现错误 在读取SPSR后 WCOL标志位也被清零 SPI数据寄存器 SPDR 可读写 用于在寄存器和SPI移位寄存器之间传送数据 对该寄存器进行写入操作时 启动数据传送过程 读该寄存器时 得到移位寄存器接收缓冲区的值 3 AT89S53单片机中的SPI接口工作原理 1 AT89S53的SPI接口的特点 双全工 3线同步数据传输 可选择工作于主从模式 5Mb s的最大位传输速率 可编程使LSB或MSB在先 4种可编程的位速率 传送停止可引发中断 写冲突标志保护 从机模式时 SPI接口的操作可将CPU从待机模式中唤醒 在系统中 AT89S53单片机一般作为系统中的SPI主机 AT89S53单片机在上电复位后各端口均为高电平状态 可作为输入口使用 在使能SPI接口后 SS MOSI MISO SCK信号从内部连接至P1 4 P1 5 P1 6 P1 7 各端口的输入输出状态如表9 5所示 在主机工作模式中 SS引脚必须设置为高电平 若工作期间SS引脚被外围电路驱动为低电平 将意味着系统中另外一个SPI主机欲将此主机设置为SPI从机 这可能引起总线冲突 在从机工作模式中 若SS被外围电路驱动为低电平 此SPI接口就被选中 处于工作状态 若SS为高电平 则此SPI接口未被选中 接口处于无效状态 而且接口逻辑被复位 对总线上传输的数据不做反应 如果数据正在传输过程中 SS被拉为高电平 SPI接口将立即停止数据的发送与接收 2 AT89S51系列单片机的ISP简介 在复位引脚接高电平的前提下 就可以利用Atmel公司的ISP在系统可编程电缆通过SPI方式对FLASH存储器进行在系统编程 返回 ISP电缆和AT89S51系列单片机通过一个10针的IDC口进行连接 IDC 10的引脚定义如图9 4所示 图9 4ISP电缆的引脚定义 Atmel公司的ISP软件可在Atmel公司的网站上免费下载 软件的使用可参阅软件的帮助说明 9 2Winbond公司的51系列单片机 Winbond公司生产的8位MCS 51兼容单片机分为四个系列 标准系列 W78C E 宽电压系列 W78L Turbo 51系列 W77 工业温度范围系列 W7XI 本节以Winbond公司的代表性单片机W77E58为例介绍Winbond公司的MSC 51系列兼容单片机 9 2 1W77E58单片机的主要性能特点 最高40MHz时钟 4机器周期的指令执行速度 具有与标准8051一致的管脚排列方式 指令系统兼容标准8051 扩展的4位I O和等待信号线 44脚的PLCC或QFP封装提供 两个优先级的12级中断 两个增强的双工串口 外部数据访问周期可编程 图9 5W77E58管脚排列图 两个全速16位数据指针DPTR 可编程看门狗定时器 1K的片上外部存储器 32K字节的片上FLASH程序存储器 9 2 277E58单片机的引脚功能描述 W77E58的引脚向下兼容80C32单片机的引脚 但有些引脚扩展了其他的功能 1 P1口P1口是一个带内部上拉电阻的8位双向I O口 其扩展见表9 7 表9 7W77E58的P1口的扩展功能 2 P4口P4口是一个4位双向I O口 内部有上拉电阻 另外P4 0也可作为等待状态控制信号WAIT 它可以作为一般I O口使用 9 2 3W77E58的特殊功能寄存器简介 数据指针选择位DPS DPS 0 双数据指针DPTR选择位 该位选择是否用DPL DPH还是DPL1 DPH1作为当前数据指针 当为1时 选择DPL1 DPH1 否则选择DPL DPH DPS的1 7 保留位 读出时数据为0 1 与双数据指针功能有关的特殊功能寄存器 看门狗控制寄存器WDCON SMOD 1 当该位为1时 工作于模式1 2 3下的串口1波特率提高一倍 POR 掉电复位标识 当上电时 该位硬件置位 该标志位可以由软件读写 但软件写只能清零 WDIF 看门狗定时器中断标志 当看门狗定时器中断使能时 由硬件对该位置1表明看门狗定时器中断已经产生 当中断禁止 该位指出定时时间已经过去 该位必须软件清零 EWT 置1时看门狗复位功能有效 2 与看门狗定时器功能有关的特殊功能寄存器 WTRF 看门狗定时器复位标志 当看门狗将CPU复位后 该位被硬件置位 软件可以读它但必须靠软件清0 电源掉电复位也将导致该位清0 该位可以提供利用软件查询复位信号是否产生的标志 如果EWT为0 看门狗不影响该位 RWT 复位看门狗定时器 该位用来在看门狗定时时间到前复位看门狗定时器 并重新启动它 可利用软件将该位置1 如果超过复位时间未操作 将引起看门狗中断 如果EWDI置1 并且EWT置1 看门狗定时器在512个时钟周期后将输出复位信号 该位通过硬件自动清0 时钟控制 CKCON WD1和WD0 看门狗模式选择位 这些位决定了看门狗计时器的时间输出周期 在所有的四个周期模式设置中 复位输出时间比中断周期多512个时钟周期 即当时钟中断周期和看门狗的复位周期相同时 程序有足够的时间去复位看门狗 T2M 定时器2的时钟选择位 置1时将时钟4分频作为定时器2的时钟输入 清0时将时钟12分频后作为定时器2的时钟输入 T1M 定时器1的时钟选择位 置1时将时钟4分频作为定时器1的时钟输入 清0时将时钟12分频后作为定时器1的时钟输入 T0M 定时器0的时钟选择位 置1时将时钟4分频作为定时器0的时钟输入 清0时将时钟12分频后作为定时器0的时钟输入 MD2 0 扩展MOVX指令周期执行时间选择位 这三个位用来确定执行MOVX命令的机器周期数 使用合适的MOVX延时 使用者可以让77e58和低速的存储器或器件接口 而不用插入额外的等待周期 当77E58访问片内SRAM时 MOVX指令执行时间总为两个机器周期 扩展中断使能寄存器EIE EIE 7 5 保留位 读出时为高电平 EWDI 看门狗定时器中断使能 EX5 扩展外部中断5使能 EX4 扩展外部中断4使能 EX3 扩展外部中断3使能 EX2 扩展外部中断2使能 3 与外部中断2 5功能有关的特殊功能寄存器 扩展中断优先级寄存器EIP EIP 7 5 保留位 读出时为高电平 PWDI 看门狗定时器中断优先级 清0时为低优先级 置1时为高优先级 PX5 扩展中断5优先级 清0时为低优先级 置1时为高优先级 PX4 扩展中断4优先级 清0时为低优先级 置1时为高优先级 PX3 扩展中断3优先级 清0时为低优先级 置1时为高优先级 PX2 扩展中断2优先级 清0时为低优先级 置1时为高优先级 IE5 扩展中断5标志位 当INT5有下降沿时 由硬件置1 IE4 扩展中断4标志位 当INT5有上升沿时 由硬件置1 IE3 扩展中断3标志位 当INT5有下降沿时 由硬件置1 IE2 扩展中断2标志位 当INT5有上升沿时 由硬件置1 XT RG 晶振 RC振荡器选择开关位 扩展中断标志寄存器 EXIF 4 与双串口功能有关的特殊功能寄存器 中断优先级控制寄存器IP PS1 该位为1时 串口1为高优先级其他位的功能定义同标准的8051 IE中断使能寄存器 ES1 串口1中断使能其他位的功能定义同标准的8051 串口1控制寄存器SCON1 SM0 1 FE 1 串行口1模式0位或帧错误标志 PCON寄存器的SMOD0位为1时 选择FE 1功能 用表示停止位错误 该位必须人工清零 SM0 1功能同标准8051的SM0 SCON1寄存器的其他位的功能与标准8051的SCON寄存器的对应位的功能相同 串行数据缓冲单元SBUF1 它的具体功能同标准的8051的SBUF寄存器 5 其它的特殊功能寄存器 电源控制寄存器PCON SMOD0 帧数据格式错误功能使能位 当SMOD0为1时 串口控制寄存器SCON和SCON1的第7位指明出现数据格式错误 其作用如FE标志 当SMOD0清0时串口控制寄存器SCON和SCON1的作用与标准的8051单片机功能相同 它的具体功能同标准的8051的PCON寄存器 电源管理寄存器PMR CD1 CD0 时钟周期控制位 这些位选择了一个机器周期所需的时钟周期数 这里有三种模式 4 64或1024时钟周期 在这几种模式间切换时 必须先切换回4分频模式 CD1CD0时钟周期 机器周期00Reserved0141064111024 SWB 切换返回值 该位置1时 允许激活外部中断或者串口中断强行将CD1 CD0设置为4分频 该位会在外部中断发生后切换到中断服务程序时被微处理器识别 当是一个串行接收中断时 这个切换会在下一帧起始位的下降沿发生 XTOFF 晶体振荡器关闭位 该位置1 关闭外部晶体振荡器 当微处理器工作时钟信号来自内部RC振荡器时 只能将该位置1关闭 该位清0时 重启晶体振荡器 并将XTUP STATUS 4 位置1 ALEOFF 该位为1时禁止处理器在对所有内部数据和程序操作时的ALE信号 对外部数据存储器操作时将忽略ALEOFF而自动启用ALE DME0 该位决定是否使用片内的1kSRAM 为1时使用 为0则不用 状态寄存器STATUS PIP 电源故障优先中断设置 当置1时 优先执行电源故障处理程序 中断结束返回后该位被硬件清除 HIP 当为1时 表明软件服务作为高中断优先级 在执行RETI指令后清0 LIP 当为1时 表明软件服务作为低中断优先级 在执行RETI指令后清0 XTUP 晶体振荡器唤醒状态 当该位为1时 表示CPU已经监测到时钟进入准备 该位在每次从掉电状态恢复或者XTOFF位为1后晶体振荡器重启时由硬件清0 在电源接通复位后该位置1 当该位清0后 它能防止软件置1导致XT RG位使能CPU启动晶体振荡器 SPTA1 串口1发送数据激活 当串口1正在发送数据期间该位置1 硬件将TI 1位置1时该位被清0 当该位为1并且SWB 1时改变时钟分频控制位CD0和CD1的操作将会被忽略 SPRA1 串口1接收数据激活 当串口1正在接收数据期间该位置1 硬件将RI 1位置1时该位被清0 当该位为1并且SWB 1时改变时钟分频控制位CD0和CD1的操作将会被忽略 SPRA0 串口0发送数据激活 当串口0正在发送数据期间该位置1 硬件将TI 0位置1时该位被清0 当该位为1并且SWB 1时改变时钟分频控制位CD0和CD1的操作将会被忽略 SPTA0 串口0接收数据激活 当串口0正在接收数据期间该位置1 硬件将RI 0位置1时该位被清0 当该位为1并且SWB 1时改变时钟分频控制位CD0和CD1的操作将会被忽略 返回 定时器入口寄存器TA 为了保证单片机在工作过程中时钟信号的正确性 对看门狗定时器 等待状态信号控制和电源接通 故障复位标志等进行正确操作 必须先向TA写入AAH 紧接着写入55H 然后在接下来的三个机器周期内对这些特殊功能寄存器进行操作才有效 即在这段时间内可向这些特殊功能寄存器写入数据 9 351系列兼容单片机应用举例 9 3 1双数据指针功能的应用 例1 分别用Intel8051单片机和W77E58单片机将相同字节的数据由源地址移动到目的地址 并比较二者所执行的机器周期数 例程1 用单数据指针移动数据块程序SH和SL是被传递的数据块的源地址的高字节和低字节DH和DL是被传递的数据块的目的地址的高字节和低字节CNT是被移动的数据块的字节数 MOVR2 CNTMOVR3 SLMOVR4 SHMOVR5 DLMOVR6 DHLOOP MOVDPL R3MOVDPH R4MOVXA DPTRINCDPTR MOVR3 DPLMOVR4 DPHMOVDPL R5MOVDPH R6MOVX DPTR AINCDPTRMOVDPL R5MOVDPH R6DJNZR2 LOOP 采用8032CPU需要的机器周期为 10 26 CNT 采用W77E58需要的机器周期为 10 26 CNT 例程2 采用W77E58的双数据指针移动数据块SH和SL是被传递的数据块的源地址的高字节和低字节DH和DL是被传递的数据块的目的地址的高字节和低字节CNT是被移动的数据块的字节数 MOVR2 CNTMOVDPS 00HMOVDPTR DHDLINCDPSMOVDPTR SHSLLOOP MOVXA DPTR INCDPTRDECDPSMOVX DPTR AINCDPTRINCDPSDJNZR2 LOOP 采用W77E58需要的机器周期为 12 15 CNT 如果CNT 50采用W77E58需要的时钟周期为 12 15 50 4 3048 结论 采用双数据指针 完成同样的工作 速度提升70 左右 9 3 2W77E58单片机的双串口功能的应用 W77E58单片机具有两个串口 串口0和串口1 单片机的P1 2和P1 3用作串口1 串口0的引脚与标准51系列单片机一致 注意 W77E58单片机的串口0的波特率发生器可用定时器1或2 但串口1的波特率发生器只能用定时器1 例程2 系统晶振为11 0592MHz 串口0和1的波特率发生器均采用定时器1 发送采用查询方式 接收采用中断方式 初始化程序 unsignedcharNum0 Num1 定义接收单元PMR 0 x40 机器周期为4个时钟周期TMOD 0 x20 T1工作于方式2 8位自动再装入方式TH1 0 xfd 装入波特率常数TL1 0 xfd TR1 1 启动定时器1SCON1 0 x50 串口1工作在方式1SCON 0 x50 串口0工作在方式1 voidsend1 uchardat 串口1发送数据子程 SBUF1 dat while TI 1 0 TI1 0 voidsend0 uchardat 串口0发送数据子程 SBUF dat while TI 0 0 TI 0 voidcom0 int void interrupt4using1 串口0接收中断子程 if RI 0 1 RI 0 0 Num0 SBUF 接收串行数据 接收数据处理else v

温馨提示

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

评论

0/150

提交评论