`
zengguo1988
  • 浏览: 280107 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论
阅读更多

  单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
  单片机也被称为微控制器(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机和其他计算的综合,甚至比人类的数量还要多。

      目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。  

 

      单片机学习应用的六大重要部分

  一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的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的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。

分享到:
评论

相关推荐

    STC89C52RC单片机介绍.doc

    STC89C52RC 单片机介绍 本文将对 STC89C52RC 单片机进行详细介绍,包括其特性、引脚功能、应用场景等内容。 特性 STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统...

    单片机 概论 单片机 概论 单片机介绍 历史

    #### 单片机介绍 单片机,又称为微控制器(Microcontroller),是一种高度集成化的微型计算机系统。它将计算机系统的主要组成部分,包括中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、输入/输出接口(I/O接口)、...

    《单片机原理及应用项目化教程(C语言版)》教学课件—01单片机介绍.pdf

    《单片机原理及应用项目化教程(C语言版)》教学课件—01单片机介绍.pdf《单片机原理及应用项目化教程(C语言版)》教学课件—01单片机介绍.pdf《单片机原理及应用项目化教程(C语言版)》教学课件—01单片机介绍.pdf...

    STC89C52单片机介绍

    STC89C52单片机是一种广泛使用的微控制器,其设计包含了微型计算机的基本组成部分,即中央处理器(CPU)、随机存取内存(RAM)、只读存储器(ROM)、输入输出端口、定时器/计数器、串行口等。STC89C52属于STC系列...

    STC89C52单片机介绍.doc

    STC89C52单片机是一款基于MCS51系列的微控制器,由宏晶科技(STC)公司生产。它集成了一个完整的计算机系统所需的诸多组件,包括中央处理器(CPU)、内存、内部和外部总线系统,以及各种外围设备如通信接口、定时器...

    51单片机介绍.pptx

    单片机,作为一种微型计算机,将微处理器、存储器、输入/输出(I/O)接口电路集成在单一的集成电路芯片上,常被用于控制各种电子设备。51单片机是Intel公司推出的MCS-51系列代表,它包含了8位CPU、4KB的ROM、128字节...

    单片机介绍单片机介绍.doc

    单片机介绍单片机介绍

    51单片机介绍.ppt

    "51单片机介绍" 单片机是一种微型计算机,它将CPU、存储器、I/O接口和其他组件集成在一个芯片上,实现了计算、存储、输入/输出等功能。单片机广泛应用于工业自动化、智能仪器仪表、消费类电子产品、通讯方面、武器...

    51单片机介绍

    51单片机介绍51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表...

    2022年新型单片机介绍.ppt

    2022年新型单片机介绍 单片机是微控制器的核心组件,它们在嵌入式系统、物联网、自动控制、家电、汽车电子等领域有着广泛的应用。随着技术的发展,新型单片机的种类和性能也有了很大的发展。下面将对几种流行的...

    项目一 单片机介绍 .pptx

    单片机ppt,可参考使用,欢迎下载

    主流单片机介绍.pdf

    主流单片机介绍 单片机是计算机系统的核心组件之一,负责执行指令、处理数据和控制系统的运作。随着技术的发展,单片机的种类越来越多,性能也在不断提高。下面我们将对主流的单片机进行介绍,包括51单片机、MSP430...

    51单片机介绍(一).rar

    在本资料“51单片机介绍(一)”中,我们将会对51单片机的基本概念、结构、工作原理以及编程进行深入探讨。 首先,我们要理解51单片机的基本架构。51单片机是一种8位微处理器,其内部集成了CPU(中央处理器)、RAM...

    单片机介绍外文翻译单片机介绍外文翻译.doc

    单片机介绍外文翻译单片机介绍外文翻译

    外文翻译--单片机介绍.doc

    单片机介绍 单片机(Microcontroller)也称为单片集成电路(Monolithic Integrated Circuit),是由于它最早在工业控制领域中的应用。单片机是一个特殊的微处理器,仅有CPU特殊目的处理器发展在一块芯片上。最早的...

    STM32F103xx系列单片机介绍.docx

    "STM32F103xx 系列单片机介绍" STM32F103xx 系列单片机是意法半导体集团设计的高性能单片机,基于 ARM Cortex-M3 处理器,工作频率高达 72MHz。该系列单片机具有丰富的增强 I/O 端口和外设接口,包括多达 2 个 I2C ...

    电信-单片机-外文翻译-外文文献-英文文献-AT89C51单片机介绍.doc

    "AT89C51单片机介绍" 以下是从给定的文件中生成的相关知识点: 1. AT89C51单片机概述 AT89C51是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机。它具有4K字节的快速可擦写的只读程序存储器(PEROM)和128 ...

    【单片机】几种常用单片机介绍

    本文将详细介绍几种常用的单片机类型及其特点,旨在为读者提供一个全面了解单片机的基础。 #### 二、ATMEL公司的AVR单片机 AVR单片机以其高性能、低功耗和易于使用的特性而著称。它采用增强型RISC(精简指令集计算...

Global site tag (gtag.js) - Google Analytics