由专家提出的51系列单片机指令速记法

发布者:xinyi9008最新更新时间:2013-02-05 来源: dzsc关键字:51系列  单片机  指令速记法 手机看文章 扫描二维码
随时随地手机看文章
专家建议

  学单片机之初,你必须懂一些数字电路,若对数字电路中的一般概念很模糊,则应补习一下数字电路再学单片机。目前单片机机种较多,其结构和指令均不相同,所以最好先选一种单片机机种进行学习,然后再进行其他机种的学习。若这种学几天,那种学几天往往会滩多嚼不烂。建议你最好先学8051单片机,因关于8051方面的书籍、资料、器材较多。PIC和AVR以及其它类型的单片机虽有其长处,但与8051单片机相反,现在关于它们的书籍、资料以及器件供应并不太理想,不太适合初学者选择。若你对这些并不在意,也可选择后者进行学习,只要觉得适合你自己学的都行。

    8051系列的派生品很多,这也是建议你先学8051单片机的原因。例如ATMEL公司的AT89C51系列单片机就是完全兼容MSC-51 8051系列的(即AT89C51的指令、管脚、内部主要结构,以及用法与MSC-51相同),它不但兼容,且还有不少创新,如它的程序存储器可以电擦、写,一片IC就拥有了过去单片机的最小系统,不需要以前的373和EPROM元件。故实验时的电路连接、电路板自制都比较容易,再加上目前其价格较低。再者你学习的片子也可以做产品,做产品的片子也可以做实验。当然AVR系列也有这些特点,但PIC及其它系列在这一点上则显得不太理想。

    而在你购买单片机的书籍时,最好选择前面你能看懂而后面你看不懂的,因为前后都看不懂的书在短时间内不会对你起多大作用。当然不是把书用来当资料查的也不必买前后你都懂的,因它对你来说太简单易懂了。应以原理书籍为主,其次购买一些应用方面的书籍以供参考。

    电子技术本身是与实验相辅相成的,光靠看书是很难理解其原理和学会单片机开发的。此时为了能够学好单片机,你应该购置相关单片机的芯片、编程器、实验板,以及开发它的相关软件。以边看书边实验的方式进行理论与实践相结合的学习,这样效果更佳!由于初学,不可能购置很多昂贵的设备,故建议购置其程序储存器是可以反复可擦写的供学习用的单片机芯片,如AT89C系列或AVR系列。这样,在学习烧写(编程)时就无后顾之忧了。

  接下来说说单片机开发的步骤。为了让单片机按你的想法完成一项任务,必须先编写供其运行的程序,编写单片机的程序应使用该单片机可以识别的“语言”,否则程序写得再完美,对单片机来说都是无用功。目前较流行的有汇编和C语言,汇编语言可以精确地控制单片机工作的每一步,而C语言则注重结果,不关心单片机具体的每一步。习惯上宜先学汇编语言后学C语言,这样可以对单片机有一个更深的了解。而且用C语言编程,在需要精确控制时还需要嵌入汇编语句,较为麻烦。当然,也有人一开始就用C语言的,后来再学汇编;若你学过计算机的 Turbo C(快速的c编译器),那么学单片机的C语言也许会更快一些。

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

  不管是使用汇编语言,还是C语言编写的程序也好,编写后的程序不只是给我们自己看的,还必须经过与该语言相对应的软件将我们能看懂的汇编语言或C语言编译成所用单片机可以识别的代码。再将单片机可以识别的代码烧写到单片机程序存储器中,那样单片机装的实际电路才能依你的“计划”去工作。

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

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

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

关键字:51系列  单片机  指令速记法 引用地址:由专家提出的51系列单片机指令速记法

上一篇:C51的一些误区和注意事项
下一篇:基于单片机的彩灯小制作

推荐阅读最新更新时间:2024-03-16 13:17

