《2-51内部结构详探[补]》精选课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
主讲人:陈科 单片机技术基础 Contents 51内部架构 51内部架构 关于时序 RAM RAM RAM SFR C语言中使用SFR 唠叨完毕! 电子电气工程系 RAM中系统专用的-SFR 4 51单片机的组成 1 关于时序 2 51内部结构初探-要点 RAM中用户使用的-RAM 3 51内部架构 51内部架构 1.基于MCS51核心8位处理器(包含一个1位处理器-强大的布尔处理能力) 2.128个字节的用户RAM单元,128个字节的系统专用RAM单元(称为SFR区) 3.4K字节的内部ROM,只读不写程序存储器,不够可外扩。 4.四个用户可编程输入输出并行接口,共32个IO脚,每口内部一个8位锁存器,并具有第二功能。 5.一个全双工串口。可用于全双工异步通信,或当成同步移位器进行外部IO扩展。 6.两个16位的定时计数器,可实现内部定时或外部计数。 7.3个内部2个外部中断源,高低两级优先级,不够可外扩。 8.集成有时钟电路,外接晶振即可使用。 9.三总线结构 关于时序 关于时序(4个概念) 节拍周期P(振荡周期、晶振周期):晶振的周期。 状态周期:包含2个节拍周期P1和P2。 机器周期T:包含12个节拍周期。 机器周期是单片机执行指令的基本时间单位。 指令周期:一条指令所花的时间,包含1~4个机器周期。 51单片机共111条机器指令,大部分执行时间为1~2T,乘除法为4T。 例: 晶振采用12MHz时: 机器周期T =1uS 6M =2uS 24M =0.5uS RAM存储器结构 片内用户RAM划分(低128字节的RAM) 1.工作寄存器区 0x00~0x1f:共32字节。工作寄存器区,8个字节为1组,分为0、1、2、3区,每个区的8个字节从低到高依次为R0~R7。 工作寄存器是使用较频繁,速度较快的数据暂存地,C51语言不用直接考虑如何使用工作寄存器,编译时自动处理,但C和汇编混合编程时,工作寄存器是重要的函数参数传递工具。 RAM存储器结构 片内RAM划分 2.位寻址区(布尔处理器区) 0x20~0x2f:共16字节,128个位(bit)。每个位又分配有位地址,从最低字节的最低位开始,依次为0x00~0x7f。 布尔的意思即逻辑,位操作。 位区用于灵活的开关量运算。 如果51没有位区,就不可能成为微控制器。 该区也可当作普通的字节RAM使用。 RAM存储器结构 片内RAM划分 3.缓冲区(普通的RAM区,无特定功能) 0x30~0x7f:共80个字节,无特别功能,供用户使用。 但堆栈区通常放在这一块。堆栈用于中断现场的保护。 RAM存储器结构 片内SFR区(系统专用的RAM,高128字节的RAM) SFR区名称上是为了和普通的RAM相区别,其实质仍然是RAM,归系统专用。 0x80~0xff:共128字节。 在这128个字节的空间里,零散分布了21个(注:标准型51)具有特殊功能的寄存器(SFR)。那些没被占用的地盘,用户不能使用(注:电路结构就不存在)。 例如: 地址0x80:端口P0寄存器 地址0x90:端口P1寄存器 地址0xa0:端口P2寄存器 地址0xb0:端口P3寄存器 地址0xd0:程序状态字PSW寄存器,存放运行状态标志。 SFR用于特定的运算,或用于特定功能的设置,如IE用于中断开关,TCON用于定时计数器设置,SCON用于串口设置等。 C语言中使用SFR C语言中如何使用特殊功能寄存器SFR? 利用关键字sfr来定义特殊功能寄存器: sfr P1=0x90; //定义P1,0x90为P1端口寄存器的地址。 P1=0xff; //这样,C语言就能识别P1为端口P1。 利用关键字sbit来定义特殊功能寄存器的位: sbit P1_0=P1^0; //定义P1_0为P1口的最低位P1.0。 P1_0=1; //一个位只能存放两种状态:1,0。 //并不是所有的sfr都能按位来操作的。 C51开发包reg51.h文件包含了常用sfr和sfr的位的定义(但不是全部!) 可以直接include该文件即可: #include “reg51.h” 常用的单片机开发软件里均自带C51开发包。如本课程使用的开发软件KEIL。 C语言中,经常需要直接使用的SFR是4个端口。其余SFR多数都能被C语言自动处理了,将在以后陆续介绍。 电子电气工程系 * *

文档评论(0)

花好月圆 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档