求低功耗单片机选型和一款便宜的角度传感器芯片

单片机 介绍
主题位置:&&&&
版 主:linelayout
·网名:rtyddd
·头衔:咕噜队长
·资历:14490
·经验:2505
主 题:单片机 介绍
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机介绍  &&& 单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
  早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
  单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。
  单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
  单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。
  它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。
  单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!
  由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。
  可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
单片机历史  单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
  1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。
  2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。
  Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。
  3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
&单片机的应用领域  目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
  单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
   1.在智能仪器仪表上的应用
  单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。
   2.在工业控制中的应用
  用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
   3.在家用电器中的应用
  可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
   4.在计算机网络和通信领域中的应用
  现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
   5.单片机在医用设备领域中的应用
  单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
   6.在各种大型电器中的模块化应用
  某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。
  在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。
   7.单片机在汽车设备领域中的应用
  单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。
  此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
学习应用六大重要部分  单片机学习应用的六大重要部分
一、总线:  我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的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口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用’也并不是‘不能’而是(使用者)‘不会’将其作为通用I/O口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常会导致系统的崩溃。
四、程序的执行过程:   单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’这个单元,并且在‘0000’单元中存放的一定是一条指令。
五、堆栈:  堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特殊的数据传输指令,即‘PUSH’和‘POP’,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的混乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。
六、单片机的开发过程:   这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。在此,为使大家对整个过程有个认识,举一例说明:
单片机试验板ORG 0000H
  LJMP START
  ORG 040H
  START:
  MOV SP,#5FH ;设堆栈
  LOOP:
  LJMP LOOP ;循环
  END ;结束
&单片机学习  目前,很多人对汇编语言并不认可。可以说,掌握用C语言单片机编程很重要,可以大大提高开发的效率。不过初学者可以不了解单片机的汇编语言,但一定要了解单片机具体性能和特点,不然在单片机领域是比较致命的。如果不考虑单片机硬件资源,在KEIL中用C胡乱编程,结果只能是出了问题无法解决!可以肯定的说,最好的C语言单片机工程师都是从汇编走出来的编程者因为单片机的C语言虽然是高级语言,但是它不同于台式机个人电脑上的VC++什么的单片机的硬件资源不是非常强大,不同于我们用VC、VB等高级语言在台式PC上写程序毕竟台式电脑的硬件非常强大,所以才可以不考虑硬件资源的问题。还有就是在单片机编程中C语言虽然编程方便,便于人们阅读,但是在执行效率上是要比汇编语言低10%到20%,所以用什么语言编写程序是要看具体用在什么场合下。总的来说做单片机编程要灵活使用汇编语言与C语言,让单片机的强大功能以最高是效率展示给用户。
  以8051单片机为例讲解单片机的引脚及相关功能;
  《单片机引脚图》
  40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。
  ⒈ 电源:
  ⑴ VCC - 芯片电源,接+5V;
  ⑵ VSS - 接地端;
  注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。
  ⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
  ⒊ 控制线:控制线共有4根,
  ⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲
  ① ALE功能:用来锁存P0口送出的低8位地址
  ② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
  ⑵ PSEN:外ROM读选通信号。
  ⑶ RST/VPD:复位/备用电源。
  ① RST(Reset)功能:复位信号输入端。
  ② VPD功能:在Vcc掉电情况下,接备用电源。
  ⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
  ① EA功能:内外ROM选择端。
  ② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
  ⒋ I/O线
  80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
  P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)
  5. P3口第二功能
  P30 RXD 串行输入口
  P31 TXD 串行输出口
  P32 INT0 外部中断0(低电平有效)
  P33 INT1 外部中断1(低电平有效)
  P34 T0 定时计数器0
  P35 T1 定时计数器1
  P36 WR 外部数据存储器写选通(低电平有效)
  P37 RD 外部数据存储器读选通(低电平有效)
&常用单片机芯片简介   STC单片机
  STC公司的单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快8~12倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强.
   PIC单片机:
  是MICROCHIP公司的产品,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器的芯片.
   EMC单片机:
  是台湾义隆公司的产品,有很大一部分与PIC 8位单片机兼容,且相兼容产品的资源相对比PIC的多,价格便宜,有很多系列可选,但抗干扰较差.
   ATMEL单片机(51单片机):
  ATMEl公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式;AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机.
   PHLIPIS 51PLC系列单片机(51单片机):
  PHILIPS公司的单片机是基于80C51内核的单片机,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求.
   HOLTEK单片机:
  台湾盛扬半导体的单片机,价格便宜,种类较多,但抗干扰较差,适用于消费类产品.
   TI公司单片机(51单片机):
  德州仪器提供了TMS370和MSP430两大系列通用单片机.TMS370系列单片机是8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合;MSP430系列单片机是一种超低功耗、功能集成度较高的16位低功耗单片机,特别适用于要求功耗低的场合
   松翰单片机(SONIX):
  是台湾松翰公司的单片,大多为8位机,有一部分与PIC 8位单片机兼容,价格便宜,系统时钟分频可选项较多,有PMW ADC 内振 内部杂讯滤波。缺点RAM空间过小,抗干扰较好。
&从无线电世界到单片机世界  现代计算机技术的产业革命,将世界经济从资本经济带入到知识经济时代。在电子世界领域,从20世纪中的无线电时代也进入到21世纪以计算机技术为中心的智能化现代电子系统时代。现代电子系统的基本核心是嵌入式计算机系统(简称嵌入式系统),而单片机是最典型、最广泛、最普及的嵌入式系统。
   一、 无线电世界造就了几代英才
  在20世纪五六十年代,最具代表的先进的电子技术就是无线电技术,包括无线电广播、收音、无线通信(电报)、业余无线电台、无线电定位、导航等遥测、遥控、遥信技术。早期就是这些电子技术带领着许多青少年步入了奇妙的电子世界,无线电技术展示了当时科技生活美妙的前景。电子科学开始形成了一门新兴学科。无线电电子学、无线通信开始了电子世界的历程。
  无线电技术不仅成为了当时先进科学技术的代表,而且从普及到专业的科学领域,吸引了广大青少年,并使他们从中找到了无穷的乐趣。从床头的矿石收音机到超外差收音机;从无线电发报到业余无线电台;从电话、电铃到无线电操纵模型。无线电技术成为当时青少年科普、科技教育最普及、最广泛的内容。至今,许多老一辈的工程师、专家、教授当年都是无线电爱好者。无线电技术的无穷乐趣、无线电技术的全面训练,从电子学基本原理、电子元器件基础到无线电遥控、遥测、遥信电子系统制作,培养出了几代科技英才。
   二、 从无线电时代到电子技术普及时代
  早期的无线电技术推动了电子技术的发展,其中最主要的是真空管电子技术向半导体电子技术的发展。半导体电子技术使有源器件实现了微小型化和低成本,使无线电技术有了更大普及和创新,并大大地开阔了许多非无线电的控制领域。
  半导体技术发展导致集成电路器件的产生,形成了近代电子技术的飞跃,电子技术从分立器件时代走进了电路集成时代。电子设计工程师不再用分立的电子元器件设计电路单元,而直接选择集成化的电路单元器件构成系统。他们从电路单元设计中解放出来,致力于系统设计,大大地解放了科技生产力,促进了电子系统更大范围的普及。
  半导体集成电路首先在基本数字逻辑电路上取得突破。大量数字逻辑电路,如门电路、计数器、定时器、移位寄存器以及模拟开关、比较器等,为电子数字控制提供了极佳的条件,使传统的机械控制转向电子控制。功率电子器件以及传感技术的发展使原先以无线电为中心的电子技术开始转向工程领域中的机械系统的数字控制,检测领域中的信息采集,运动机械对象的电气伺服驱动控制。
  半导体及其集成电路技术将我们带入了一个电子技术普及时代,无线电技术成为电子技术应用领域的一个部分。
  进入20世纪70年代,大规模集成电路出现,促进了常规的电子电路单元的专用电子系统发展。许多专用电子系统单元变成了集成化器件,如收音机、电子钟、计算器等,在这些领域的电子工程师从电路、系统的精心设计、调试转变为器件选择、外围器件适配工作。电子技术发展了,电子产品丰富了,电子工程师的难度减少了,但与此同时,无线电技术、电子技术的魅力却削弱了。半导体集成电路的发展使经典电子系统日趋完善,留在大规模集成电路以外的电子技术日益减少,电子技术没有了往昔无线电时代的无穷乐趣和全面的工程训练。
   三、 从经典电子技术时代到现代电子技术时代
  进入20世纪80年代,世纪经济中最重要的变革是计算机的产业革命。而计算机产业革命的最重要标志则是计算机嵌入式应用的诞生。近代电子计算机是应数值计算要求诞生的。在很长的时间内,电子计算机都是以发展海量数值计算为己任。但是电子计算机表现出的逻辑运算、处理、控制能力,吸引了电子控制领域的专家,他们要求发展能满足控制对象要求,实现嵌入式应用的计算机系统。如果将满足海量数据处理的计算机系统称为通用计算机系统,那么则可把嵌入到对象体系(如舰船、飞机、机车等)中的计算机系统称作嵌入式计算机。显而易见,两者的技术发展方向是不同的。前者要求海量数据存储、吞吐、高速数据处理分析及传输;而后者要求在对象环境中可靠运行,对外部物理参数的高速采集、逻辑分析处理和对外部对象的快速控制等。早期人们将通用计算机加上数据采集单元、输出驱动电路勉为其难地构成一个热处理炉的温控系统。这样的通用计算机系统不可能为大多数电子系统采用,而且要使通用计算机系统满足嵌入式应用要求,必然影响高速数值处理技术的发展。为了解决计算机技术发展的矛盾,在20世纪70年代,半导体专家另辟蹊径,完全按照电子系统的计算机嵌入式应用要求,将一个微型计算机的基本系统集成在一个芯片上,形成了早期的单片机(Single Chip Microcomputer)。单片机问世后,在计算机领域中开始出现了通用计算机系统和嵌入式系统的两大分支。此后,无论是嵌入式系统,还是通用计算机系统都得到了飞速的发展。
  早期虽然有通用计算机改装而成的嵌入式计算机系统,而真正意义上的嵌入式系统始于单片机的出现。因为单片机是专门为嵌入式应用设计的,单片机只能实现嵌入式应用。单片机能最好地满足嵌入式应用的环境要求,例如,芯片级的物理空间、大规模集成电路的低价位、良好的外围接口总线和突出控制功能的指令系统。
  单片机有计算机系统内核,嵌入到电子系统中,为电子系统智能化奠定了基础。因此,当前单片机在电子系统中的广泛使用,使经典电子系统迅速过渡到智能化的现代电子系统。
   四、 单片机开创了现代电子系统时代
  1?单片机与嵌入式系统
  嵌入式系统源于计算机的嵌入式应用,早期嵌入式系统为通用计算机经改装后嵌入到对象体系中的各种电子系统,如舰船的自动驾驶仪,轮机监测系统等。嵌入式系统首先是一个计算机系统,其次它被嵌入到对象体系中、在对象体系中实现对象要求的数据采集、处理、状态显示、输出控制等功能,由于嵌入在对象体系中,嵌入式系统的计算机没有计算机的独立形式及功能。单片机完全是按照嵌入式系统要求设计的,因此单片机是最典型的嵌入式系统。早期的单片机只是按嵌入式应用技术要求设计的计算机单芯片集成,故名单片机。随后,单片机为满足嵌入式应用要求不断增强其控制功能与外围接口功能,尤其是突出控制功能,因此国际上已将单片机正名为微控制器(MCU,Microcontroller Unit)。
  2?单片机构成的现代电子系统将成为主流电子系统
  单片机是器件级计算机系统,它可以嵌入到任何对象体系中去,实现智能化控制。小到微型机械,如手表、助听器。集成器件级的低价位,低到几元、十几元,足以使单片机普及到许多民用家电、电子玩具中去。单片机构成的现代电子系统已深入到各家各户,正改变我们的生活,如家庭中的音响、电视机、洗衣机、微波炉、电话、防盗系统、空调机等。单片机革新了原有电子系统,如微波炉采用单片机控制后,可方便地进行时钟设置、程序记忆、功率控制;空调机采用单片机后不但遥控参数设置方便,运行状态自动变换,还可实现变频控制。目前许多家用电器如VCD、DVD只有单片机出现后才可能实现其功能。
  3?嵌入式系统带动了整个电子产业
  目前电子元器件产业除了微处理器、嵌入式系统器件外,大多是围绕现代电子系统配套的元器件产业,例如满足人机交互用的按键,LED/LCD显示驱动、LED/LCD显示单元、语音集成器件等,满足数据采集通道要求的数字传感器、ADC、数据采集模块、信号调理模块等,满足伺服驱动控制的DAC、固体继电器、步进电机控制器、变频控制单元等,满足通信要求的各种总线驱动器、电平转换器等。
  世界电子元器件在嵌入式系统带动下,沿着充分满足嵌入式应用的现代电子系统要求发展。这就使原来经典电子系统的天地愈来愈小。电子系统中的各类从业人员应尽早转向现代电子系统的康庄大道。
   五、 单片机将造就新一代电子精英
  如果说五十年代起,无线电世界造就了几代精英,那么当今的单片机世界将会造就出新一代电子精英。
  1?单片机带你进入智能化电子领域
  若将经典电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。单片机应用系统的硬件结构给予电子系统“身躯”,单片机应用系统的应用程序赋予其“生命”。例如,在设计智能化仪器显示器的显示功能时,可在开机时显示系统自检结果,未进入工作时显示各种待机状态,仪器运行时显示运行过程,工作结束后可显示当前结果、自检结果、原始数据、各种处理报表等。在无人值守时,可给定各种自动运行功能。
  电子系统的智能化为无止境境界,常常不需硬件资源的增添就能实现各种翻新功能。这也是当前许多家用电器功能大量增设的因素之一。
  2?单片机带你进入计算机工控领域
  21世纪是全人类进入计算机时代的世纪,许多人不是在制造计算机便是在使用计算机。在使用计算机的人们中,只有从事嵌入式系统应用的人才真正地进入到计算机系统的内部软、硬件体系中,才能真正领会计算机的智能化本质并掌握智能化设计的知识。从学习单片机应用技术入手是当今培养计算机应用软、硬件技术人才的最佳道路之一。
  3?单片机带你进入最具魅力的电子世界
  独具魅力的单片机能使你体会到电脑的真谛,你可以用单片机亲自动手设计智能玩具,可以设计不同的应用程序实现不同的功能。既有硬件制作又有软件设计,既动脑、又动手。初级水平可开发智能玩具,用宏指令编程。中级水平可开发一些智能控制器,如电脑鼠、智能车、各种遥控模型。高级水平可开发机器人,如机器人足球赛,开发工业控制单元,网络通信等,并用汇编语言或高级语言设计应用程序。围绕单片机及嵌入式系统形成的电子产业的未来,将会为电子爱好者提供广阔的天地,一个比当年无线电世界更广阔、更丰富、更持久、更具魅力的电子世界。投身到单片机世界来,将使你一生受益。