51单片机-按键的扫描检测与消抖
触发按键,简称按键,是电路设计中常用的器件之一。种类很多,有贴片式的,有直插式的,有四条腿的,也有两条腿的。一般根据需求,进行高低、大小的选择。 如上图所示,样式非常多。记得我第一次去中发买按键的时候,老板问我要什么样的,我也不知道,就说常用的就行。老板嘿嘿一笑,知道我是新人,就拿了几款常见的给我选。 现在自然不会这么笨,一般来说,选择的参数也就这么几项,尺寸、高度、封装方式。例如我想买一种按键,我就直接问老板:6*6*5,四脚贴片的按键有木有? 6*6是什么意思?占地面积,单位是毫米,就是说长和宽都是6mm的。 5是高度,按键整体高度,单位是毫米。要求精细的,会说明按键座的高度和按键头的高度。
[单片机]
学<font color='red'>51</font><font color='red'>单片机</font>-按键的扫描检测与消抖
51单片机信号交通灯系统源代码
本程序所用的原理图下载: 点这里 ,单片机芯片使用的stc89c52 /*项目:交通灯控制系统 *项目设计 交通灯用于控制行人和车辆依 次通过十字路口。 *其设计要求 如 下: 1)、首先车行道亮绿灯 45s,同时人行道亮红 45s; *45s 后,2)、车行道黄灯闪烁 3 次,亮、灭各 1s, *此时人行道 仍维持红灯; *3)、6s 后,转为 人行道亮绿灯 20s,车行道亮 红灯 20s; *4)、20s 后,再转到 第 1步,如此循环往复; 5) *51 系列单片机控制整个系统工 作; 6) 交通信号灯用 LED 代 替; */ /** *项目名称:信号交通灯控制系统; *作者:徐冉; *日期:2013-06-01-10:00
[单片机]
基于51单片机的红外反射式的测速机
引言 在工程实践中,经常会遇到各种需要测量转速的场合。转速是电动机极为重要的一个状态参数,在很多运动系统的测控中,都需要对电机的转速进行测量,不论是直流调速系统还是交流调速系统,只有转速的高精度检测才能得到高精度的控制系统。迄今为止,测速可分为两类:模拟电路测速和数字电路测速。随着微电子技术的发展,计算机技术的广泛应用,出现了以计算机为核心的数字测速装置。这样的速度测量装置测量范围宽、工作方式灵活多变、适应面广,具有普通数字测速装置不可比拟的快速性、精确性和优良性。 一:设计思路 用一个红外发光二极管和一个接受红外光的二极管组成一套光电管。当检测到物表面为黑色时,反射光很弱,接收端检测到的光线可以忽略,使接收端呈现一种
[单片机]
基于<font color='red'>51</font><font color='red'>单片机</font>的红外反射式的测速机
PIC单片机定时器1
定时器TMR1应注意的问题 (1)当对的寄存器TMR1H或TMR1L进行初始化时,预分频器将会自动清0。 (2)在寄存器对TMR1H:TMR1L进行写操作时,可以使预分频器清0。当TMR1处于运行状态时,对于寄存器TMR1H或TMR1L值进行的写操作,可能会写入不希望的值。 (3)TMR1工作于异步计数器方式时,不能作为CCP模块的输入捕捉或输出比较的时间基准。 (4)在上电复位(POR)或者其他复位时,TMR1H:TMR1L的内容保持原有数值,不会复位到0000H。 (5)在上电复位或者掉电复位时,控制寄存器T1CON的内容将回到00H,并关闭TMR1,且预分频器的分频比设定为缺省值1:1。在所有的其他复位时,均不会影响T1CON
[单片机]
时钟芯片SD2200ELP与AVR单片机的接口设计
在提升机制动闸瓦间隙实时在线检测的设计中,需要保存故障时间和故障数据。大部分仪器仪表中都要使用时钟芯片,但是很多的实时时钟芯片(如PCF8563)没有掉电保护,须外接晶振和电池,比较麻烦。而深圳兴威帆电子技术有限公司生产的SD2200ELP是内置32 KBE2PROM的串行实时时钟芯片,不需要外接器件支持,连线简单、可靠,提供的数据精确,断电后也能继续工作。微控制器采用Atmel公司的ATmegal6单片机,利用AT-megai6的硬件TWI接口可直接对SD2200ELP进行操作,无需软件模拟I2C方式,使用方便、可靠。 1 SD2200L简介 SD2200L系列(包括SD2200B/C/D/E/FLP)是一种具有内置
[单片机]
基于51单片机之74HC595实验例程
************************** Copyright(C)CaKe ***************************************** =================================================== ==============**文件名 : main.c ============== ==============**作者 : CaKen ============== ==============**版本号 : V1.0 ============== ==============**时间 : 20
[单片机]
基于AT89S52单片机的温度控制系统
0 引 言 在激光倍频晶体温度匹配中,有时需要很高的工作温度。晶体升温过程中,温度过快变化会导致晶体出现破裂,因此在开机过程中需要操作人员不断手动控制激光器晶体的温度。为了避免这样繁锁的工作,我们以单片机AT89S52为核心制作了一套自动控制升降温系统,有效的保证了晶体温度在安全的速率下变化。由于热敏电阻的非线性关系,一般的控温仪正常控温范围有限。在对热敏电阻和恒流源的特性进行分析后,将恒流源做了适当的改进,扩展了控温仪的控制范围,使其在较宽的温度范围内也具有较高的精度。 1 硬件系统设计 控制系统电路的核心器件是Atmel公司生产的AT89S52单片机。它是一种低功耗、低电压、高性能的8位单片机,片内带有一个8KB的fl
[单片机]
基于AT89S52<font color='red'>单片机</font>的温度控制系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved