您当前的位置:五五电子网电子知识单片机-工控设备51单片机MCS-51系列指令快速记忆法 正文
MCS-51系列指令快速记忆法

MCS-51系列指令快速记忆法

点击数:7859 次   录入时间:03-04 11:56:46   整理:http://www.55dianzi.com   51单片机

    单片机 程序是用文本编辑器编写的纯文本文件,象我们平常在windows计事本中用汉语写计划一样,先这件事后那件事的去写,以所使用单片机语言的语法,按我们的想法把单片机要做的事“一件一件”的依次写下来,遇到“有些事”是重复的,就指明在什么什么地方已有说明(跳转),在正常安排中若有其它突发事件出现,必须写一段突发事件处理计划(中断)... ...。最后保存文件的扩展名应与所使用的语言要求的名字一致;我们汉语的文章一般保存为*.txt扩展名,而汇编语言的文件扩展名一般应为*.asm;有的开发系统则有自己的规定,如用 Keil C51开发系统,编写的汇编程序扩展名为*.a51;当然Keil C51开发系统也有自己的编辑器,不必用Windows中的计事本。

    无论我们使用汇编语言,还是C语言编写的程序,只是给我们看的,这个程序还必须经过与该语言对应的软件将我们能看懂的汇编或C“翻译”(编译)成所用 单片机 可以识别的代码。将单片机可以识别的代码烧写(编程)到单片机程序存储器中,单片机装的实际电路中才能依你的“计划”去工作。

    对于8051系列 单片机 来说,Keil C开发系统具有编辑、编译、模拟单片机C语言程序的功能,也能编辑、编译、模拟汇编语言程序;对于初学者,开始编写的程序难免出现语法错误或其它不规范的语句,由于Keil C编译时对错误语句提示的是英文,不太好理解,若用汇编的话,可使用DOS下的宏汇编编译器ASM51;他可以对出错语句进行中文提示;你源程序的注释部分还可以使用中文,这更便于你今后对程序的维护。

    编译出的代码一般扩展名为*.hex或*.bin;这个代码文件必须送到 单片机 中单片机在电路中才能按你的“计划”去工作。将这个代码文件送到单片机中的工具就是编程器,与电脑连接的编程器一般都通过并口或者串口与编程器的硬件连接,也有相应的服务程序;在连接好电脑与编程后运行其服务程序,在服务程序中先选择所要编程的单片机型号,再调入前面所得到的代码文件,接下来就用编程器将这个代码文件烧写到单片机中。到此,单片机开发的一个过程就大致完成。

    当然,你不可能一次就把你的“计划”用 单片机 的语言完美正确的将源程序写好(就是我们平常制订的计划在实际中也有修改的),这就需要反复修改源程序,反复编译、烧写到单片机中、反复将单片机装到电路中去实验。由于单片机执行每一条语句所用的时间很短,有时你无法得到其中间的结果,也无法判断程序出错的位置,这时你可以使用软件模拟的方法,让程序一步一步的执行,每执行一步,通过查看单片机中各关键数据的变化情况,来找到错误或没按你“计划”执行的语句,从而达到排错的目的。若你资金不成问题的话,也可以购买单片机仿真器,他可以取代实际电路中的单片机,在电脑的控制下一步一步的去排错。实际上无论软件模拟(仿真)还是硬件仿真,其功能远不止这里讲的这一点点。

    初学 单片机 几个不易掌握的概念 

    随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,许多电子爱好者开始学习 单片机 知识,但单片机的内容比较抽象,相对电子爱好者已熟悉的模拟电路、数字电路,单片机中有一些新的概念,这些概念非常基本以至于一般作者不屑去谈,教材自然也不会很深入地讲解这些概念,但这些内容又是学习中必须要理解的,本文将就这些最基本概念作一说 明,希望对自学者有所帮助。
  
    一、总线:

    我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连 线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算 机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作 必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各 器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件 共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起 来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接 收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工 作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被 称为数据总线,器件所有的控制线被称为控制总线。在 单片机 内部或者外部存储器及其它器 件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形 式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总 线。
  
    二、数据、地址、指令:

    之所以将这三者放在一起,是因为这三者的本质都是一样的——数字,或者说都是一串‘0’和‘1’组成的序列。换言之,地址、指令也都是数据。

    指令:由 单片机 芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。

    地址:是寻找 单片机 内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。

    数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:
  
    1·地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。
  2·方式字或控制字(如MOV TMOD,#3),3即是控制字。
  3·常数(如MOV TH0,#10H)10H即定时常数。
  4·实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗, 则执行

    指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。
  
    理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。
  
    三、P0口、P2口和P3的第二功能用法

    初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。



上一页  [1] [2] 


本文关键字:快速记忆法  51单片机单片机-工控设备 - 51单片机