&单片机攻击技术  目前,攻击单片机主要有四种技术,分别是:
   (1)软件攻击
  该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。软件攻击取得成功的一个典型事例是对早期ATMEL AT89C 系列单片机的攻击。攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。
   (2) 电子探测攻击
  该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息。
   (3)过错产生技术
  该技术使用异常工作条件来使处理器出错,然后提供额外的访问来进行攻击。使用最广泛的过错产生攻击手段包括电压冲击和时钟冲击。低电压和高电压攻击可用来禁止保护电路工作或强制处理器执行错误操作。时钟瞬态跳变也许会复位保护电路而不会破坏受保护信息。电源和时钟瞬态跳变可以在某些处理器中影响单条指令的解码和执行。
   (4)探针技术
  该技术是直接暴露芯片内部连线,然后观察、操控、干扰单片机以达到攻击目的。为了方便起见,人们将以上四种攻击技术分成两类,一类是侵入型攻击(物理攻击),这类攻击需要破坏封装,然后借助半导体测试设备、显微镜和微定位器,在专门的实验室花上几小时甚至几周时间才能完成。所有的微探针技术都属于侵入型攻击。另外三种方法属于非侵入型攻击,被攻击的单片机不会被物理损坏。在某些场合非侵入型攻击是特别危险的,这是因为非侵入型攻击所需设备通常可以自制和升级,因此非常廉价。
  大部分非侵入型攻击需要攻击者具备良好的处理器知识和软件知识。与之相反,侵入型的探针攻击则不需要太多的初始知识,而且通常可用一整套相似的技术对付宽范围的产品。
&单片机侵入型攻击的一般过程  侵入型攻击的第一步是揭去芯片封装。有两种方法可以达到这一目的:第一种是完全溶解掉芯片封装,暴露金属连线。第二种是只移掉硅核上面的塑料封装。第一种方法需要将芯片绑定到测试夹具上,借助绑定台来操作。第二种方法除了需要具备攻击者一定的知识和必要的技能外,还需要个人的智慧和耐心,但操作起来相对比较方便。
  芯片上面的塑料可以用小刀揭开,芯片周围的环氧树脂可以用浓硝酸腐蚀掉。热的浓硝酸会溶解掉芯片封装而不会影响芯片及连线。该过程一般在非常干燥的条件下进行,因为水的存在可能会侵蚀已暴露的铝线连接。
  接着在超声池里先用丙酮清洗该芯片以除去残余硝酸,然后用清水清洗以除去盐分并干燥。没有超声池,一般就跳过这一步。这种情况下,芯片表面会有点脏,但是不太影响紫外光对芯片的操作效果。最后一步是寻找保护熔丝的位置并将保护熔丝暴露在紫外光下。一般用一台放大倍数至少100倍的显微镜,从编程电压输入脚的连线跟踪进去,来寻找保护熔丝。若没有显微镜,则采用将芯片的不同部分暴露到紫外光下并观察结果的方式进行简单的搜索。操作时应用不透明的纸片覆盖芯片以保护程序存储器不被紫外光擦除。将保护熔丝暴露在紫外光下5~10分钟就能破坏掉保护位的保护作用,之后,使用简单的编程器就可直接读出程序存储器的内容。
  对于使用了防护层来保护EEPROM单元的单片机来说,使用紫外光复位保护电路是不可行的。对于这种类型的单片机,一般使用微探针技术来读取存储器内容。在芯片封装打开后,将芯片置于显微镜下就能够很容易的找到从存储器连到电路其它部分的数据总线。
  由于某种原因,芯片锁定位在编程模式下并不锁定对存储器的访问。利用这一缺陷将探针放在数据线的上面就能读到所有想要的数据。在编程模式下,重启读过程并连接探针到另外的数据线上就可以读出程序和数据存储器中的所有信息。
  还有一种可能的攻击手段是借助显微镜和激光切割机等设备来寻找保护熔丝,从而寻查和这部分电路相联系的所有信号线。由于设计有缺陷,因此,只要切断从保护熔丝到其它电路的某一根信号线,就能禁止整个保护功能。由于某种原因,这根线离其它的线非常远,所以使用激光切割机完全可以切断这根线而不影响临近线。这样,使用简单的编程器就能直接读出程序存储器的内容。
  虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能,但由于通用低档的单片机并非定位于制作安全类产品,因此,它们往往没有提供有针对性的防范措施且安全级别较低。加上单片机应用场合广泛,销售量大,厂商间委托加工与技术转让频繁,大量技术资料外泻,使得利用该类芯片的设计漏洞和厂商的测试接口,并通过修改熔丝保护位等侵入型攻击或非侵入型攻击手段来读取单片机的内部程序变得比较容易。
