单片机001报告.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(2)B寄存器   累加器的辅助寄存器,乘法运算时,B为乘 数,乘法操作后,用于存放计算结果的高8位字 节;除法运算时,B为除数,除法操作后,用于存 放余数。B寄存器还可作为一般数据寄存器使用。   B寄存器的地址为F0H。 (3)堆栈指针SP   堆栈是一个特殊的存储区,用于暂存数据和地址,它按照“先进后出”的原则存储数据,堆栈有两种操作:进栈和出栈。单片机的堆栈一般开 辟在片内RAM的30H~7FH单元中。   堆栈指针SP也是一个8为寄存器,地址为 81H,它用于指示栈顶的位置。   系统复位后,SP的内容为07H,此时堆栈区位 于片内RAM的08H~7FH。 (4)数据指针DPTR   DPTR是一个16位的寄存器,包括两个8位的寄存器DPL(低8位字节,字节地址82H)和DPH(高8位字节,字节地址83H)。DPTR既可作为1个16位寄存器,也可分别作为两个8位寄存器单独使用。DPTR不能位寻址。DPTR用于访问片外RAM时作为地 址指针,也可访问ROM中的常数表格。 (5)程序状态寄存器PSW   PSW是一个8位寄存器,地址为D0H,可以位寻址,用于存放程序运行中的各种状态信息。PSW中有些位的状态是根据程序执行结果由硬件自动设 置的,而有些位的状态则使用软件方法设定。 位序 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 位名称 CY AC F0 RS1 RS0 OV - P 位地址 D7H D6H D5H D4H D3H D2H D1H D0H PSW中各位的定义及使用 ◆进位标志CY(PSW.7)   算术运算时,运算结果的最高位(D7)有进 (借)位时CY=1,否则CY=0。   在布尔处理器中,CY起着位累加器的作用。 17条位处理指令多数是针对CY来完成的,在程序 中用到它时,写成“C”。 例如:1100 0010+1000 0100=1 0100 0110 ◆辅助进位标志位AC (PSW.6)   加减运算时,如果低半字节的最高位(D3) 有进(借)位时AC=1,否则AC=0。   AC在进行BCD码运算时,作为二-十进制调整 的依据。 例如:0000 1010+1000 1100=1001 0110 ◆用户标识位F0 (PSW.5)   是用户定义的一个状态标志,可通过软件置位或清零。在编程时常把它作为程序执行状态 位,由其状态控制程序的转移方向。 ◆工作寄存器组选择位RS1、RS0(PSW.4、PSW.3)   用以选择当前工作寄存器组,可通过软件置位或清零,选择情况如下表。 RS1 RS0 选中工作寄存器组 地 址 0 0 第0组 00H~07H 0 1 第1组 08H~0FH 1 0 第2组 10H~17H 1 1 第3组 18H~1FH ◆溢出标识位OV (PSW.2)   用于表征运算结果是否超出数的表示范 围。在进行有符号数加减法时,由硬件置位或 清零。   如果有溢出,即运算结果超出-128~+127 范围时,OV=1;如果没有溢出,即运算结果落 在-128~+127的范围内时,OV=0。   进行无符号数的加、减运算时,OV状态与 CY一致。 ◆奇偶标志位(PSW.0)   用于显示累加器A中“1”的个数是奇数个还是偶数个,奇数个时P=1,偶数个时P=0。   该标志对串行通信的数据传输非常有用, 通过奇偶校验可检验数据传输是否正确。 2.3.4 程序计数器PC   PC是一个16位的计数器,其作用是控制程序 的执行顺序。其内容为将要取出并执行的指令的 地址,寻址范围为64KB。PC有自动加1功能,本 身没有地址,用户无法对它进行读写(如MOV类 指令),但可以通过转移、调用、返回等指令改 变其内容,来实现程序的转移。 (1)程序存储器 程序存储器 内部 外部 0000H 0FFFH (4K) 0000H FFFFH (64K) 0000H 0FFFH (4K) 0000H 0001H 0002H (PC) 0000H是程序执行的起始单元, 在这三个单元存放一条 无条件转移指令 中断5 中断4 中断3 中断2 中断1 0003H 000BH 0013H 001BH 0023H 002BH 外部中断0 定时器0中断 外部中断1 定时器1中断 串行口中断 8位 . . . 0FFFH 0FFEH EA=1 EA=0 程序存储器资源分布 中断入口地址 在单片机C语言程序设计中,用户无需考虑程序的存放地址,编译程序会在编译过程中按照上述规定,自动安排程序的存放地址。 例如:C语言是从main()函数开始执行的,编译程序会在程序存储器的0000H处自动存放一条转移指令,跳转到main()函数存放的地址;中断函

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档