- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 五个中断 4个并口 但 RAM和、SFR在一起 * 所谓MCS-51 包含一个系列 包括8052 * EA是 允许访问片外ROM PSEN 片外ROM选通线 执行movc 时 产生一个负脉冲 1 锁存器就是把当前的状态锁存起来,使CPU送出的数据在接口电路的输出端 保持一段时间的锁存状态不再发生变化,直到下一个锁存信号到来 (解放引脚和CPU) 2 缓冲寄存器又成为缓冲器, 分为输出缓冲和输入缓冲,输入缓冲把外设的数据暂时存放 以便cpu将它取走, 输出相反。 有了缓冲器,协调高速工作的CPU和慢速外设。 3 锁存器主要是电路结构方面的称呼,而缓冲器主要是计算机领域的称呼。 具体实现上缓冲器有用锁存器结构的电路来实现的 也有用不带锁存结构的电路的。 4 一般来说当收发数据双方的工作速度匹配时 这里的缓冲器可以用不带锁存结构的电路来实现。 而当收发数据双方的工作速度不匹配 就要用带锁存结构的电路来实现了 否则会出现数据丢失 * ALU 用来做累加的 加减乘除 与 或 非 异或 还有数据移位 判断 和程序转移功能 大部分指令的执行时间是1us 暂存器 8位 对用户不开放 强调掌握psw B 通用寄存器 乘除法用 ,在乘除之前 存放乘数和除数, 完成后,存放乘积或者余数。 Cy 是进位标志位, 表示加减法过程中 累加器最高位有无进位或者借位 AC是加减法过程中 低四位跟高四位有没有借位或者进位。 F0 用户标志位, 是用户自己设置的 用户根据程序需要设置的,便于用户直接检测,决定用户程序的走向。 OV 是运算过程是否发生了溢出 例子 -128---+127 奇偶校验位 运算结果中的1的个数 RS0 RS1 * 工作寄存器 r0-r7 跟RAM在一起 它们实际地址就靠psw区分 黑板 mov psw ,#08H 则rs1 rs0 为01B ,所以r0-r7的地址为08H-0FH 板书例子 2.1 SP是堆栈指针 先进后出 货栈一样 8051 RAM 128B字节都可以做SP(引起冲突) SP指向栈顶 注意 堆栈区没有标识 程序员要自己掌握。 MOV SP #70H 先设置栈底地址 开机初始化时为07H PUSH 30H POP 30H PUSH ACC POP ACC * U盘属于FALSH EPROM. PC是一个16位的触发器组成 寻址 0000H-FFFFH 可以寻址64K (?) 实际上 8051只有4KROM * 在mcs51中,各类单片机是互相兼容的,有2种引脚排列方式, 一类是方形,一类是双列直插式。 * PSEN 片外ROM选通线。 EA 选择片内还是片外ROM ALE 地址锁存器。 配合p0口引脚的第二功能使用 访问片外存储器时 P0-P7输出片外地址的低8位,ALE输出高电位脉冲 ,锁存。 * 4个并行I/O口 每个端口都有双向I/O功能,可以输入和输出。每个端口 内部有一个8位数据输出锁存器和一个8位数据输入锁存器 4个数据输出锁存器 和端口号P0,P1,P2,P3同名,为SFR寄存器。 P0口和p2口内部都有一个2选一电路,p0可以作为普通I/O端口,也可以成为 输出片外存储器的低8位地址和读写数据。 P2口可以作为普通I/O端口,也可以成为输出片外存储器的高8位地址。 也就是 片外寻址是p0/p2一起用。 * 为什么程序中要访问片外ROM 举个例子: 系数表 Y=a0+a1*x+a2*x*X+ 要读出来 * ROM的空间只有64K 要么EA=0,要么=1 对于8031 无内部rom始终接地 * 位寻址区 20H-2FH,共 16*8=128位 每一位都分配了地址 00H-7FH 这些地址成为位地址 为什么要用位地址? 8086中有没有位地址 * SETB 7FH ; 7FH---1 * 深刻理解位地址 * 4组通用寄存器,指令执行快 20H-28H 方便位操作 用户区 可以设立堆栈 SP 的初始化07H * 对于8052 SFR和高128位重了 怎么办 采用间接寻址来访问 片内RAM的高128字节 () 把片内ram的83H的内容送到A MOV R0,#83H MOV A, @R0 使用直接寻址来访问SFR 如把DPH送到A 因为DPH地址为83H Mov A,83H MOV A, SP MOV A ,81H 效果一样 至此 3个重复 片内ROM 跟片外ROM EA 片内ram跟片外RAM movx 片内RAM高128位和SFR区 位地址寻
文档评论(0)