版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六讲,一、授课内容:第三章 80C51单片机的指 令系统 二、授课目的:掌握数据传输指令基本语句和应用。 三、重点/难点: 数据传输指令的基本应用,5、指令系统之数据传送类指令,数据传送类指令共29条, 它是指令系统中最活跃、 使用最多的一类指令。 一般的操作是把源操作数传送到目的操作数, 即指令执行后目的操作数改为源操作数, 而源操作数保持不变。 若要求在进行数据传送时, 不丢失目的操作数, 则可以用交换型传送指令。,(1)一般传送指令 该类指令的功能是实现数在片内RAM单元之间、寄存器之间、寄存器与RAM单元之间的传送。所有指令具有统一的格式,其格式如下: MOV ,;目的操作数单元源操
2、作数(或单元) 操作码助记符都是MOV,目的操作数和源操作数不同寻址方式的组合就派生出该类的全部指令。因此,记忆这类指令的关键在于掌握两个操作数的各种寻址方式的组合关系。,表1 访问片内RAM的一般传送指令表,例题,1、已知:R1=32H、(30H)=AAH、(31H)=BBH、(32H)=CCH, 试问如下指令执行后累加器A、50H、R6、32H中的内容是什么? MOV A,30H MOV 50H,A MOV R6,31H MOV R1,30H,3、试编出把30H单元和40H单元内容进行交换的程序。,2、已知: (40H)=11H、(41H)=22H、R0=40H和R1=41H,试问如下 指
3、令执行后累加器A、40H、41H、42H单元中内容是什么 MOV A, R0 MOV R1,A MOV 42H,R1,(2)数据交换指令,数据传送指令一般都是将操作数自源地址单元传送到目的 地址单元,指令执行后,源地址单元的操作数不变,目的地址 单元的操作数则修改为源地址单元的操作数。交换指令数据作 双向传送,涉及传送的双方互为源地址、目的地址,指令执行 后每方的操作数都修改为另一方的操作数。因此,两操作数均 未冲掉、丢失。数据交换指令共有如下4条指令:,例如: 设(R0) = 30H,30H = 4AH,(A) = 28H,则 执行XCH A, R0后,结果为(A) = 4AH,(30H)
4、= 28H。 执行XCHD A,R0后,结果为(A) = 2AH,(30H) = 48H。 执行SWAP A后,结果为(A) = 82H。,(3)片外数据存储器数据传送指令,80C51单片机CPU对片外扩展的数据存储器RAM或I/O口进 行数据传送,必须采用寄存器间接寻址的方法,通过累加器A来 完成。这类指令共有以下条单字节指令,指令操作码助记符都 为MOVX。 指令助记符 操作功能注释 MOVX A,DPTR ; (A)(DPTR) MOVX A,Ri ; (A)(Ri) MOVX DPTR ,A ; (DPTR)(A) MOVX Ri,A ; (Ri)(A),例如 设外部RAM(0203H
5、)= FFH,分析以下指令执行后的结果。 MOV DPTR,#0203H ;(DPTR)0203H MOVX A,DPTR ;(A)(DPTR) MOV 30H,A ;(30H)(A) MOV A,#0FH ;(A)0FH MOVX DPTR,A ;(DPTR)(A) 执行结果为:(DPTR)=0203H,(30H)=FFH,(0203H)=(A)=0FH。,例如:已知外部RAM的20H单元中有一个数x和内部RAM的20H单元中有一个数y,试编出可以使它们相互交换的程序,MOV R1 , #20H ; R1 20H MOVX A , R1 ; A x XCH A , R1 ; x 20H ,
6、A y MOVX R1 , A ; y 20H,例如:已知50H中有一个0-9的数,请编程把它变为相应ASCII码的程序,MOV R0 ,#50H MOV A , #30H XCHD A ,R0 MOV R0 , A,(4)访问程序存储器的数据传送指令,访问程序存储器的数据传送指令又称作查表指令,采用基址寄存器加变址寄存器间接寻址方式,把程序存储器中存放的表格数据读出,传送到累加器A。共有如下两条单字节指令,指令操作码助记符为MOVC。 指令助记符 操作功能注释 MOVC A, A+DPTR ;(A)(A)+(DPTR) MOVC A, A+PC ;(PC)(PC)+1,(A)(A)+(PC)
7、,MOVC A, A+PC MOVC A, A+DPTR 这是两条很有用的查表指令, 可用来查找存放在外部程序存储器中的常数表格。第一条指令是以PC作为基址寄存器, A的内容作为无符号数和 PC的内容 ( 下一条指令的起始地址)相加后得到一个 16 位的地址, 并将该地址指出的程序存储器单元的内容送到累加器A。 这条指令的优点是不改变特殊功能寄存器和PC的状态, 只要根据A的内容就可以取出表格中的常数。缺点是表格只能放在该条查表指令后面的 256 个单元之中, 表格的大小受到限制, 而且表格只能被一段程序所利用.,第二条指令是以DPTR作为基址寄存器, 累加器A的内容作为无符号数与DPTR内容
8、相加, 得到一个 16 位的地址, 并把该地址指出的程序存储器单元的内容送到累加器A。这条指令的执行结果只与指针DPTR及累加器A的内容有关, 与该指令存放的地址无关, 因此, 表格的大小和位置可以在 64 KB程序存储器中任意安排, 并且一个表格可以为各个程序块所共用。,例如:已知累加器A中有一个0-9范围内的数,用查表指令编出能查找出该数的平方值的程序,(1)采用PC作为基址寄存器 为了便于理解,我们把如下查表程序定位在1FFBH ORG 1FFBH 1FFBH ADD A , #data 1FFDH MOVC A , A+PC 1FFEH SJMP $ 2000H DB 0 2001H
9、DB 1 2002H DB4 2009H DB 81 END,(2)采用DPTR作为基址寄存器 采用DPTR作为基址寄存器的查表程序比较简单,也容易 理解,只要预先使用一条十六位数传送指令,把表的是始址 2000H送入DPTR,然后进行查表就行了。相应程序为: MOV DPTR , #2000H MOVC A , A+DPTR 思考:用查表方法把累加器中的十六进制数转换为ASCII码, 并送回累加器中。,6、堆栈操作指令,堆栈操作有进栈和出栈,即压入和弹出数据,常用于保存或恢复现场。进栈指令用于保存片内RAM单元(低128字节)或特殊功能寄存器SFR的内容;出栈指令用于恢复片内RAM单元(低128字节)或特殊功能寄存器SFR的内容。 该类指令共有如下两条指令:,例如:设(30H)x和(40H)y,利用堆栈作为媒体编出30H和40H单元中内容相交换的程序。,MOV SP ,#70H PUSH 30H PUS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海电机学院《当代世界经济与政治》2025-2026学年期末试卷
- 四平现代职业学院《中国现代文学三十年》2025-2026学年期末试卷
- 上海第二工业大学《社会语言学》2025-2026学年期末试卷
- 沈阳药科大学《德育与班级管理》2025-2026学年期末试卷
- 山西信息职业技术学院《电子商务概论》2025-2026学年期末试卷
- 山西电子科技学院《政策与法律法规》2025-2026学年期末试卷
- 上海杉达学院《教育文化学》2025-2026学年期末试卷
- 上海中医药大学《大学英语精读》2025-2026学年期末试卷
- 太原科技大学《教育学原理》2025-2026学年期末试卷
- 上海立达学院《精神障碍学》2025-2026学年期末试卷
- 旅游安全管理实务整本书电子教案完整版ppt课件全书教学教程最全教学课件(最新)
- 管理案例-黄河集团如何进行资本运营
- 神经康复的现状与
- 2022年02月天津医科大学后勤处招考聘用派遣制人员方案模拟考卷
- 华三h3交换机基本配置
- 五四制新青岛版五年级科学下册第四单元16《轮轴》课件
- 循环流化床锅炉检修导则
- 日本横河cs3000DCS操作手册
- 干煤棚网壳施工监理实施细则
- “两非两禁止制度”
- 水泥砂浆面层检验批
评论
0/150
提交评论