单片微型计算机C第7讲(机械)ppt课件.ppt

单片微型计算机C第7讲(机械)ppt课件.ppt

ID:59342706

大小:627.50 KB

页数:48页

时间:2020-09-20

单片微型计算机C第7讲(机械)ppt课件.ppt_第1页
单片微型计算机C第7讲(机械)ppt课件.ppt_第2页
单片微型计算机C第7讲(机械)ppt课件.ppt_第3页
单片微型计算机C第7讲(机械)ppt课件.ppt_第4页
单片微型计算机C第7讲(机械)ppt课件.ppt_第5页
资源描述:

《单片微型计算机C第7讲(机械)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、上节内容回顾寻址方式一般数据传送指令请说明下面指令源操作数和目的操作数的寻址方式MOVA,#dataMOVRn,directMOV@Ri,directMOVCA,@A+DPTR第6-7讲教学目的和要求【教学目标】通过讲述单片机的寻址方式和指令系统功能,以及位寻址功能。掌握各种寻址方式、常用指令的功能和使用方法及汇编语言程序设计方法。【教学重点】①MCS51单片机的寻址方式;②MCS51单片机的指令系统;【教学难点】寻址方式及指令系统。第四章MCS-51单片机指令系统4.3MCS51指令系统MCS51指令系统共有1

2、11条指令,按功能分类,可分成5类。数据传送类指令:28条;算术操作类指令:24条;逻辑运算类指令:25条;控制转移类指令:17条;位操作类指令:17条内部数据传送类指令小结累加器A寄存器间址@Ri#data立即数直接地址direct工作寄存器Rn练习已知:(R0)=30H,试问执行如下指令,累加器A、R3、30H、31H单元中内容各是什么?MOVA,#20HMOVR3,#45HMOV@R0,#46HMOV31H,#47H执行后,结果为:A=20H;R3=45H;(30H)=46H;(31H)=47H4.3.1.

3、2特殊传送类指令以DPTR内容为基址读ROM中常数表项指令MOVC,亦称查表指令ROM中可以存放程序代码,还经常存放常数表MOVCA,@A+DPTR;A←((A)+(DPTR))以PC内容为基址MOVCA,@A+PC;A←((A)+(PC))常数表可以存放在ROM的任何位置,称为远程查表指令。常数表只能存放在该指令后的256个单元内,称为近程查表指令。举例已知A寄存器当前内容为04H,试编写程序,以DPTR作为基址寄存器,将片外ROM的2015H单元中内容读出,并把数送到片内RAM的7FH单元。MOVDPTR,#

4、2011HMOVCA,@A+DPTRMOV7FH,A特殊传送指令MOVX读片外RAM读片外RAM及接口单元数据的指令MOVX片外RAM中经常存放数据采集与处理的中间数据MOVXA,@DPTR;A←((DPTR))MOVXA,@Ri;A←((Ri))写片外RAMMOVX@DPTR,A;((DPTR))←AMOVX@Ri,A;((Ri))←A举例判断下列指令的正误,将错误的更正。MOVXA,2000HMOVDPTR,#2000HMOVXA,@DPTR2.MOVXA,20HMOVR0,#20HMOVXA,@R04.3.

5、1.3堆栈操作指令PUSH与POP堆栈是一片存储区,遵循“后进先出”原则,栈顶由SP指示,初始化时,SP=07H。8051的堆栈设在片内RAM低端的128个单元,向上生长,即入栈时,栈顶指针增加。数据或指令数据或指令栈底SPPushpopSPXX+1X+2堆栈操作指令PUSH与POP入栈指令PUSH。PUSHdirect;SP←(SP)+1,(SP)←(direct)先增加指针,以指向一个空的单元,将要数据压入堆栈出栈指令POP。POPdirect;(direct)←((SP)),SP←(SP)-1先取出数据,再

6、减指针,将单元空出。堆栈用于子程序调用时保护返回地址,或者用于保护子程序调用之前的某些重要数据(即保护现场),还可以用于数据交换。堆栈操作指令PUSH与POP设(SP)=60H,(A)=30H,(B)=70H,连续执行两条指令PUSHACC和PUSHB;再连续执行两条指令POPDPH和POPDPL30H70H栈底60H61H62HSPPUSHACCPUSHBPOPDPHPOPDPLSPSPDPH=70HDPL=30H4.3.1.4数据交换指令包含XCH、XCHD和SWAP三条字节交换指令XCHXCHA,Rn;(R

7、n)↔(A)direct;(A)↔(direct)@Ri;((Ri))↔(A)【例】若(R0)=80H,(A)=20H。执行指令XCHA,R0后,(A)=80H,(R0)=20H。数据交换指令XCHD半字节交换指令XCHD指令形式:XCHDA,@Ri指令功能:将寄存器间址的RAM单元的低半字节与A的低半字节互换,而高半字节保持不变。【例】若(R0)=30H,(30H)=67H,(A)=20H。执行指令XCHDA,@R0指令后,(A)=27H,(30H)=60H。数据交换指令SWAP累加器高低位交换指令SWAP指令

8、形式:SWAPA指令功能:将累加器的高低4位互换。【例】若(A)=30H,执行指令SWAPA后,(A)=03H。4.3.2算术运算类指令算数运算结果要影响PSW中标志位;PSW中标志位的含义CY为1,无符号数(字节)加减发生进位或借位OV为1,有符号数(字节)加减发生溢出错误AC为1,十进制数(BCD码)加法的结果应调整P为1,存于累加器A中操作结果的“1”的个数为奇数算

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。