单片机原理与接口技术PPT电子课件教案-第3章_MCS-51单片机指令系统.ppt_第1页
单片机原理与接口技术PPT电子课件教案-第3章_MCS-51单片机指令系统.ppt_第2页
单片机原理与接口技术PPT电子课件教案-第3章_MCS-51单片机指令系统.ppt_第3页
单片机原理与接口技术PPT电子课件教案-第3章_MCS-51单片机指令系统.ppt_第4页
单片机原理与接口技术PPT电子课件教案-第3章_MCS-51单片机指令系统.ppt_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

功能:将源操作数指定的内容送到由直接地址指出功能:将源操作数指定的内容送到由直接地址指出 的片内存储单元中。如:的片内存储单元中。如: mov 20h, a;累加器累加器 a中的内容送到中的内容送到 20h 直接地址单元中直接地址单元中 mov 20h, r1;寄存器寄存器 r1中的内容送到中的内容送到 20h直接地直接地 址单元中址单元中 mov 20h, 30h ;30h直接地址单元中的内容送到直接地址单元中的内容送到 20h直接地直接地 址单元中址单元中 mov 20h, r1 ;以寄存器以寄存器 r1中的内容为地址的单中的内容为地址的单 元中内容送元中内容送 到到20h直接地址单元中直接地址单元中 mov 20h, #34h ;立即数送到立即数送到 20h直接地址单直接地址单 元中元中 mov p2, #34h ;立即数送到立即数送到 p2直接地址单元中直接地址单元中 其中,其中, push acc指令是指令是 这样执行的:将这样执行的:将 sp中的值加中的值加 1 ,即变为,即变为 60h,然后将,然后将 a中的中的 值送到值送到 60h单元中,因此执行单元中,因此执行 完本条指令后,内存完本条指令后,内存60h单元单元 中的值就是中的值就是 100。 同样,执行同样,执行 push b时,是将时,是将 sp中的值加中的值加 1,即变为,即变为 61h,然后将,然后将 b中的值送入到中的值送入到 61h单元中,即执行完本条单元中,即执行完本条 指令后,指令后, 61h单元中的值变为单元中的值变为 20。 例例3-7 条件转移程序结构举例。条件转移程序结构举例。 mov a, r0 jzl1 mov r1, #00h ajmp l2 l1:mov r1, #0ffh l2:sjmp l2 在执行上面这段程序前,在执行上面这段程序前, 如果如果 r0=0,结果是,结果是 r1=0ffh; 如果如果 r00,结果是,结果是 r1=00h。 把上面例子中的把上面例子中的 jz改成改成 jnz后,后, 如果如果 r0=0,结果是,结果是 r1=00h; 如果如果 r00,结果是,结果是 r1=0ffh。 mov a, r0 cjne a, #10h, l1 ;如如r010h,则转移至则转移至 标号标号 l1 mov r1, #0 ;如如r0=10h,则不转移则不转移 ,00hr1 ajmp l3 l1: jc l2 ;如如cy=1,即即r010h,0aahr1 ajmp l3 l2: mov r1, #0ffh ;r010h,则,则 r1=0aah; 如果如果 r010h,则,则 r1=0ffh。 例例例例3-83-8 比较比较比较比较 r0r0中的数是否大于中的数是否大于中的数是否大于中的数是否大于 10h10h。 例例3-10 将将a累加器的低四为取反四次、高四位不累加器的低四为取反四次、高四位不 变。每变换一次,从变。每变换一次,从p1输出。输出。 方法一方法一 :用加:用加 1计数和计数和 cjnz指令配合实现指令配合实现 mov r0, #0;计数初值送计数初值送 0 ll:xrla, #0fh;高高4位不变,低四位取反位不变,低四位取反 incr0;次数加次数加 1 movp1, a;从从p1输出输出 cjne r0, #04, ll ;不满四次循环不满四次循环 ret 方法二方法二 :用:用 djnz指令实现指令实现 mov r0, #04h;计数初值送计数初值送 4 ll:xrla, #0fh mov p1, a djnz r0, ll;次数减次数减 1不等于不等于 0循循 环环 ret 例例3-11 p3.2和和p3.3口各接有一只按键,要求它口各接有一只按键,要求它 们分别按下时(们分别按下时( p3.2=0或或p3.3=0),分别使分别使 p1口为口为 0 或或ffh。 start:mov p1, #0ffh mov p3, #0ffh l1: jnb p3.2, l2 ;p3.2=0,则转到则转到 l2 使使p1口输出口输出 0 jnb p3.3, l3 ;p3.2=1,p3.3=0,则转则转 到到l3 ljmp l1 ;p3.2=1,p3.3=1,则转则转 到到l1(等待等待 ) l2: mov p1, #00h ;p3.2=0,使使p1口全为口全为 “0” ljmp l1 l3: mov p1, #0ffh ;p3.3=0,使使p1口全为口全为 “1” ljmp l1 例例3-12 用位操作指令实现用位操作指令实现xx0 x1,设,设 x0为为 p1.0,x1为为p1.1,x为为acc.0。 分析:因位操作指令中无异或指令,分析:因位操作指令中无异或指令, 依据依据 xx0 x1x0x1+x0x1,用与、或指令完成,用与、或指令完成 ,编程如下。,编程如下。 xbitacc.0 x0bitp1.0 x1bitp1.1;位定义位定义 mov c, x0 anlc, /x1;c=x0x1 mov 20h, c;暂存于暂存于 20h单元单元 mov c, x1 anlc, /x0;c=x0x1 orlc, 20h;cx0x1+x0x1 mov x, c sjmp $ 3-5 写出实现下列要求的指令或程序片段。写出实现下列要求的指令或程序片段。 (1) 将将r0的内容传送到的内容传送到 r1; (2) 内部内部 ram的的20h单元内容传送到寄存器单元内容传送到寄存器r1; (3) 内部内部 ram的的20h单元的单元的 d7和和d3位清零,其他位清零,其他 位保持不变;位保持不变; (4) 外部外部 ram的的1000h单元内容传送到内部单元内容传送到内部ram的的 60h单元中;单元中; (5) 外部外部 ram的的1000h单元内容传送到寄存器单元内容传送到寄存器r2中中 ; (6) 累加器高累加器高 4位清零。位清零。 3-6 试编写一段程序,将内部数据存储器的试编写一段程序,将内部数据存储器的30h和和 3lh单元内容传送到外部数据存储器的单元内容传送到外部数据存储器的1000h和和1001h单单 元中。元中。 3-7 试编写一段程序,将外部数据存储器的试编写一段程序,将外部数据存储器的40h单元单元 中的内容传送到中的内容传送到 0l00h单元中。单元中。 3-8 试编写一段程序,将试编写一段程序,将r3中的数乘以中的数乘以 4(用移位指(用移位指 令)。令)。 3-13 若(若( 50h)=40h,试写出执行以下程序段后累,试写出执行以下程序段后累 加器加器 a、寄存器、寄存器 r0及内部及内部 ram的的40h、41h、42h单元中单元中 的内容各为多少?的内容各为多少? mov a, 50h mov r0, a mov a, #00h mov r0, a mov a, 3bh mov 41h, a mov 42h, 41h 3-14 加法和减法指令影响哪些标志位?是怎么影响加法和减法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论