第1模块 了解单片机
项目1 了解单片机的基本结构与应用
单片机全称为单片微型计算机(SingleChip MicroComputer, SCM),又称微控制处理器(MicroControllerUnit, MCU)。单片机是一种采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。它作为微型计算机的一个重要分支,以其独特的结构和性能,在国民经济各个领域日益发挥着越来越重要的作用,得到越来越广泛的应用。
任务1-1-1 了解单片机的发展知识
1971年Intel公司研制出世界上第一个4位的微处理器;Intel公司的霍夫研制成功世界上第一块4位微处理器芯片Intel4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。
1972年4月,霍夫等人开发出第一个8位微处理器Intel8008。由于8008采用的是P沟道MOS微处理器,因此仍属第一代微处理器。1973年Intel公司的霍夫等人研制出8位微处理器Intel8080,以N沟道MOS电路取代了P沟道,第二代微处理器就此诞生。
1976年Intel公司研制出MCS-48系列8位的单片机,这也是单片机的问世。
20世纪80年代初,Intel公司在MCS-48系列单片机的基础上,推出了MCS-51系列8位高档单片机。MCS-51系列单片机无论是片内RAM容量、I/O口功能,还是系统扩展方面都有了很大的提高。
早期的单片机都是8位或4位的。其中最成功的是Intel的8031,因为简单可靠且性能良好获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到广泛应用。20世纪90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着Inteli960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑及鼠标等计算机配件中都配有1~2台单片机。而个人计算机中也会有为数不少的单片机在工作。汽车上一般配备40多台单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作。单片机的数量不仅远超过PC和其他计算机的总和,甚至比人类的数量还要多。
任务1-1-2 了解单片机的常用类型
在单片机领域,随着日益广泛的应用需求不断扩大,涌现出许多不同的产品品牌与产品系列。许多厂家生产的单片机都与Intel公司的MCS-51兼容。不同的单片机内部资源配置不同,随着技术的不断发展其性能也在不断完善,使用时应根据需要加以选择。表1-1-1中所列单片机产品型号是现今应用领域中的几种典型的单片机产品型号。
表1-1-1 几种典型的单片机产品型号
1.Intel公司的8051系列单片机
8051单片机最早由Intel公司推出,以8051为内核的系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。
由于8051单片机应用得早,影响很大,已成为事实上的工业标准。世界各大单片机厂商都在8051单片机上投入了大量的资金和人力,围绕51内核,衍生出许多品种,增强51单片机的各种功能。不同厂商的单片机版本虽然各不相同,都在不断地改变制造工艺,但内核却一样,也就是说这类单片机指令系统完全兼容,绝大多数引脚也兼容,在使用上基本可以直接互换。人们统称这些与8051内核相同的单片机为“51系列单片机”。
2.Atmel单片机
Atmel公司是世界上著名的高性能低功耗非易失性存储器和数字集成电路的一流半导体制造公司。Atmel公司的单片机是目前世界上一种独具特色而性能卓越的单片机,AT89C51、AT89S51是Atmel公司的典型产品。它不但和8051指令、引脚完全兼容,而且其片内的4KB程序存储器是Flash工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为Atmel公司AT89系列单片机做的编程器均带有这些功能。这种单片机对开发设备的要求很低,开发时间也大大缩短,写入单片机内的程序还可以进行加密。
AT89S51相对于AT89C51新增加很多功能,如增加ISP在线编程功能;最高工作频率提高至33MHz;具有双工UART串行通道;内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路;采用全新的加密算法,程序的保密性大大加强等,性能有了较大提升。
ISP在线编程功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离,是一个强大易用的功能。
3.STC单片机
STC单片机是深圳宏晶科技公司的产品。STC单片机完全兼容51单片机,并有其独到之处,其抗干扰性强,加密性强,超低功耗,可以远程升级,内部有MAX810专用复位电路,价格也较便宜,由于这些特点使得STC系列单片机的应用日趋广泛。
STC89系列单片机是深圳宏晶科技公司的典型产品,是MCS-51系列单片机的派生产品。它们在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051为pin -to-pin兼容。STC89系列单片机高速,低功耗,在系统/在应用可编程(ISP、IAP),不占用户资源。通过IAP功能不需要编程器就可以将程序载入单片机,很方便在实验板上做各种单片机实验。这对初学单片机的人们,尤其对学校单片机的教学带来极大方便,是一种最低成本的单片机学习与开发手段。
为方便使用,本书在软件编程与仿真时,选用的单片机型号为AT89C51,在实验板上选用的单片机型号为STC89C52RC,以利于简化程序的烧录。由于单片机的兼容性,在单片机的基础应用层面上,STC89C52RC全面兼容AT89C51的性能。
任务1-1-3 了解单片机基本结构与应用
1.MCS-51单片机的内部结构
8051是MCS-51系列单片机的典型产品。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。如图1-1-1所示的是MCS-51系列单片机的内部结构示意图。
图1-1-1 MCS-51系列单片机的内部结构示意图
(1)中央处理器。中央处理器(CPU)是整个MCS-51单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码。CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入/输出功能等操作。
(2)数据存储器(RAM)。8051内部有128B8位用户数据存储单元和128B专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128B,可存放读写的数据、运算的中间结果或用户定义的字型表。
(3)程序存储器(ROM)。8051共有4KB的8位掩膜ROM,用于存放用户程序、原始数据或表格。
(4)定时/计数器。8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
(5)串行输入/输出(I/O)口。8051共有4个8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
(6)全双工串行口。8051内置一个全双工串行通信口,用于与其他设备间的串行数据传送。该串行口既可以用做异步通信收发器,也可以当做同步移位器使用。
(7)中断系统。8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
(8)时钟电路。8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。
2.MCS-51单片机的引脚说明
MCS-51系列单片机采用40Pin封装的双列直插DIP结构,如图1-1-2所示是它们的引脚分布。40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。下面对这些引脚的功能加以简单说明。
图1-1-2 MCS-51单片机的引脚分布
(1)Pin20:接地脚。
(2)Pin40:正电源脚,正常工作或对片内EPROM烧写程序时,接+5V电源。
(3)Pin19:时钟XTAL1脚,片内振荡电路的输入端。
(4)Pin18:时钟XTAL2脚,片内振荡电路的输出端。
8051的时钟有两种方式,如图1-1-3所示。一种是内部时钟振荡方式,但需在18脚和19脚外接石英晶体(2~12MHz)和振荡电容,振荡电容的值一般取10~30pF。另一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。
图1-1-38051单片机的时钟电路
(5)输入/输出(I/O)引脚:
Pin39~Pin32为P0.0~P0.7输入/输出脚;Pin1~Pin8为P1.0~P1.7输入/输出脚,Pin21~Pin28为P2.0~P2.7输入/输出脚,Pin10~Pin17为P3.0~P3.7输入/输出脚。
(6)Pin9: RESET复位信号复用脚。当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H, P0~P3输出口全部为高电平,堆栈指针写入07H,其他专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0~R7)的状态,8051的初始状态如表1-1-2所示。
8051的复位方式可以是自动复位,也可以是手动复位,如图1-1-4所示。此外,RE-SET/Vpd还是一复用脚,VCC掉电期间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
表1-1-2 8051单片机特殊功能寄存器的初始状态
图1-1-4 MCS-51单片机的复位电路
(7)Pin30: ALE/PROG脚。当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器的,ALE会跳过一个脉冲。
如果单片机是EPROM,在编程其间,PROG将用于输入编程脉冲。
(8)Pin29: PSEN脚。当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。
(9)Pin31: EA/Vpp脚,程序存储器的内外部选通脚。8051和8751单片机,内置有4KB的程序存储器,当为高电平且程序地址小于4KB时,读取内部程序存储器指令数据,而超过4KB地址则读取外部指令数据。如为低电平,则不管地址大小,一律读取外部程序存储器指令。在大多数情况下,单片机从内置的程序存储器开始执行程序,应为高电平,通常接电源VCC。但对于内部无程序存储器的8031, 端必须接地。
3.单片机的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴,如图1-1-5所示。
图1-1-5 单片机的应用
(1)在家用电器中的应用。可以这样说,现在的智能家电基本上都是采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材,再到电子秤量设备,五花八门,无所不在。
(2)在工业控制中的应用。用单片机可以构成形式多样的控制系统、数据采集系统。例如,工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
(3)在智能仪器仪表上的应用。单片机广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
(4)在计算机网络和通信领域中的应用。现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件。现在的通信设备基本上都实现了单片机智能控制,从小型程控交换机、楼宇自动通信呼叫系统、列车无线通信,到日常生活中随处可见的电话机、手机、集群移动通信、无线电对讲机等,都离不开单片机的应用。
(5)在医用设备领域中的应用。单片机在医用设备中的用途也相当广泛,如医用呼吸机,各种分析仪、监护仪,超声诊断设备及病床呼叫系统等。
(6)在各种大型电器中的模块化应用。某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也便于更换。
(7)在汽车设备领域中的应用。单片机在汽车电子中的应用非常广泛,如汽车中的发动机控制器、基于CAN总线的汽车发动机智能电子控制器、GPS导航系统、ABS防抱死系统、制动系统等。
此外,单片机在工商、金融、科研、教育、国防航空航天等领域都有着十分广泛的应用。目前,单片机已渗透到人们生产生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
思考与练习
1.简述8051单片机的主要性能指标。
2.简述MCS-51单片机的内部组成。
3.试述MCS-51单片机的引脚分布。
4.单片机主要应用于哪些领域?