分享

51单片机自学教程(2)

 梅竹修士 2012-07-18

51单片机自学教程(2)

[日期:2008-10-29 ] [来源:net 作者:佚名] [字体: (投递新闻)

单片机的指令系统
一、概述

 1、指令的格式:标号:操作码助记符[(目的操作数),(源操作数)];注释”

  我们已知,要让计算机工作,就得给计算机发指令,并且我们从上一课已知,计算机要完成你所给定的任务,必须为其编写相应的程序(所有指令的集合),计算机是机器只识别机器语言,机器语言是一种用二进制代码“0”和“1”的形式表示的,而如果我们使用者要用这种语言编写指令,将是繁琐费时和困难重重的;为此人们发明了汇编语言,汇编语言是一种用助记符来表示的面向机器的程序设计语言。汇编语句与机器指令是一一对应的,具体的汇编语句格式如上:助记符格式,如MOV P1,#0FFH,这样就方便使用和记忆了。

2、汇编

我们写指令使用汇编格式,而计算机只懂机器码格式,所以要将我们写的汇编格式的指令转换为机器码格式,这种转换有两种方法:手工汇编和机器汇编。手工汇编实际上就是查表,因为这两种格式纯粹是格式不同,所以是一一对应的,查一张表格就行了。不过手工查表不仅麻烦而且随着程序的长度增加完成的可能性越小,所以就有了计算机编译软件,用计算机软件来替代手工查表,这就是机器汇编,所以你起码要在你电脑中安装一种编译软件,如:KeilC51\MedWin等,可在网上下载,如直接输入MedWin搜索。当然要将你编写的程序放进如89C51单片机芯片中让它完成你想的任务,还要烧写芯片,烧写芯片是由编程器来完成的,所以你要购买一款编程器,如TOP851等;
3、指令格式祥解:
标号:操作码助记符[(目的操作数),(源操作数)];注释”
   先看一段程序:
 MAIN: MOV SP,#70H;将堆栈设置从70H单元地址开始
      
ACALL DELAY;
       。。。
       。。。
      AJMP MAIN;MAIN为标号,程序将直接跳至该标号出继续执行
     END
  MAIN即是标号,MOV、ACALL、AJMP即是操作码助记符,SP就是目的操作数,#70H就是源操作数。
  标号
是指令的符号地址,可根据需要设置。一般用英文字母、数字表示,某个语句一旦赋予某个标号,则在其它语句的操作数中就可以直接引用该标号,以便控制程序的转移或寻址。标号和操作码之间用“:”号分开。
 
操作码与操作数之间用空格分隔,操作码在汇编语言中用助记符表示,它的作用是命令CPU作何种操作。操作数有目的操作数和源操作数,之间用“”分隔。
 
注释是对该指令的解释,可有可无,对初学者来说应多写注释,注释之前用“”隔开。
4、寻址方式
  有7种方式如下:“@ ”表示为间接寻址

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多