欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    51单片机指令系统-数据传送类指令.ppt

    • 资源ID:88389132       资源大小:239.50KB        全文页数:26页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    51单片机指令系统-数据传送类指令.ppt

    51单片机指令系统-数据传送类指令1.1.访问片内数据存储器的一般数据传送指令访问片内数据存储器的一般数据传送指令 该类指令的功能是实现数在片内RAM单元之间、寄存器之间、寄存器与RAM单元之间的传送。所有指令具有统一的格式,其格式如下:MOV,;目的操作数单元源操作数(或单元)操作码助记符都是MOV,目的操作数和源操作数不同寻址方式的组合就派生出该类的全部指令。因此,记忆这类指令的关键在于掌握两个操作数的各种寻址方式的组合关系。2)以以Rn 为目的操作数的指令为目的操作数的指令 例:若(例:若(60H)=30H 执行执行 MOV R6,60H MOV Rn,Adirect#data结果结果:(R6)=30H。3)以以direct 为目的操作数的指令为目的操作数的指令例:若(例:若(R0)=30H,(30H)=25H 执行执行MOV 40H,R0 指令指令结果:(结果:(40H)=25H。MOV direct,Rndirect1Ri#dataA4)以以Ri为目的操作数的指令为目的操作数的指令例例 若(若(R1)=56H,(,(A)=35H 执行执行 MOV R1,A 指令指令 结果结果:(:(56H)=35HMOV Ri,Adirect#data访问片内RAM的一般传送指令操作关系图累加器ADirect 直接地址Rn寄存器Data立即数Ri间址例例 设内部设内部RAM(30H)=40HRAM(30H)=40H,(40H)=10H(40H)=10H,(10H)=00H(P1)=0CAH(10H)=00H(P1)=0CAH,分析以下程序执行后各单元,分析以下程序执行后各单元及寄存器、及寄存器、P2P2口的内容。口的内容。MOV R0MOV R0,#30H#30HMOV AMOV A,R0R0MOV R1MOV R1,A AMOV BMOV B,R1R1MOV R1MOV R1,P1P1MOV P2MOV P2,P1P1MOV 10HMOV 10H,#20H#20H;R0=30HR0=30H;A=40HA=40H;R1=40HR1=40H;B=10HB=10H;(40H)=0CAH(40H)=0CAH;(P2)=0CAH(P2)=0CAH;(10H)20H(10H)20H执行上述指令后的结果为:执行上述指令后的结果为:(R0)=30H(R0)=30H,(R1)=(A)=40H(R1)=(A)=40H,(B)=10H(B)=10H,(40H)=(P1)=(P2)=CAH(40H)=(P1)=(P2)=CAH,(10H)=20H(10H)=20H。2.特殊传送指令特殊传送指令 访问程序存储器的数据传送指令又称作查表指令,采用基址寄存器加变址寄存器间接寻址方式,把程序存储器中存放的表格数据读出,传送到累加器A。共有如下两条单字节指令,指令操作码助记符为MOVC。(1)ROM查表指令查表指令 2)MOVC A,A+PC 以以PC的当前值的当前值与与偏移量之和偏移量之和作为程序存储作为程序存储 器地址,将该地址单元的内容传送到器地址,将该地址单元的内容传送到A。指令执行后指令执行后PC的内容不变。的内容不变。2.特殊传送指令特殊传送指令 1)MOVC A,A+DPTR 以以DPTR与与偏移量之和偏移量之和作为程序存储器地作为程序存储器地 址,将该地址单元的内容传送到址,将该地址单元的内容传送到A。指令。指令 执行后执行后DPTR的内容不变。的内容不变。前一条指令采用DPTR作基址寄存器,因此可以很方便地把一个16位地址送到DPTR,实现在整个64 KB程序存储器单元到累加器A的数据传送。即数据表格可以存放在程序存储器64 KB地址范围的任何地方。后一条指令以PC作为基址寄存器,CPU取完该指令操作码时PC会自动加1,指向下一条指令的第一个字节地址,即此时是用(PC)+1作为基址的。另外,由于累加器A中的内容为8位无符号数,这就使得本指令查表范围只能在256个字节范围内(即(PC)+1H(PC)+100H),使表格地址空间分配受到限制。同时编程时还需要进行偏移量的计算,即MOVC A,A+PC指令所在地址与表格存放首地址间的距离字节数的计算,并需要一条加法指令进行地址调整。偏移量计算公式为:偏移量偏移量=表首地址表首地址-(MOVC-(MOVC指令所在地址指令所在地址+1)+1)例例 从片外程序存储器从片外程序存储器2000H2000H单元单元开始存放开始存放0909的平方值,以的平方值,以DPTRDPTR作作为基址寄存器进行查表得为基址寄存器进行查表得3 3的平方的平方值。值。如果用以DPTR为基址寄存器的查表指令,其程序如下:MOV DPTR,#2000H;置表首地址MOV A,#03HMOVC A,A+DPTR01491625364964812000H2001H2009H1FFDH1FFFH1FFEH设MOVC指令所在地址(PC)=1FFDH,则偏移量=2000H-(1FFDH+1)=02H。相应的程序如下:MOV A,#03H ;(A)03HADD A,#02H ;用加法指令 进行地址调整MOVC A,A+PC ;(A)(A+PC+1)执行结果为:(PC)=1FFEH,(A)=09。01491625364964812000H2001H2009H1FFDH1FFFH83H1FFEH(2)读、写片外读、写片外RAM 指令指令 MCS-51单片机CPU对片外扩展的数据存储器RAM或I/O口进行数据传送,必须采用寄存器间接寻址的方法,通过累加器A来完成。这类指令共有以下条单字节指令,指令操作码助记符都为MOVX。(2)读、写片外读、写片外RAM 指令指令 1)读片外读片外RAM MOVX A,DPTR MOVX A,Ri 2)写片外写片外RAM MOVX DPTR,A MOVX Ri,A例例 设外部设外部RAM(0203H)=0FFHRAM(0203H)=0FFH,分析以下指令执,分析以下指令执行后的结果。行后的结果。MOV DPTRMOV DPTR,#0203H#0203HMOVX AMOVX A,DPTR DPTR MOV 30HMOV 30H,A A MOV AMOV A,#0FH#0FHMOVX DPTRMOVX DPTR,A A执行结果为:执行结果为:(DPTR)=0203H(DPTR)=0203H,(30H)=FFH(30H)=FFH,(0203H)=(A)=0FH(0203H)=(A)=0FH。(3)堆栈操作指令堆栈操作指令 堆栈操作有进栈和出栈,即压入和弹出数据,常堆栈操作有进栈和出栈,即压入和弹出数据,常用于保存或恢复现场。进栈指令用于保存片内用于保存或恢复现场。进栈指令用于保存片内RAMRAM单元单元(低低128128字节字节)或特殊功能寄存器或特殊功能寄存器SFRSFR的内容;的内容;出栈指令用于恢复片内出栈指令用于恢复片内RAMRAM单元单元(低低128128字节字节)或特或特殊功能寄存器殊功能寄存器SFRSFR的内容。的内容。(3)堆栈操作指令堆栈操作指令 3)操作指令操作指令 PUSH direct POP direct 1)原则:原则:向地址高端生长,后进先出向地址高端生长,后进先出 2)SP :指向栈顶指向栈顶(活动端活动端),复位值,复位值07H例例 若(若(SP)=07H,(,(40H)=88H 执行执行 PUSH 40H 指令指令结果结果:(:(SP)=08H,(,(08H)=88H。(4)数据交换指令数据交换指令 数据传送指令一般都是将操作数自源地址单元传送到目的地址单元,指令执行后,源地址单元的操作数不变,目的地址单元的操作数则修改为源地址单元的操作数。交换指交换指令数据作双向传送,涉及传送的双方互为源地址、目的地令数据作双向传送,涉及传送的双方互为源地址、目的地址,指令执行后每方的操作数都修改为另一方的操作数。址,指令执行后每方的操作数都修改为另一方的操作数。数据交换指令共有如下5条指令:(4)数据交换指令数据交换指令例例 若(若(R0)=67H,(,(A)=45H。执行执行 XCH A,R0 指令指令 交换类指令,交换类指令,传送是传送是双向双向的的 1)字节交换指令字节交换指令XCH A,RndirectRi结果结果:(:(A)=67H,(,(R0)=45H。2)半字节交换指令半字节交换指令 例:若(例:若(R0)30H,(,(30H)67H,(A)20H。执行执行 XCHD A,R0 后,后,(A)27H,(,(30H)60H。XCHD A,Ri SWAP A例例 若(若(A)30H,执行,执行SWAP A 后,后,(A)03H。作业作业1 1变址寻址和相对寻址中的地址偏移量有何异同?变址寻址和相对寻址中的地址偏移量有何异同?2.2.写出能完成下列数据传送的指令写出能完成下列数据传送的指令R1R1的内容传送到的内容传送到R0R0内部内部RAM 20HRAM 20H单元中的内容送到单元中的内容送到30H30H单元单元外部外部RAM 2000HRAM 2000H单元中的内容送到内部单元中的内容送到内部RAM20HRAM20H单元单元外部外部ROM 2000HROM 2000H单元中的内容送到内部单元中的内容送到内部RAM20HRAM20H单元单元外部外部ROM 2000HROM 2000H单元中的内容送到外部单元中的内容送到外部RAM3000HRAM3000H单单元元已知(已知(20H20H)=X,(21H)=Y,(22H)=Z=X,(21H)=Y,(22H)=Z请用图示说明下列请用图示说明下列程序执行后堆栈中的内容是什么?程序执行后堆栈中的内容是什么?MOV SP,#70HPUSH 20HPUSH 21HPUSH 22H此此课件下件下载可自行可自行编辑修改,修改,仅供参考!供参考!感感谢您的支持,我您的支持,我们努力做得更好!努力做得更好!谢谢!

    注意事项

    本文(51单片机指令系统-数据传送类指令.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开