1、单片机单片机简介单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪 80 年代,由当时的 4 位、8 位单片机,发展到现在的 300M的高速单片机。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算
2、机相比,单片机只缺少了 I/O 设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型” ,如智能型洗衣机等。单片机的内部结构1、中央处理器(CPU) ,包括 ALU、控制器和寄存器组; 2、存储器,包括 ROM 和 RAM; 3、输入/输出(I/O)接口,与外部输入/输出设备连接。单片机的应用分类单片机的分类目前尚无统一标
3、准。通常根据应用领域、总线类型来分。1、工控型家电型。工控型的单片机主要是面向测控,要求寻址范围大,运算能力强。家电型的单片机要求体积小、价格低,外围器件少,使用方便。2、总线型非总线型。总线型单片机是指单片机设有并行总线,用以扩展并行外围器件。非总线型单片机是指单片机通过串行口与外围器件连接,或直接把外围器件、外设接口集成在片内。3、通用型专用型。通用型单片机,它的应用范围宽,如 Intel 公司的 MCS5l 系列产品 8031、80C51 等通过不同的外围扩展就可以用在不同的设备中。专用型单片机是专门为某一产品设计生产的如电子体温计、计费电度表等。单片机的发展史单片机(Microcont
4、rollers)诞生于 1971 年,经历了 SCM、MCU、SoC 三大阶段,早期的 SCM 单片机都是 8 位或 4 位的。其中最成功的是 INTEL 的 8051,此后在 8051 上发展出了 MCS51 系列 MCU 系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了 16 位单片机,但因为性价比不理想并未得到很广泛的应用。90 年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着 INTEL i960 系列特别是后来的 ARM 系列的广泛应用,32 位单片机迅速取代 16 位单片机的高端地位,并且进入主流市场。而传统的 8 位单片机的性
5、能也得到了飞速提高,处理能力比起 80 年代提高了数百倍。高端的 32 位 Soc 单片机主频已经超过 300MHz,性能直追 90 年代中期的专用处理器,而普通的型号出厂价格跌落至 1 美元,最高端的型号也只有 10 美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的 Windows 和 Linux 操作系统。早期阶段SCM 即单片微型计算机(Microcontrollers)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。 “创新模式”获得成功,奠定了 SCM
6、与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel 公司功不可没。中期发展MCU 即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展 MCU 的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel 逐渐淡出 MCU 的发展也有其客观因素。在发展 MCU方面,最著名的厂家当数 Philips 公司。Philips 公司以其在嵌入式应用方面的巨大优势,将 MCS-51 从单片微型计算机迅速发展到微
7、控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记 Intel 和 Philips 的历史功绩。当前趋势SoC 嵌入式系统(System on Chip)式的独立发展之路,向 MCU 阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决,因此,专用单片机的发展自然形成了 SoC 化趋势。随着微电子技术、IC 设计、EDA 工具的发展,基于 SoC 的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。单片机的应用领域 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计
8、算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现
9、诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪) 。2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管 3.在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数
10、据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6.在各种大型电器中的模块化应用 某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理) ,就需要复杂的
11、类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于 ROM) ,由微控制器读出,转化为模拟音乐电信号(类似于声卡) 。 在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。7.单片机在汽车设备领域中的应用 单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于 CAN 总线的汽车发动机智能电子控制器,GPS 导航系统,abs 防抱死系统,制动系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。51 单片机的结构与功能基本功能:1.8 位数据总线,16 位地址总线的 CPU;2.具有布尔处理能力
12、和位处理能力;3.采用哈佛结构,程序存储器与数据存储器地址空间各自独立,便于程序设计;4.相同地址的 64KB 程序存储器和 64KB 数据存储器;5.0-8KB 片内程序存储器(8031 无,8051 有 4KB,8052 有 8KB,89C55 有 20KB);6.128 字节片内数据存储器(8051 有 256 字节) ;7.32 根双向并可以按位寻址的 I/O 线;8.两个 16 位定时/计数器(8052 有 3 个);9.一个全双工的串行 I/O 接口;10.多个中断源的中断结构,具有两个中断优先级;11.片内时钟振荡器。特点:1.以微处理器(CPU)为核心;2.CPU 与其他部件间
13、通过三总线连接。总线: 指能为多个部件服务的信息传送线本学期,我们通过理论课程、计算机仿真以及开发板实验多方面结合的方式学习了单片机,对其内部资源和外部结构都有了一定的理性的认识,前面我们泛泛而谈了这么多,下面我们以 51 系列单片机为例来说说单片机的内部资源。单片机的内部资源在这里我所讲到的单片机内部资源,和传统单片机书籍中讲单片机内部结构不同。我这里讲到的内部资源,是指作为单片机用户,单片机提供给我们可使用的东西。总结起来,主要是三大资源:Flash:程序存储空间,早期单片机是 OTPROM。RAM:数据存储空间。SFR:特殊功能寄存器。1) Flash在早期的单片机中,主要是用 OTPR
14、OM(One Time Programmable Read-Only Memory,即一次可编程只读存储器)来存储单片机的程序,程序只能写入一次,如果发现错了,没办法,只能换一片,重新写入了。随着技术的发展,Flash 以其可重复擦写且容量大成本低的优点成为现在绝大多数单片机的程序存储器。对于单片机来说 Flash 最大的意义是断电后数据不丢失,这个概念类似于我们电脑的硬盘,我们保存了电影、文档、音乐等文件,把电源关掉后,下次重新开电脑,所有的文件都还照样存在。2) RAMRAM 是单片机的数据存储空间,用来存储程序运行过程中产生的和需要的数据,跟电脑的内存是相似的概念,其实最典型的比喻是我们
15、的计算器,我们用计算器计算个加减法,一些中间的数据都会保存在 RAM 里边,关电后数据丢失,所以我们每次打开计算器,都是从归零开始计算。但是它的优点,第一是读写速度非常快,第二是理论上是可无限次写入的,即寿命无限,不管程序怎么运行怎么读写它都不会坏。3) SFR第三个资源是 SFR,特殊功能寄存器。这个概念大家可能刚开始理解不了,但是一定要记住。单片机有很多很多功能,每个功能都会对应一个或多个 SFR,我们就是通过对 SFR 的读写来实现单片机的多种多样的功能的。讲到这里,我们来了解一下 51 单片机。通常我们一说到 51 单片机,指的都是兼容 Intel MCS-51 体系架构的一系列单片机
16、,而 51 是它的一个通俗的简称。全球有众多的半导体厂商推出了无数款这一系列的单片机,比如 Atmel 的 AT89C52,NXP(Philips)的 P89V51,宏晶科技的 STC89C52.具体型号千差万别,但他们的基本原理和操作都是一样的,程序开发环境也是一样的。这里我们要分清楚 51 这个统称和具体的单片机型号之间的关系。单片机内部资源的三个主要部分我们清楚了,那么我们选择 STC89C52 这款单片机来进行学习。STC89C52 是宏晶科技出品的一款 51 内核的单片机,具有标准的 51 体系结构,全部的 51 标准功能,程序下载方式简单,方便学习,我们就用它来学习单片机。它的资源
17、情况:Flash 程序空间是 8K 字节(1K=1024,1 字节= 8 位);RAM 数据空间是 512 字节;SFR 我们后边会逐一提到并且应用。最后我们来回顾一下本学期所做过的关于单片机的实验:首先在第一节课时,我们学习了如何使用 Protues 与 Keil C51 联调仿真,继而我们学习了点亮第一个 LED 灯,从中我们第一次体验到通过 C 语言的编程来实现对 AT89C51 单片机端口的电位进行控制,当时还觉得十分神奇呢!后来,我们的课程进一步加深,由单个 LED 的点亮到闪烁,再到多个 LED 的循环点亮控制;至此算是弄明白了对一组 I/O 口控制的基本要领,然后自然就是进一步的
18、形态变化了,整整齐齐的一排 LED 你会控制,那我就弄一堆横七竖八的条形灯你是否懂得变通呢?咦!说到这你可能就明白了,我讲的当然就是数码管咯!虽然是一堆 LED 拼成的,但还别说,我还真就被搞糊了,特别是后面涉及到数码管的动态扫描,其原理是利用视觉暂留效果来保证多个数码管同时显示,这一方法使得后面多种数码管的复杂组合甚至满屏是字的液晶显示器显示得到了实现。在后面第 5,6,7 章我们又分别做了中断控制 LED,矩阵键盘的扫描以及定时/计数器的应用等多个项目,基本上初步了解了 89C51 的整个大体的功能,算是收获颇丰吧!最后是一些总结性的话语。我们花了两个月的时间学习单片机,但是未来对我们的可能会是一生的。在现在这个几乎任何东西都和电和网络挂钩的时代,单片机的重要性不言而喻。无论以后是从事电网方面的工作,还是从事微电子行业,我们都离不开它。对于我们电气这个技术为主的行业里,多一项工作技能意义是非常重大;更何况我们学校这么合理的课程安排,假使你在社会上自己自学单片机,绝对不会说给你理论+仿真+实操以及充足的时间去练习的机会,所以做这篇总结的时候我感到庆幸,因为我认认真真地去对待了这段单片机学习课程,也切切实实的从中收益了。