免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MCS-51单片机指令与程序简介指令:计算机(CPU)的操作命令机器指令代码:机器指令的二进制表示方式,是指令在程序存储器中存放形式,是CPU可直接读取、识别并执行的唯一形式。8051单片机的指令有单字节指令、双字节指令、三字节指令。第一字节为操作码表达指令的操作功能,其中还包括不须独占整字节的操作数信息(如寄存器寻址、寄存器间接寻址等方式)。其余字节表达操作数:为需独占整字节的操作数信息(如立即数,直接地址,相对转移偏移量,位地址,绝对转移地址)。机器语言(目标)程序:由机器指令代码组成的程序。是所有程序的最终形式,是可被CPU依序执行的唯一程序形式,被CPU执行前,应预先存放在计算机内部主存储器(内存储器)中,方可由CPU依序读取、执行。但因其纯代码化、不便于阅读与交流。符号指令:(汇编指令,指令助记符)每一条指令用比较直观,易于表现指令功能及操作对象的符号形式来表达,这种形式的指令称符号指令,便于阅读与交流。但符号指令不被CPU所识别与理解,只是作为书写程序的初始形式来使用(编写源程序)。汇编语言程序:用符号指令书写的程序形式。它必须事先转化为机器语言目标程序,并存放在计算机内存中,方可被CPU所读取、译码识别、执行。高级语言程序:高级语言程序与机器语言程序间则不是简单的逐条对应关系,它们必须经过编译或解释产生出实现其语法所定义的功能的机器语言目标程序,方可由CPU所执行。汇编语言、机器语言程序的书写方式、存储方式、执行过程如下所示:例 1 将3AH单元中数据与3BH单元中数据相互交换机器语言目标程序 汇编语言源程序 地址 指令代码 标号 操作码 操作数 注释 ORG 2000H ;伪指令,表示后续指令从2000H起存放2000 E5 3A START:MOV A,3AH ;把3AH中数据送入A中2002 85 3B 3A MOV 3AH,3BH ;把3BH中数据送入3AH单元2005 F5 3B MOV 3BH,A ;A中数据(原3AH单元数据)送入3BH单元2007 20 20 07 LOOP:LJMP LOOP ;自循环暂停END ;伪指令,表示汇编程序到此结束每条符号指令对应着唯一对应的指令代码。指令代码存放在存储器中的地址必须是确定的。每条指令的代码为13个字节。因此书写时与其源指令在同一书写行上,而地址只要表达每条指令第一个代码所存放单元的地址。上例程序段指令代码存储形式示意如下:MOV A,3AH2000H E5 2001H 3A 2002H 85MOV 3AH,3BH2003H 3B2004H 3AMOV 3BH,A2005H F52006H 3BLJMP 2007H2007H 022008H 202009H 07PC(程序计数器,程序指针)的作用: PC:始终存放着CPU要取出执行的下一个机器指令代码的存放单元的地址。 或:始终指向要取出执行的下一条指令代码存放单元,51单片机程序存储器空间为64KB,使用16bit地址码51单片机的PC为16bit(双字节)PC的作用:l 51单片机复位后,初始化PC=0000H,51单片机总是以0000H地址开始执行程序的。51单片机程序存储器空间中,0000H地址处一定要有存储器并存放有效的程序指令。l CPU总是以PC中的内容为地址从程序存储器中取指令代码的。l CPU每取出一个字节的指令代码自动地将PC加1(PCPC+1)实现程序的顺序执行逻辑。l CPU执行跳转指令功能时为将指令指定的跳转目标地址置入PC(使下一次取的是该地址处的指令)实现了程序跳转执行逻辑。上例程序的执行过程描述如下: PC中的初始地址值为2000H(1) CPU取出2000H单元中指令首字节(操作码)E5H, PC+1=2001H,译:本指令尚有第二字节直接地址(2) CPU取出2001H单元中操作数3AH,PC+1=2002H,执行:将3AH中数送入A。(3) CPU取出2002H单元中指令操作码85H,PC+1=2003H,译:尚有二字节地址码(4) CPU取出2003H单元中地址码3BH,PC+1=2004H,取出3BH单元中的数(5) CPU取出2004H单元中地址码3AH,PC+1=2005H,执行:将数送入3AH单元(6) CPU取出2005H单元中指令操作码F5H,PC+1=2006H,译:尚有一字节地址码(7) CPU取出2006H单元中地址码3BH,PC+1=2007H,执行:将A中数据送入3BH单元(8) CPU取出2007H单元指令操作码02H,PC+1=2008H,译:尚有二字节目标地址(9) CPU取出2008H单元中地址高字节20H,PC+1=2009H,尚有一字节地址码(10) CPU取出2009H单元中地址低字节07H,PC+1=200AH,执行:2007H PC转步骤(8)无限循环例 2 编程序实现R2、R3中的双字节BCD数加上R4、R5中的双字节BCD数,和值存放于R6、R7中。 ORG 11A0H11A0 EB MOV A,R3 ;取被加数低字节11A1 2D ADD A,R5 ;加上加数低字节,进位在Cy中11A2 D4 DA A ;二-十进制调整11A3 FF MOV R7,A ;存和值的低字节11A4 EA MOV A,R2 ;取被加数高字节11A5 3C ADDC A,R4 ;加上加数高字节及低字节的进位 11A6 D4 DA A ;二-十进制调整 11A7 FE MOV R6,A ;存和值的高字节11A8 80 FE SJMP $ ;自循环暂停11AA例 3 编程序实现P1.3输出驱动LED以1秒为周期闪烁。 ORG 1200H1200 C2 95 CLR P1.3 ;输出控制端清零1202 7F 08 LOOP0: MOV R7,#8 ;软件延时0.5秒1204 7E C8 LOOP7: MOV R6,#200 1206 7D 64 LOOP6: MOV R5,#100 1208 00 LOOP5: NOP 1209 DD FD DJNZ R5,LO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 膝先露难产的护理个案
- 膝关节籽骨炎的护理个案
- 2025企业用工劳动安全合同模板
- 2025劳动合同无效的情况
- 2025年大学《湿地保护与恢复-典型湿地修复案例》考试模拟试题及答案解析
- 2025年新鲜水果买卖合同
- 2025商务办公楼租赁合同范本
- 2025房屋租赁合同终止协议
- 2025版权授权申请合同范本
- 应收款项回购合同
- HG∕T 2454-2014 溶剂型聚氨酯涂料(双组份)
- 译林版二年级上册英语期中卷(含听力材料)
- 水产苗种生产技术操作规程
- 玉米脱粒机项目计划方案
- DZ∕T 0283-2015 地面沉降调查与监测规范(正式版)
- 异常子宫出血完整版课件
- 快递物流反恐怖防范规范
- 湘教版地理八年级上册 一课一练 助学读本
- 人教版九年级化学全册复习提纲
- 盘古开天地中国经典神话故事中文绘本
- 红牛营销案例分析
评论
0/150
提交评论