& 16:13:29&
Re:单片机 介绍
·网名:rtyddd
·头衔:咕噜队长
·资历:14480
·经验:2510
几款单片机的介绍 一、应用中的单片机品种繁多, 现拣几种主要的单片机及相应公司的网址介绍如下: 美国国家半导体公司
Zilog 公司:
三星 . html 华邦
二、主要单片机的介绍 1. ATMEL公司的AVR单片机, 是增强型RISC内载Flash的单片机, 芯片上的Flash存储器附在 用户的产品中, 可随时编程, 再编程, 使用户的产品设计容易, 更新换代方便 .AVR单片机采用增 强的RISC结构, 使其具有高速处理能力, 在一个时钟周期内可执行复杂的指令, 每MHz可实现 1MIPS的处理能力 .AVR单片机工作电压为 2.7~6.0V, 可以实现耗电最优化 .AVR的单片机广 泛应用于计算机外部设备, 工业实时控制, 仪器仪表, 通讯设备, 家用电器, 宇航设备等各个领 域. 2. Motorola单片机: Motorola是世界上最大的单片机厂商. 从M6800 开始, 开发了广泛的品种,4位,8位,16 位32 位的单片机都能生产, 其中典型的代表有:8 位机M 系列,8 位增强型M68HC11,M68HC12 , 16位机M68HC16, 32位机M683XX. Motorola单片机的特点之一是在同样的速度下所用的时钟频率较Intel类单片机低得多, 因而使得高频噪声低, 抗干扰能力强, 更适合于工控领域及恶劣的环境 . 3. MicroChip单片机: MicroChip单片机的主要产品是PIC 16C系列和17C系列8位单片 机,CPU采用RISC结构, 分别仅有 33,35,58 条指令, 采用Harvard双总线结构, 运行速度快,低工作电压, 低功耗, 较大的输入输出直接驱动能力, 价格低, 一次性编程, 小体积. 适用于用量大, 档次低, 价格敏感的产品. 在办公自动化设备, 消费电子产品, 电讯通信, 智能仪器仪表, 汽车电子, 金融电子, 工业控制不同领域都有广泛的应用 ,PIC系列单片机在世界单片机市场份额排名中逐年提高. 发展非常迅速. 实达高奇电子科技有限公司:
代理PIC 系列单片机. 4.MDT20XX系列单片机: 工业级OTP单片机,Micon公司生产, 与PIC单片机管脚完全一致,海尔集团的电冰箱控制器 ,TCL通信产品, 长安奥拓铃木小轿车功率分配器就采用这种单片机广 州强力电子发展有限公司代理Micon. tel: (020)5.EM78系列OTP型单片机: 台湾义 隆电子股份有限公司, 直接替代PIC16CXX, 管脚兼容, 软件可转换, 代理: 福州新源电子技术 研究所: tel: ( 6. Scenix单片机: Scenix公司推出的8位RISC结构SX系列单片机与Intel 的Pentium II等一 起被%26%26评选为 1998年世界十大处理器. 在技术上有其独到之处: SX系列双时钟设置, 指令运 行速度可达 50/75/100MIPS(每秒执行百万条指令,XXX M Instruction Per Second) ; 具有虚 拟外设功能, 柔性化I/O端口, 所有的 I/O端口都可单独编程设定, 公司提供各种I/O的库函数,用 于实现各种I/O模块的功能, 如多路UART, 多路A/D,PWM,SPI,DTMF,FS,LCD驱动等等. 采用 EEPROM/FLASH程序存储器, 可以实现在线系统编程. 通过计算机RS232C接口, 采用专用串 行电缆即可对目标系统进行在线实时仿真. 7. EPSON单片机: EPSON单片机以低电压, 低功耗和内置LCD驱动器特点著名于世, 尤其 是LCD驱动部分做得很好. 广泛用于工业控制, 医疗设备, 家用电器, 仪器仪表, 通信设备和手持 式消费类产品等领域. 目前EPSON已推出四位单片机SMC62 系列,SMC63 系列,SMC60 系 列和八位单片机SMC88 系列. 8. 东芝单片机: 东芝单片机门类齐全,4 位机在家电领域有很大市场,8 位机主要有 870 系 列,90 系列, 该类单片机允许使用慢模式, 采用 32K时钟时功耗降至 10UA数量级. 东芝的 32 位 单片机采用MIPS 3000A RISC的CPU结构, 面向VCD, 数字相机, 图像处理等市场. 9. 8051 单片机: 8051单片机最早由Intel公司推出, 其后, 多家公司购买了 8051的内核, 使得 以8051 为内核的MCU系列单片机在世界上产量最大, 应用也最广泛, 有人推测 8051 可能最 终形成事实上的标准MCU芯片. 10. LG公司生产的GMS90 系列单片机, 与Intel MCS-51系列,Atmel 89C51/52,89C2051等 单片机兼容,CMOS技术, 高达 40MHZ的时钟频率, 应用于: 多功能电话, 智能传感器, 电度表, 工业控制, 防盗报警装置, 各种计费器, 各种IC卡装置,DVD,VCD,CD-ROM. 力源公司总代理:
11. 华邦单片机: 华邦公司的W77,W78系列8位单片机的脚位和指令集与8051兼容, 但每 个指令周期只需要 4个时钟周期, 速度提高了三倍, 工作频率最高可达 40MHz. 同时增加了 WatchDog Timer,6 组外部中断源,2 组UART,2 组Data pointer及Wait state control pin.W741 系列的 4位单片机带液晶驱动, 在线烧录, 保密性高, 低操作电压(1.2V~1.8V) . 12. Zilog单片机: Z8 单片机是Zilog公司的产品, 采用多累加器结构, 有较强的中断处理能力, 开发工具价廉物美.Z8 单片机以低价位面向低端应用. 我想很多人都知道Z80 单板机, 直到 90 年代后期, 很多大学的微机原理还是讲述Z80. 13. NS单片机: COP8 单片机是NS(美国国家半导体公司) 的产品, 内部集成了 16位A/D, 这 是不多见的, 在看门狗多路及STOP方式下单片机的唤醒方式上都有独到之处. 此外,COP8 的 程序加密也做得比较好. 14.AX1001 单片机: 由珠海建荣科技公司推出, 它是 100MIPS高性能 8 位RISC微控制器, 采用 了先进的CMOS OTP技术, 应用于税控机、条形码扫描仪、打印机、网络控制系统、读卡器 等等。该款芯片性能比很高。
[此贴子已经被rtyddd于 16:25:03编辑过]
& 16:15:19&
Re:单片机 介绍
·网名:rtyddd
·头衔:咕噜队长
·资历:14480
·经验:2510
学习单片机必须知道的知识
1.单片机简介: &&&& 亦称微控制器,顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控 机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时 工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能微电脑型”,如智能型热水器等。&&& 学习单片机是否很困难呢?应当说,对于已经具有电子电路,尤其是数字电 路基本知识的读者来说,不会有太大困难,如果你对PC机有一定基础,学习单 片机就更容易。为使绝大多数读者能用上单片机。我们这里将尽量按深入浅出、理论联系实际的原则把单片机的基本工作原理、使用方法交给读者,以达到把大家领 进单片机之“门”的目的。不过,单片机和PC机一样,是实践性很强的一门技术,有人说“计算机是玩出来的”,单片机亦一样,只有 多“玩”,也就是多练习、多实际操作,才能真正掌握它。因此,本讲座会提供各种练习和实验,并介绍一些适用于初学者且性价比较高的单片机和开发系 统的货源。你只有认真完成成这些实践环节,才能为进一步深造,打好基础。&&&& 只要你有恒心、有决心,跟随我们的“连载”一步步走下去,将来就一定能在单片机世界里遨游。&&& 单片机的组成:&&&&& 单片机要自动完成计算,它应该具有哪些最重要的部分呢?&&&&&&&&& &&&&& 我们以打算盘为例计算一道算术题。例:111+109×188-199÷32。现在要进行运算,首先需要一把算盘,其次是纸和笔。我们把要计算的问 题记录下来,然后第一步先算109×188,把它与111相加的结果记在纸上,然后计算199÷32,再把它从上一次结果中减去,就得到最后的结果。&&&&& 现在,我们用单片机来完成上述过程,显然,它首先要有代替算盘进行运算的部件,这就是“运算器”;其次,要有能起到纸和 笔作用的器件,即能记忆原始题目、原始数据和中间结果,还要记住使单片机能自动进行运算而编制的各种命令。这类器件就称为“存贮器”。此外,还需要有能代替 人作用的控制器,它能根据事先给定的命令发出各种控制信号,使整个计算过程能一步步地进行。但是光有这三部分还不够,原始的数据与命令要输入,计算的结果 要输出,都需要按先后顺序进行,有时还需等待。如上例中,当在计算109×188时,数字111就不能同时进入运算器。因此就需要在单片机上设置按控制器的命令进行 动作的“门”,当运算器需要时,就让新数据进入。或者,当运算器得到最后结果时,再将此结果输出,而中间结果不能随便“溜出”单片机。这种对输入、输 出数据进行一定管理的“门”电路在单片机中称为“口”(Port)。在单片机中,基本上有三类信息在流动,一类是数据,即各种原始数 据(如上例中的111、109等)、中间结果(如199÷32所得的商6、余数7等)、程序(命令的集 合)等。这样要由外部设备通过“口”进入单片机,再存放在存贮器中,在运算处理过程中,数据从存贮器读入运算器进行运算,运算的中间结果要存入存贮器中,或最后由运算器经“出入口”输出。用户要单片机执行 的各种命令(程序)也以数据的形式由存贮器送入控制器,由控制器解读(译码)后变为各种控制信号,以便执行如加、减、乘、除等功能的各种命令。所以,这一 类信息就称为控制命令,即由控制器去控制运算器一步步地进行运算和处理,又控制存贮器的读(取出数据)和写(存入数据)等。第三类信息是地址信息,其作用 是告诉运算器和控制器在何处去取命令取数据,将结果存放到什么地方,通过哪个口输入和输出信息等。&&& 半导体存储器的工作原理存贮器又分为只读存贮器和读写存贮器两种,前者 存放调试好的固定程序和常数,后者存放一些随时有可能变动的数据。顾名思义,只读存贮器一旦将数据存入,就只能读出,不能更改(EPROM、E2PROM等类型的ROM可通过一定的方法来更改、写入数据——编者注)。而读写存贮器可随时存入或读出数据.1&&& 存储器的内部构造 &&& 看下面 的图这就是半导体存储器的结构简图&&& (图中有4个字节)2&&& 存储器的工作原理 &&& 存储器就是用来存放数据的地方它其实是利 用电平的高或低来存放数据的也就是说它实际上存放的是电平的高或低的状态而不是我们所习惯上认为的有了这么一个构造我们就可以开始存放数据了比如我们要放 进一个数据1234这样的数字那它是如何工作的呢看上面的图这就是存储器的内部结构示意 图一个存储器就象一个小抽屉一个小抽屉里有8个也就是单片机的8位小盒子每个小盒子用来存放1位电荷电 荷通过与它相连的电线传进来或释放掉至于电荷在小盒子里是怎样存放的这就不用我们操心了您可以把电线想象成水管小盒子里的电荷就象是水那就好理解了存储器 中的1个小抽屉我们把它称之为1个单元相当于1个字节而1个小盒子就相当于1位我们只要把第2号第4号和第5号小盒子里存满电荷而其它小盒子里的电荷给放掉就行了可是问题又出来了一个存储器有好多相同的单元线是并联着 的看D7-D0在放入电荷的时候会将电荷放入所有的字节单元中而释放电荷的时候会把每 个单元中的电荷都放掉这样的话不管存储器有多少个字节单元都只能放同一个数这当然不是我们所希望的因此我们要在结构上稍作变化看上面的图在每个单元上有根 线与译码器相连我想要把数据放进哪个单元就通过译码器给哪个单元发一个信号由译码器通过这根线把相应的开关打开这样电荷就可以自由地进出了那么这样是不是 就能随意地向存储器写入或者读出数据了呢其实还不能继续看上面的图与D7-D0相 连的还有一个控制器它是用来干什么的呢这根线叫写入/读出控制线当我们向存储 器写入数据时必须先把这个开关切换到写入端而要读出数据时就得先把开关切换到读出端而片选端则是为了区分不同的存储器设置的这里没搞明白没关系后面还有介 绍先让我们来看看译码器是如何工作的 3&&& 半导体存储器的译码 &&& 简单介绍一下我们知道1根线可以代表2种状态2根线可以代表4种状态3根线可以代表8种256种状态又需要几根线代表自己想一下是不是8根线 4&&& 存储器的选片及总线的概念&&& 至此译码的问题解决了让我们再来关注另外 一个问题送入每个字节的8根线又是从什么地方来的呢它就是从单片机的外部引脚上接过来的一般这8根线除了接一个存储器之外还要接其它的器件这样问题又来了这8根线既然不是存储器和单片机之间专用的如果总是将某个单元接在这8根线上就不行了比如这个存储器单元中的数值是另一个存储器的单元是那么这根 线到底是处于高电平还是低电平所以我们必须让它们分离办法当然也简单当外面的线接到集成电路的引脚上来后不直接接到各单元去而是在中间加一组开关这组开关 就是前面提到的控制器看前面的图平时我们让开关打开着如果确实是要向这个存储器中写入数据或要从存储器中读出数据再让开关切换到相应的位置就行了这组开关 由三根引线选择读控制端写控制端和片选端要将数据写入先由控制器选中该片然后发出相应的写信号开关切换到相应的位置并将传过来的数据电荷写入片中如果要读 信号先选中该片然后发出读信号开关也切换到相应的位置上数据就被送出去了另外读和写信号还同时受到译码器的控制由于片选端的不同所以虽有读或写信号但没有 片选信号所以另一个存储器就不会误会而开门造成冲突那么会不会同时选中两个存储器呢只要是设计好的系统就不会如果真的出现同时选中两个存储器的话那就是电 路出故障了8根线并不是专用的而是很多器件大家共用的所以我们把它们称之为数据总线 总线英文名为BUS即公交车道谁都可以走而16根地址线51单片机共有16根地址线这些以后会讲解这里不必死记硬背也是连在一起的我们把它们称之为地址总线看上面的图
&&& 如此看来存储器要想写入或者读出数据还真是不容易不过好在这些都是由计 算机自动完成的不需要我们去操心从上面的介绍中我们已经看到用来传递数据的
&&& 单片机的主要处理中心CPU&&&& &&&& 实际上,人们往往把运算器和控制器合并称为中央处理单元——CPU。 单片机除了进行运算外,还要完成控制功能。所以离不开计数和定时。因此,在单片机中就设置有定时器兼计数器。到这里为止,我们已经知道了单片机的基本组 成,即单片机是由中央处理器(即CPU中的运算器和控制器)、只读存贮器(通常表示为ROM)、读写存贮器(又称随机存贮器通常表示为RAM)、输入/输出口(又分为并行口和 串行口,表示为I/O口)等等组成。实际上单片机里面还有一个时钟电路,使单片机在进行运 算和控制时,都能有节奏地进行。另外,还有所谓的“中断系统”,这个系统有“传达室”的作用,当单片机控制对象的参数到达某个需要加以干预的状态时,就可经此“传达室”通报给CPU,使CPU根据外部事态的轻重缓急来采取适当的应付措施。&&&& 现在,我们已经知道了单片机的组成,余下的问题是如何将它们的各部分连接成相互关联的整体呢?实际上,单片机内部有一条将它们连接起来的“纽带”,即所谓的“内部总线”。此总线有如大城市的“干道”,而CPU、ROM、RAM、I/O口、中断系统等就分布在此“总线”的两旁,并和它连通。从而,一切指令、数据都可经内部总线传送,有如大城市内各种物品的传送都经过干道进行。 &&& 单片机的指令系统和汇编语言程序:&&&& 前面已经讲述了单片机的几个主要组成部分,这些部分构成了单片机的硬 件。所谓硬件(Hardware),就是看得到,摸得到的实体。但是,光有这样的硬件,还只是有了实 现计算和控制功能的可能性。单片机要真正地能进行计算和控制,还必须有软件(Software)的配合。软件主要指的是各种程序。只有将各种正确的程序“灌入”(存入)单片机,它才能有效地工作。单片机所以能自动地进行运算和控制,正是由于人把实现计算和控制的步骤一 步步地用命令的形式,即一条条指令(Instruction)预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地取出来,并加以翻译和执行。就以两个数相加这一简单的运算来说,当需要运算的数已 存入存贮器后,还需要进行以下几步:&&& 第一步:把第一个数从它的存贮单元(Location)中取出来,送至运算器。  && 第二步:把第二个数从它所在的存贮单元中取出来,送至运算器;&&&& 第三步:相加;&&&& 第四 步:把相加完的结果,送至存贮器中指定的单元。&&&&&&&&&&&&&&& &&&& 所有这些取数、送数、相加、存数等等都是一种操作(Operation),我们把要求计算机执行的各种操作用命令的形式写下来,这就是指令。 但是怎样才能辨别和执行这些操作呢?这是在设计单片机时由设计人员赋予它的指令系统所决定的。一条指令,对应着一种基本操作;单片机所能执行的全部指令, 就是该单片机的指令系统(Iustruction& Set),不同种类的单片机,其指令系统亦不同。&&&& 下面重点讲一下数据、地址、指令的区别初学时特不易区分:&&&& 数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一 样的──数字,或者说都是一串‘0’和‘1’组成的序列。换言 之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。 地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定, 但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有 这么几种情况:1·地址(如MOV DPTR,#1000H),即地址1000H(相当于门牌号)送入DPTR。2·方式字或控制字(如MOV TMOD,#03H),3即是控制字。3·常数(如MOV TH0,#10H)10H即定时常数(16进制)。&4·实际输出值 (如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执行指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。&理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把 数据当成指令来执行了。&2单 片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大 部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外 存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的 单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
&&&& 单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业 控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
&&& 早期的单片机都是8位或4位的。其中最成功的是INTEL的 8031,因为简 单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因 为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应 用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也 得到了飞速提高,处理能力比起80年代提高了数百 倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使 用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌 上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
&&& 单片机比专用处理器最适合应用于嵌 入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子 和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩 具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算 的综合,甚至比人类的数量还要多。
单片机介绍:
&&&& 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块 芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。&&& 单 片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑 弱很多,不过价钱也是低的,一般不超过10元即可......用它 来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、 VCD等等的家电里面都可以看到它的身影!......它主 要是作为控制部分的核心部件。 &&&& 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这 也是和离线式计算机的(比如家用PC)的主要区别。
&&&& 单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功 能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列 这些纯硬件来搞定的话,电路一定是一块大PCB 板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别! 只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!
&&&& 由于单片机对成本是敏感的,所以目前占统治 地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像 硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一 个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把 巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不 了的。
&&&& 可以说,二十世纪跨越了三个“电”的时代,即电气时 代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成(如图1所示)。还有一类计算机,大多数人却不怎么熟悉。这种计 算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算 机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装 置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这 种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣 机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不 是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
单片机的应用领域:
&&& 目前单片机渗透到我们生活的各个领域,几 乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿 车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用 与智能化控制的科学家、工程师。
&&& 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1.在智能仪器仪表上的应用
单片机具有体积 小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪 器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。 例如精密的测量设备(功率计,示波器,各种分析仪)。
2.在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控 制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、 其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
4.在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用 提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从 手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5.单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例 如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
此外,单片机在工商,金融,科研、教 育,国防航空航天等领域都有着十分广泛的用途。
单片机学习:
&&&& 目前,很多人对汇编语言并不认可。可以说,掌握用C语言单片机编程 很重要,可以大大提高开发的效率。&&&& 不过初学者如果不了解一下单片机的汇编语言,在单片机领域是比较致命的。&&&& 如 果不考虑单片机硬件资源,在KEIL中用C胡乱编程,结果只能是出了问题无法解决!&&&& 可 以肯定的说,最好的C语言单片机工程师都是从汇编走出来的编程者&&& 因 为单片机的C语言虽然是高级语言,但是它不同于台式机个人电脑上的VC++什么的&&& 单 片机的硬件资源不是非常强大,不同于我们用VC、VB等高级语言在台式PC上写程序&&& 毕竟台式电脑的硬件非常强大,所以才可以不考虑硬件资源的问题。
&初识单片机记得在我们网站的论坛里,曾经有一位网友问了一 个问题,什么是单片机?单片机是怎样的一个东东?单片机可以实现些什么功能?它主要应用在哪些领域?在我们单片机自学网的网上课堂的第一节课,我们就上面 的这些问题与大家先做一个初步的探讨。 在进入课程的讲解之前,大家先一起来看看单片机吧。下图是一片40脚的89C51及一片20脚的89C2051的单片机。
&&& 单片机的外形从上图中我们已初步认识了,那么什么叫单片机呢?
&&&&& 所谓单片机,通俗的来讲,就是把中央处理器CPU(Central Processing Unit),存储器(memory),定时器,I/O(Input/Output) 接口电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。单片机又称为“微控制器MCU”。中文“单片机”的称呼是由英文名称“Single Chip Microcomputer”直接翻译而来的。
单片机的主要分类:
1、& 按应用领域可分为:家电类,工控类,通信类,个人信息终端类等等;2、& 按通用性可分为:通用型和专用型。
&&& 通用型单片机的主要特点是:内部资源比较丰富,性能全面,而且通用性 强,可履盖多种应用要求。所谓资源丰富就是指功能强。性能全面通用性强就是指可以应用在非常广泛的领域。通用型单片机的用途很广泛,使用不同的接口电路及 编制不同的应用程序就可完成不同的功能。小到家用电器仪器仪表,大到机器设备和整套生产线都可用单片机来实现自动化控制。
&&& 专用型单片机的主要特点是:针对某一种产品或某一种控制应用而专门设计 的,设计时已使结构最简,软硬件应用最优,可靠性及应用成本最佳。专用型单片机用途比较专一,出厂时程序已经一次性固化好,不能再修该的单片机。例如电子 表里的单片机就是其中的一种。其生产成本很低。
&&& 在 我们的这个网上课堂中,介绍的是MCS-51系列单片机,MCS-51单片机也是一种通用单片机,其结构及原理对所有的单片机都适用。
3、& 按总线结构可分为总线型和非总线型。如我们常常见到的89C51单 片机就是总线结构,在后面讲解单片机的内部结构时,我们就可以看到,89C51单 片机内部有数据总线,地址总线,还有控制总线(WR,RD,EA,ALE等)。从上图中看到的20引脚的89C2051单片机,就 是一种非总线型的。其外部的引脚很少,可使成本降低。
单片机特 点:
(1)&&&&&& 受集成度限制,片内存储器容量较小,一般内ROM:8KB以下;(2)&&&&&& 内RAM:256KB以内。(3)&&&&&& 可靠性高(4)&&&&&& 易扩展(5)&&&&&& 控制功能强(6)&&&&&& 易于开发
单片机的发展过程:
&&& 1971年intel 公司研制出世界上第一个4位的微处理器;
&&& 1973年intel 公司研制出8位的微处理器8080;
&&& 1976年intel 公司研制出MCS-48系列8位的单片机,这也是单片机的问世。
&&& 80年代初,intel 公司在MCS-48单片机基础上,推出了MCS-51单片机。也就是说,51单片机最早的出现是在80年代初
微处理器与单片机:
微处理器:
&&& 计算机系统核心部件(CPU)并不是一台完整的计算机
&&& 将CPU和其它接口电路集成在一个芯片之中,使其具有计算机的基本功能。
&&& 从上面的描述可知,微处理器只是一个CPU,而 单片机则是由CPU与其它的接口电路组合而成的,所以CPU不等于单片计算机。也可以这样说,CPU只是计算机其中的一个部件而已。
主要的单 片机厂商:
我国目前最常用的单片机有如下几家:
Intel--------- (MCS51系列,MCS96系列)Atmel------- (AT89系列,MCS51内核)Microchip--- (PIC系列)Motorola---- (68HCXX系列)Zilog-------- (Z86系列)Philips------ (87,80系列,MCS51内核)Siemens----- (SAB80系列,MCS51内核)NEC--------- (78系列)Epson-------- (系列)
&&& 在 我们网站的论坛,同时在其它网站我看到很多朋友都在讨论一个问题:学8位的51单片机有前途吗?
&& 是的,在现今的单片机领域中,单片机的种类层出不穷,功能也越来越强,从表层看来好象学8位的51单片机已不符合现在的 发展需求。让人感觉到“没有前途”。做过单片机开发的朋友都知道,其实在大部份的工控或测控设备中,8位的51单片机还能足够满足大 部份的控制要求,加之51单片机的价格优势。这就使8位的51单片机在以后很长的一 段时间内还有存在的空间,也就是说还是单片机应用的一个主流。试想一下,在战场上,原本可以用高炮实现打击的目标我们可能会用导弹去打吗?再者,如果把51单片机学好了,以后转行去学习或应用其它的单片机,也就是一个了解及熟悉的过程了。因为MCS-51单片机是一个通用的单片机,其内部的结构及工作原理与其它的单片机都是 相通的。
&MCS-51单片机简述MCS51是指由美国INTEL公司(对了,就是大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系列单片机包括了好些品种,如,,等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为 核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中89C51就 是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的。以后我们将用89C51、89S51来完成一系列的实验。 &MCS-51系列单片机
MCS-51系列单片机分为两大系列,即51子系列与52子系列。
51子系列:基本型,根据片内ROM的配置,对应的芯片为、
52子系列:增强型,根据片内ROM的配置,对应的芯片为、
这两大系列单片机的主要硬件特性如下表:
片内ROM型式&ROM
大小&寻址范围&I/O特性&中断源
数量&无&ROM&EPROM&计数器&并行口&8031&8051&8751&4KB&128B&64KB&2*16&4*8&5&80C31&80C51&87C51&4KB&128B&64KB&2*16&4*8&5&8032&8052&8752&8KB&256B&64KB&3*16&4*8&6&80C32&80C52&87C52&8KB&256B&64KB&3*16&4*8&6&
&&&& 从上表中可以看到,、片内是没有ROM的,对应着上表看,我们可以发现,51系列的单片机的RAM大小为128B,52系列的RAM大小为256B,51系列的计数器为两个16位的,52系列的计数器为三个16位计数 器。51系列的中断源为5个,52系列的中断源为6个。
&&& 80C51单片机是在8051的基础上发展起来的,也就是说在单片机的发展过程中是先有8051,然后才有80C51的。
&&& 8051单片机与80C51单片机从外形看 是完全一样的,其指令系统、引脚信号、总线等完全一致(完全兼容),也就是说在8051下开发的软件完全可以在80C51上应用,反过来,在89C51下开发的软件也可以在8051上应用。这两种单片机是完全可移植的。
&&& 既然这两种单片机外形及内部结构都一样,那它们之间的主要差别在哪里 呢?
&&& 单片机的主要差别就在于芯片的制造工艺上。80C51的制造工艺是在8051基础上进行了改进。
&&& 8051系列单片机采用的是HMOS工艺:高速度、高密度;
&&& 80C51系列单片机采用的是CHMOS工艺:高速度、高密度、低功耗;
&&& 也就是说80C51单片机是一种低功耗单片机。
&&& 经常有网友问我们,我想学单片机,但单片机的类型很多,我该学哪种型号 的单片机呢?
&&& 这里我提点我自已的想法,个人认为,初学单片机最好从8051开始,因为51单片机是一种通用型的单片机,性价比较高,虽然是8位的单片机,但现在应用的量及范围还很大。同时,因51单片机发展的历史长,学习的资料相对较多而且较完善。致于用哪个具体型号的单片机?你可以用89C51来做实验,也可以用89S51或者2051来做实验,这个就不太重要了,前面说了,51单片机是一种通用型单 片机,即然是通用,那么它的指令系统都是一样的,不同的是它的制造工艺及内部资源有点差别,这个是结合实际需要选型的问题了。所以,学习单片机,你可以只 选择一种型号,例如AT89S51或者AT89C2051。
1、MCS-51系列单片机各种芯片的配置有何不同?
2、MCS-51单片机内部程序存储器ROM和内部数据存储器RAM的空 量分别是多少?
3、的差别在哪里?&单片机相关常用名词解释总线: 指能为多个部件服务的信息传送线,在微机系统中各个部件通过总线相互通 信。
地址总线(AB):地址总线是单向的,用于传送地址信息。地址总线的宽度为16位,因此基外部存储器直接寻址64K,16位地址总线由P0口经地址锁存器提供低8位地址(A0~A7),P2口直接提供高8位地址(A8~A15)。
数据总线(DB):一般为双向,用于CPU与存储器,CPU与外设、或外设与外 设之间传送数据信息(包括实际意义的数据和指令码)。数据总线宽度为8位,由P0口提供。控制总线(CB):是计算机系统中所有控制信号的总称,在控制总线中传送的是控制信息。由P3口的第二功能状态和4根独立的 控制总线,RESET、EA、ALE、PSEN组成。
存储器:&&& 用来存放计算机中的所有信息:包括程序、原始数据、运算的中间结果及最 终结果等。
只读存储器(ROM): &&& 只读存 储器在使用时,只能读出而不能写入,断电后ROM中的信息不会丢失。因此一般用来存放一些固定程序,如监控程序、子程 序、字库及数据表等。ROM按存储信息的方法又可分为以下几种
1、掩膜ROM:&&& 掩膜ROM也称固定ROM,它是由厂家编好程序写入ROM(称固化)供用户使用,用户不能更改内部程序,其特点是价格便宜。
2、可编程的只读存储器(PROM):&&& 它的内容可由用户根据自已所编程序一次性写入,一旦写入,只能读出,而不能再进行更改,这类存储器现在也称为OTP(Only Time Programmable)。
3、可改写的只读存储器EPROM:&&& 前两种ROM只能进行一次性写入,因而用户较少使用,目前较为流行的ROM芯片 为EPROM。因为它的内容可以通过紫外线照射而彻底擦除,擦除后又可重新写入新的 程序。
4、可电改写只读存储器(EEPROM):&&& EEPROM可用电的方法写入和清除其内容,其编程电压和清除电压均与微机CPU的5V工作电压相同,不需另 加电压。它既有与RAM一样读写操作简便,又有数据不会因掉电而丢失的优点,因而使用极为方 便。现在这种存储器的使用最为广泛。
随机存储器(RAM):&&& 这种存储 器又叫读写存储器。它不仅能读取存放在存储单元中的数据,还能随时写入新的数据,写入后原来的数据就丢失了。断电后RAM中的信息全部丢失。因些,RAM常用 于存放经常要改变的程序或中间计算结果等信息。
RAM按 照存储信息的方式,又可分为静态和动态两种。1、静态SRAM:其特点是只要有电源加于存储器,数据就能长期保存。2、动态DRAM:写入的信息只能保存若干ms时间,因此,每隔一定时间必须重新写入一次,以保持原来的信息不变。
可现场改写的非易失性存储器:&&& 这种存储器的特点是:从原理上看,它们属于ROM型存储器,从功能上看,它们又可以随时改写信息,作用又相当于RAM。所以,ROM、RAM的定义和划分已逐渐的失去意义。
1、快擦写存储器(FLASH)&&& 这种存储器是在EPROM和EEPROM的制造基础上产生的一种非易失性存储器。其集成度高,制造成本低于DRAM,既具有SRAM读写的灵活性和较快的访问速度,又具有ROM在断电后可不丢失信息的特点,所以发展迅速。
2、铁电存储器FRAM&&& 它是利用铁电材料极化方向来存储数据的。它的特点是集成度高,读写速度 快,成本低,读写周期短。
时钟周期:计算机在时钟信号的作用下,以节拍方式工作。因此必须有一 个时钟发生电路,输入微处理器的时钟信号的周期称为时钟周期。
机器周 期:机器完成一个动作所需的时间称为机器周期,一般由一个或一个以上的时钟周期组成。在我们讲述的MCS-51系列单片机中,一个机器周期由12个时钟周期组成。
指令周 期:执行一条指令(如“MOV& A,#34H”,该指令的含义是将立即数34H传送到微处理器内的累加器A中)所需时间称为指令周期,它由一个到数个机器周期组成。指令周期的长短取决于指令的类型,即指令将要进行的 操作步聚及复杂程度。
汇编: 是能完成一定任务的机器指令的集合。
二进制数: 只有0和1两个数码,基数为二。
16进制数: 采用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等16个数码,其中A-F相应的十进数为10-15,基数是16。
指令: 是计算机所能执行的一种基本操作的描述,是计算机软件的基本单元。
字节:8位二进制数组成一个字节,在存储器中以字节为单位存储信息。
字: 2个字节组成一个字。
双字:2个字组成一个双字。
补码:机器数可用不同的码制来表示,补码表示法是最常用的一种,正数 采用符号-绝对值表示,即数的最高有效位为0,数的其余部分则表示数的绝对值;负数的表示要麻烦一些,先写出与该 负数相对应的正数的补码表示,然后将其按位求反,最后在末位加1,就可以得到该负数的 补码表示了。
段地址:8086CPU将1MB的存储器空间分成许多逻辑段,每个段最大限制为64KB, 段地址就是逻辑段在主存中的起始位置。为了能用16位寄存器表示段地址,8086规定段地址必须是模16地址,即为xxxx0H形式,省略低4位0,段地址就可以用16位数据表示,它通常被保存在16位的段 寄存器中。
偏移地址:存单元距离段起始位置的偏移量简称偏移地址,由于限定每段 不超过64KB,所以偏移地址也可以用16位数据表示。
物理地 址:在1M字节的存储器里,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址,把段地址左移4位再加上偏移地址就形成物理地址。
代码段:程序员在编制程序时要把存储器划分成段,代码段用来存放程序的指令序列,代码段的段地址存放在CS中,指令指针寄存器IP指示代 码段中指令的偏移地址,处理器利用CS:IP取得下一条要执行的指令。
数据段:数据段存放当前运行程序所用的数据,数据段的段地址存放在DS中。
附加段: 附加段是附加的数据段,也用于数据的保存,另外,串操作指令将附加段作为其目的操作数的存放区域。附加段的段地址存放在ES中。
堆栈段: 堆栈段是堆栈所在的主存区域,堆栈段的段地址存放在SS中,堆栈指针寄存器SP指示堆栈栈顶的偏移地址,处理器利用SS:SP操作堆栈中的数据。
堆栈:堆栈是一个"后进先出"的主存区域,位于堆栈段 中,使用SS段寄存器记录其段地址。它只有一个出入口,即当前栈顶,栈顶是地址较小 的一端(低端),它用堆栈指针寄存器SP指定。堆栈有两种以字为单位的基本操作,对应两条基本指令:进栈指令PUSH和出栈指令POP。
伪指令: 汇编语言程序的语句除指令外还包括伪指令和宏指令,伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇 编期间由汇编程序处理的操作,完成诸如数据定义、分配存储区、指示程序结束等功能。
宏指令:宏是源程序中一段有独立功能的程序代码,它只需要在源程序中定义一次,就可以多次调用,调用时只需要用一个宏指令语句就可以 了。宏指令是用户自定义的指令,在编程时将多次使用的功能用一条宏指令来代替。
子程序:子程序又称为过程,它相当于高级语言中的过程和函数。在一个程序的不同部分,往往要用到类似的程序段,这些程序段 的功能和结构形式都相同,只是某些变量的赋值不同,此时就可以把这些程序段写成子程序形式,以便需要时可以调用它;某些常用的特定功能的程序段也可编制成 子程序的形式供用户使用。
中断:中断是一种使CPU中止正在执行的程序而转去处理特殊事件的操作,这些引起中断的事件称为中断源,它们可能是来自外设的输入输 出请求,也可能是计算机的一些异常事故或其它内部原因。
中断处理 程序:当中断发生时,处理器中止当前正在运行的程序,而转到处理特殊事件的程序段中去执行,这种处理中断的子程序就是中断处理程序,又称为中断服务程序。 中断处理程序的入口地址被安排在中断向量表中。
BIOS中 断:在存储器系统中,从地址0FE000H开始的8K ROM中装有BIOS(Basic Input/Output System)例行程序。驻留在ROM中的基本输入输出程序BIOS提 供了系统加电自检、引导装入、主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。BIOS中断给程序员编程带来很大方便,程序员不必了解硬件I/O接口的特性,可直接用指令设置参数,然后中断调用BIOS中的程序。
暂存器: 用来暂存由数据总线或通用寄存器送来的操作数,并把它作为另一个操作数。
中断: 中断是单片机实时地处理内部或外部事件的一种内部机制。当某种内部或 外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又 返回被中断的程序处,继续执行下去。
掉电保护: 指在正常供电电源掉电时,迅速用备用直流电源供电,以保证在一段时间内信息不会丢失,当主电源恢复供电时,又 自动切换为主电源供电。
寄存器寻址: 操作数在寄存器中,由指令操作码中的rrr三位的值和PSW中RS1及RS0的状态,选中某个工作寄存器区的某个寄存器,然后进行相应的指令操 作。
波特率: 即每秒钟传送二进制数的位数, 波特率越 高,数据传输的速度越快。
D/A转换: 即将二进制数量转换成与其量值成正比的电流信号或电压信号。
A/D转换: 即将模拟量转换成相应的数字量,然而送计算机处理。
串行方式: 指数据的各位分时传送,只需一条数据线,外加一条公共信号地线和若干条控制信号线。
并行方式: 指数据的各位同时传送,每一条数据都需要一条传输线。
伪指令: 用于告诉汇编程序如何进行汇编的指令,它既不控制机器的操作也不被汇编成机器代码,只能为汇编程序所识别并指导汇编如何进行。
SLEEP MODI 睡觉模式: 保证程序内部运行,但与外部的传输等动作已停止的一种运行模式。
linking 连接: 把编译后生成的 *.obj 文件与其它 *.obj文件合并成机器能识别的机器文件。
I²C:输入与输出共用一条传输线,而时钟由另一条线控制的一种串行传输方 式。
SFR 特殊功能寄存器区: 8051 把 CPU 中的专用寄存器、并行端口锁存器、串行口与定时器/计数器内 的控制寄存器集中安排到一个区域,离散地分布在地址从 80H 到 FFH 范围内,这个区域称为特殊功能寄存器区 SFR。
&&& 这一节的目的是让大家对单片机相关的概念做一个感性的了解,具体的内容我们将在后面的相关章节做详细的讲解。&计算机中数的表示及运算数字:
&&& 谈到数字,有很多同学可能会觉的很可笑,数字?不就是1234……..这些吗?是的,在日常的生活当中,我们用的一般都是十进制,但在计算机 中,它只能识别二进制数,所以在这里我还得跟大家共同分析一下:
1、十进制:
&&& 十进制就是基数为“十”,所使用的数码为0~9共10个数字。逢十进一。是我们每天都会运用到的,在这里就不多谈了。
2、二进制:
&&& 二进制的基数为“二”,其使用的数码只有0和1两个。在计算机中容易实 现,在常用的的实现方式中如:可以用电路的高电平表示1,低电平表示0;或者三极管截止时集电极的输出表示1,导通时集电极输出表示0。
3、十六进制:
&&& 由于二进制位数太长,不易记忆和收写,所以人们又提出了十六进制的书 写形式。我们在汇编语言中多数用十六进制。
二进制,十进制,十六进制数码对照&十进制&8421BCD码&二进制&十进制&8421BCD码&二进制&1&1&0001&10&A&1010&3&3&0011&12&C&1100&5&5&0101&14&E&1110&7&7&0111&16&10&10000&
&&& 计算机只识别和处理数字信息,数字是以二进制数表示的;它易于物理实 现,同时,资料存储、传送和处理简单可靠;运算规则简单,使逻辑电路的设计、分析、综合、方便,使计算器具有逻辑性。
一、 用数制及转换
1、各种进位计数及其表示方法
数字符号:0、1、2、……9 ——数码。数码的 个数——基数。进位规则:逢十进一例如,十进制数,10个数码;采用“逢十进一”30681 = 3×104+0×103+6×102+8×101+1×100例如,二进制数,2个数码,采用“逢二进一”( = 1×27+1×26+0×25+1×24+0×23+1×22+0×21+0×20总之,N进制数,N个数码,“逢N进一”
2、数制之间的转换
&&& 任意进制之间相互转换,整数部分和小数部分必须分别进行,十进制转换成二进制——短除取余法
十进制小 数转换成二进制小数——乘2取整法。二进制转换成十进制——展开求和法。( = 1×25+0×24+1×23+1×22+0×21+1×20= 32+0+8+4+0+1= 45二进制转换成八进制、十六进制与此类似。
二、 机器数及其编码
1、 机器数与真值机器只认识二进制数:0、1。这是因为,电路状态

我要回帖

更多关于 stc低功耗单片机 的文章

 

随机推荐