1、151单片机及其应用21.1 电子计算机的发展概述电子计算机的发展概述v1.1.1 1.1.1 电子计算机的问世及其经典结构电子计算机的问世及其经典结构1946年年2月月15日日,第一台电子数字第一台电子数字计算机问世,这计算机问世,这标志着计算机时标志着计算机时代的到来。代的到来。(CALCULATOR)ENIAC(“埃尼阿克埃尼阿克”)3与现代的计算机相比,有许多不足,但与现代的计算机相比,有许多不足,但它它的问世开创了计算机科学技术的新纪元,的问世开创了计算机科学技术的新纪元,对对人类的生产和生活方式产生了巨大的影响人类的生产和生活方式产生了巨大的影响 。ENIAC是电子管计算机,时钟频
2、率仅有是电子管计算机,时钟频率仅有100 KHz,但能在,但能在1秒钟的时间内完成秒钟的时间内完成5000次加法次加法运算。运算。4 匈牙利籍数学家匈牙利籍数学家冯冯诺依曼诺依曼在方案的设计上做出在方案的设计上做出了重要的贡献。了重要的贡献。1946年年6月,他又提出了月,他又提出了“程序程序存储存储”和和“二进制运算二进制运算”的思想,进一步构建了的思想,进一步构建了计算机由运算器、控制器、存储器、输入设备和计算机由运算器、控制器、存储器、输入设备和输出设备组成输出设备组成这一计算机的经典结构。这一计算机的经典结构。(EDVAC-ELECTRONIC DISCRETE VARIABLE AU
3、TOMATIC COMPUTER)5电子计算机技术的发电子计算机技术的发展,相继经历了五个时展,相继经历了五个时代:代:电子管计算机;电子管计算机;晶体管计算机;晶体管计算机;集成电路计算机;集成电路计算机;大规模集成电路计算机;大规模集成电路计算机;超大规模集成电路计算机。超大规模集成电路计算机。计算机的结构仍然没有突破冯计算机的结构仍然没有突破冯诺依曼提诺依曼提出的计算机的经典结构框架。出的计算机的经典结构框架。6二、微型计算机的应用形态二、微型计算机的应用形态 从应用形态上,微机可以分成三种:从应用形态上,微机可以分成三种: 多板机(系统机)多板机(系统机) 将将CPU、存储器、存储器、
4、I/O接口电路和总线接接口电路和总线接口等组装在一块主机板(即微机主板)。各口等组装在一块主机板(即微机主板)。各种适配板卡插在主机板的扩展槽上并与电源、种适配板卡插在主机板的扩展槽上并与电源、软软/硬盘驱动器及光驱等装在同一机箱内,再硬盘驱动器及光驱等装在同一机箱内,再配上系统软件,就构成了一台完整的微型计配上系统软件,就构成了一台完整的微型计算机系统(简称系统机)。算机系统(简称系统机)。工业工业PC机机 也属于多板机。也属于多板机。7 单板机单板机 将将CPU芯片、芯片、存储器存储器芯片、芯片、I/O接口接口芯片芯片和简单的和简单的I/O设备设备(小键盘、(小键盘、LED显示器)显示器)
5、等装配在一块印刷电路板上,再配上等装配在一块印刷电路板上,再配上监控程监控程序序(固化在(固化在ROM中),就构成了一台单板中),就构成了一台单板微型计算机(简称单板机)。微型计算机(简称单板机)。单板机单板机8单板机的单板机的I/O设备简单,软件资设备简单,软件资源少,使用不方便。早期主要用源少,使用不方便。早期主要用于微型计算机原理的于微型计算机原理的教学教学及及简单简单的测控系统的测控系统,现在已很少使用。,现在已很少使用。9 单片机单片机 在一片集成电路芯片上集成微处理器、存储器、在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了接口电路,从而构成了单芯片微型计算机,
6、即单芯片微型计算机,即单片机单片机。 三种应用形态的比较三种应用形态的比较 :单板机单板机单片机单片机系统机(多板机)系统机(多板机)10 系统机系统机(桌面应用桌面应用)属于通用计算机,)属于通用计算机,主要应用于数据处理、办公自动化及辅助主要应用于数据处理、办公自动化及辅助设计。设计。 单片机单片机(嵌入式应用嵌入式应用)属于专用计算机,)属于专用计算机,主要应用于智能仪表、智能传感器、智能主要应用于智能仪表、智能传感器、智能家电、智能办公设备、汽车及军事电子设家电、智能办公设备、汽车及军事电子设备等应用系统。备等应用系统。 单片机单片机体积小体积小、价格低价格低、可靠性高可靠性高,其其非
7、凡的嵌入式应用形态对于满足嵌入式应非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。用需求具有独特的优势。111.2 单片机的发展过程及产品近况单片机的发展过程及产品近况1.2.1 1.2.1 单片机的发展过程单片机的发展过程 单片机技术发展过程可分为三个主要阶段:单片机技术发展过程可分为三个主要阶段: 单芯片微机形成阶段单芯片微机形成阶段 1976年,年,Intel公司推出了公司推出了MCS-48系列单片系列单片机机 。8位位CPU、1K字节字节ROM、64字节字节RAM、27根根I/O线和线和1个个8位定时位定时/计数器计数器。 特点是特点是:存储器容量较小,寻址范围小(不:存储器
8、容量较小,寻址范围小(不大于大于4K),无串行接口,指令系统功能不强。),无串行接口,指令系统功能不强。 12 性能完善提高阶段性能完善提高阶段 1980年,年,Intel公司推出了公司推出了MCS-51系列单系列单片机:片机:8位位CPU、4K字节字节ROM、128字节字节RAM、4个个8位并口、位并口、1个全双工串行口、个全双工串行口、2个个16位定时位定时/计数器。寻址范围计数器。寻址范围64K,并有控,并有控制功能较强的布尔处理器。制功能较强的布尔处理器。 特点是特点是:结构体系完善,性能已大大提高,:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,面向控制的特点进一步突
9、出。现在,MCS-51已成为公认的单片机经典机种已成为公认的单片机经典机种 。13 微控制器化阶段微控制器化阶段 特点是特点是:片内面向测控系统外围电路增强,:片内面向测控系统外围电路增强,使单片机可以方便灵活地用于复杂的自动测控使单片机可以方便灵活地用于复杂的自动测控系统及设备。系统及设备。“微控制器微控制器”的称谓更能反应单片机的本质的称谓更能反应单片机的本质。 1982年,年,Intel推出推出MCS-96系列单片机。系列单片机。 芯片内集成:芯片内集成:16位位CPU、8K字节字节ROM、232字节字节RAM、5个个8位并口、位并口、1个全双工串行口、个全双工串行口、2个个16位定时位
10、定时/计数器。寻址范围计数器。寻址范围64K。片上还有。片上还有8路路10位位ADC、1路路PWM输出及高速输出及高速I/O部件等。部件等。141.2.2 1.2.2 单片机产品近况单片机产品近况 ATMELATMEL公司融入公司融入FlashFlash存储器技术的存储器技术的AT89AT89系列;系列; PhilipsPhilips公司的公司的80C5180C51、80C55280C552系列;系列; 华邦公司的华邦公司的W78C51W78C51、W77C51W77C51高速低价高速低价系列;系列; ADIADI公司的公司的ADC8xxADC8xx高精度高精度ADCADC系列;系列; LGL
11、G公司的公司的GMS90/97GMS90/97低压高速低压高速系列;系列; MaximMaxim公司的公司的DS89C420DS89C420高速(高速(50MIPS50MIPS)系列;系列; CygnalCygnal公司的公司的C8051FC8051F系列高速系列高速SOCSOC单片机。单片机。 80C5180C51系列系列单片机产品繁多,单片机产品繁多,主流地位已主流地位已经形成,经形成,近年来推出的近年来推出的与与80C5180C51兼容兼容的主要产的主要产品有:品有:15 非非80C51结构单片机新品结构单片机新品不断推出,给不断推出,给用户提供了更为广泛的选择空间用户提供了更为广泛的选
12、择空间 ,近年来推,近年来推出的非出的非80C51系列的主要产品有:系列的主要产品有:Intel的的MCS-96系列系列16位单片机位单片机 ; Microchip的的PIC系列系列RISC单片机单片机 ;TI的的MSP430F系列系列16位位低功耗低功耗单片机单片机 。161.3 单片机的特点及应用领域单片机的特点及应用领域1.3.1 1.3.1 单片机的特点单片机的特点 近期推出的单片机产品,内部集成有高速近期推出的单片机产品,内部集成有高速I/OI/O口、口、ADCADC、PWMPWM、WDTWDT等部件,并在低电压、低功耗、串等部件,并在低电压、低功耗、串行扩展总线、控制网络总线和开发
13、方式(如在系统行扩展总线、控制网络总线和开发方式(如在系统编程编程ISPISP)等方面都有了进一步的增强。)等方面都有了进一步的增强。 控制性能和可靠性高控制性能和可靠性高 实时控制功能特别强,其实时控制功能特别强,其CPUCPU可以对可以对I/OI/O端口直接端口直接进行操作,进行操作,位操作能力位操作能力更是其它计算机无法比拟的。更是其它计算机无法比拟的。另外,由于另外,由于CPUCPU、存储器及、存储器及I/OI/O接口接口集成在同一芯片集成在同一芯片内内,各部件间的连接紧凑,数据在传送时,各部件间的连接紧凑,数据在传送时受干扰的受干扰的影响较小影响较小,且不易受环境条件的影响,所以单片
14、机,且不易受环境条件的影响,所以单片机的的可靠性非常高可靠性非常高。17体积小、价格低、易于产品化体积小、价格低、易于产品化 单片机芯片即是一台完整的微型计算机单片机芯片即是一台完整的微型计算机,对于批量大的专用场合,一方面可以在众多对于批量大的专用场合,一方面可以在众多的单片机品种间进行匹配选择;同时还可以的单片机品种间进行匹配选择;同时还可以专门进行芯片设计,使芯片的功能与应用具专门进行芯片设计,使芯片的功能与应用具有良好的对应关系;在单片机产品的引脚封有良好的对应关系;在单片机产品的引脚封装方面,有的单片机引脚已减少到装方面,有的单片机引脚已减少到8个或更少。个或更少。从而使应用系统的从
15、而使应用系统的印制板减小、接插件减印制板减小、接插件减少、安装简单方便。少、安装简单方便。181.3.2 1.3.2 单片机的应用领域单片机的应用领域 智能仪器仪表智能仪器仪表 单片机用于各种仪器仪表,一方面提单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能和精度,使仪高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器的硬件结构,从而可以方便地完成仪器仪表产品的升级换代。如仪表产品的升级换代。如各种智能电气各种智能电气测量仪表、智能传感器测量仪表、智能传感器等。等。19机电一体化产品机电一体化产品机电一
16、体化产品是集机械技术、微电机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以单片机在机电一体化产品的开发中可以发挥巨大的作用。发挥巨大的作用。典型产品如机器人、典型产品如机器人、数控机床、自动包装机、点钞机、医疗数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机设备、打印机、传真机、复印机等。等。20实时工业控制实时工业控制单片机还可以用于各种物理量的采集单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流与控制。电流
17、、电压、温度、液位、流量等物理参数的采集和控制均可以利用量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效实现期望的控制指标,从而提高生产效率和产品质量。典型应用如率和产品质量。典型应用如电机转速控电机转速控制、温度控制、自动生产线制、温度控制、自动生产线等等 。21 分布式系统的前端模块分布式系统的前端模块 在较复杂的工业系统中,经常要采在较复杂的工业系统中,经常要采用
18、分布式测控系统完成大量的分布参数用分布式测控系统完成大量的分布参数的采集。在这类系统中,采用单片机作的采集。在这类系统中,采用单片机作为分布式系统的前端采集模块,系统具为分布式系统的前端采集模块,系统具有有运行可靠,数据采集方便灵活,成本运行可靠,数据采集方便灵活,成本低廉低廉等一系列优点。等一系列优点。22家用电器家用电器家用电器是单片机的又一重要应用家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。备、高档玩具等。 另外,在交通领域中,汽车、火车、另外,在交通领域中,
19、汽车、火车、飞机、航天器等均有单片机的广泛应飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控用。如汽车自动驾驶系统、航天测控系统、黑匣子等系统、黑匣子等 。232.1 80C512.1 80C51系列概述系列概述2.1.1 MCS-512.1.1 MCS-51系列系列 (1 1)MCS-51MCS-51是是IntelIntel公司生产的一个单公司生产的一个单片机系列名称。属于这一系列的单片机有片机系列名称。属于这一系列的单片机有多种,如:多种,如: 8051/8751/80318051/8751/8031; 8052/8752/80328052/8752/8032; 80C51
20、/87C51/80C3180C51/87C51/80C31 80C52/87C52/80C3280C52/87C52/80C32等等 。 24(2)该系列生产工艺有两种:)该系列生产工艺有两种:CHMOS是是CMOS和和HMOS的结合,既保的结合,既保持了持了HMOS高速度和高密度的特点,还具有高速度和高密度的特点,还具有CMOS的低功耗的特点。的低功耗的特点。在产品型号中凡带在产品型号中凡带有字母有字母“C”的即为的即为CHMOS芯片芯片,CHMOS芯片的电平既与芯片的电平既与TTL电平兼容,又与电平兼容,又与CMOS电平兼容。电平兼容。一是一是HMOS工艺工艺(高密度短沟道(高密度短沟道M
21、OS工工艺)。艺)。二是二是CHMOS工艺工艺(互补金属氧化物(互补金属氧化物的的HMOS工艺)。工艺)。25(3)在功能上,该系列单片机有基本型)在功能上,该系列单片机有基本型和增强型两大类:和增强型两大类:增强型增强型:8052/8752/803280C52/87C52/80C32基本型基本型:8051/8751/803180C51/87C51/80C3126(4)在片内程序存储器的配置上,)在片内程序存储器的配置上,该系列单片机有三种形式,即掩膜该系列单片机有三种形式,即掩膜ROM、EPROM和和ROMLess(无片内无片内程序存储器程序存储器)。如:。如:80C51有有4K字节的掩膜字
22、节的掩膜ROM;87C51有有4K字节的字节的EPROM ;80C31在芯片内无程序存储器。在芯片内无程序存储器。272.1.2 80C512.1.2 80C51系列系列 Intel的:的:80C31、80C51、87C51,80C32、80C52、87C52等;等; ATMEL的:的:89C51、89C52、89C2051等;等; Philips、华邦、华邦、Dallas、Siemens(Infineon)等公司的许多产品等公司的许多产品 。 80C51是是MCS-51系列中系列中CHMOS工艺的工艺的一个典型品种一个典型品种 ;其它厂商;其它厂商以以8051为基核为基核开开发出的发出的CM
23、OS工艺单片机产品工艺单片机产品统称为统称为80C51系列系列。当前常用的。当前常用的80C51系列单片机主要产系列单片机主要产品有:品有:282.1.3 80C512.1.3 80C51典型产品资源配置典型产品资源配置29学单片机需要具备的条件学单片机需要具备的条件v与以前所学的知识关联很少;与以前所学的知识关联很少;v对器件的概念基本上是从对器件的概念基本上是从0开始;开始;v如果要用如果要用C语言编程,需具备一定的语言编程,需具备一定的C语言基语言基础;础;v所有人都站在了同一起跑线上;所有人都站在了同一起跑线上;30v#includevunsigned char Flag = 0 x3
24、f;vmain( )vv P1 = 0 x55;While(1)if(Flag = 0)Flag = 0 x3f;P1 = P1;v31v org0000hv jmpmainv org0100hvmain:movp1,#55hvamain:mov r0,#3fhvloop:djnzr0,loopv cplav movp1,av jmpamainv end32 8位位CPU 4kbytes 程序存储器程序存储器(ROM)(52为为8K) 256bytes的数据存储器的数据存储器(RAM) (52有有384bytes的的RAM) 32条条I/O口线口线 111条指令,大部分为单字节指令条指令,大部
25、分为单字节指令 21个专用寄存器个专用寄存器 2.2.2单片机的主要功能单片机的主要功能33v 2个可编程定时个可编程定时/计数器计数器 5个中断源,个中断源,2个优先级个优先级(52有有6个)个) 一个全双工串行通信口一个全双工串行通信口 外部数据存储器寻址空间为外部数据存储器寻址空间为64kB 外部程序存储器寻址空间为外部程序存储器寻址空间为64kB 逻辑操作位寻址功能逻辑操作位寻址功能 双列直插双列直插40PinDIP封装封装 单一单一+5V电源供电电源供电342.3.2 80C512.3.2 80C51的引脚封装的引脚封装总线型总线型非总线型非总线型3536vCPU:由运算和控制逻辑组
26、成,同时还包括:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;中断系统和部分外部特殊功能寄存器;vRAM:用以存放可以读写的数据,如运算的:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;中间结果、最终结果以及欲显示的数据;vROM:用以存放程序、一些原始数据和表格;:用以存放程序、一些原始数据和表格;vI/O口:四个口:四个8位并行位并行I/O口,既可用作输入,口,既可用作输入,也可用作输出;也可用作输出;vT/C:两个定时:两个定时/记数器,既可以工作在定时记数器,既可以工作在定时模式,也可以工作在记数模式;模式,也可以工作在记数模式;37v五个中断
27、源的中断控制系统;五个中断源的中断控制系统;v一个全双工一个全双工UART(通用异步接收发送器)(通用异步接收发送器)的串行的串行I/O口,用于实现单片机之间或单片机口,用于实现单片机之间或单片机与微机之间的串行通信;与微机之间的串行通信;v片内振荡器和时钟产生电路,石英晶体和微片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为调电容需要外接。最高振荡频率为12M。38单片机最小系统Y122.1184C915PC810uFS1SW-PBALEWRRDRXDTXDINT0EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P
28、112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U189S52VCCPSENP10P11P12P13P14P15P16P17T0T1INT1P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27VCCR610KR4101R510KC1015PX1X239vP0P3:通用:通用I/O口;口;vVCC:电源端,一般接:电源端,一
29、般接5V;vGND:电源地;:电源地;vXTAL1,XTAL2:外接晶体振荡器,不能超:外接晶体振荡器,不能超过过24M;需加微调电容,一般为;需加微调电容,一般为30pF;vRST/VPD:复位端,平时为低电平;:复位端,平时为低电平;vALE/PROG:地址锁存允许信号端;:地址锁存允许信号端;vEA/Vpp:外部程序存储器地址允许输入端:外部程序存储器地址允许输入端/固化编程电压输入端;固化编程电压输入端;402.2.4 控制器控制器1. 时钟电路时钟电路 (a)内部时钟电路;(b) HMOS型外部振荡源 (C) CHMOS型外部振荡源 41单片机工作的基本时序单片机工作的基本时序v.
30、机器周期和指令周期机器周期和指令周期v (1) 振荡周期振荡周期: 也称时钟周期也称时钟周期, 是指为单片机提是指为单片机提供时钟脉冲信号的振荡源的周期。供时钟脉冲信号的振荡源的周期。 v (2) 状态周期状态周期: 每个状态周期为时钟周期的每个状态周期为时钟周期的 2 倍倍, 是振荡周期经二分频后得到的。是振荡周期经二分频后得到的。 v (3) 机器周期机器周期: 一个机器周期包含一个机器周期包含 6 个状态周个状态周期期S1S6, 也就是也就是 12 个时钟周期。个时钟周期。 在一个机器周在一个机器周期内期内, CPU可以完成一个独立的操作。可以完成一个独立的操作。 v (4) 指令周期指
31、令周期: 它是指它是指CPU完成一条操作所需完成一条操作所需的全部时间。的全部时间。 每条指令执行时间都是有一个或几个每条指令执行时间都是有一个或几个机器周期组成。机器周期组成。MCS - 51 系统中系统中, 有单周期指令、有单周期指令、双周期指令和四周期指令。双周期指令和四周期指令。 421.时钟电路引脚:XTAL1:接外部晶振和微调电容的一端,在单片机内部,它是构成片内振荡器的反向放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部振荡器的输入端。 XTAL2:接外部晶振和微调电容的另一端,在单片机内部,它是构成片内振荡器的反向放大器的输出端。当采用外部振荡
32、器时,此引脚应悬空。43v2.控制信号引脚控制信号引脚:vRST/VPD:RST是复位信号输入端,高电平有效。当是复位信号输入端,高电平有效。当此输入端保持此输入端保持2个机器周期的高电平时,就可以完成个机器周期的高电平时,就可以完成复位操作。复位操作。RST引脚的第二功能是备用电源的输入引脚的第二功能是备用电源的输入端。端。上电复位按键复位44vALE/PROG:(Address Latch Enable/ Programming)当单片机上电正常工作后,当单片机上电正常工作后,ALE引脚不断向外输出正弦脉冲信号,此频引脚不断向外输出正弦脉冲信号,此频率为振荡器频率的率为振荡器频率的1/6。
33、CPU访问外部存储器访问外部存储器时,时,ALE作为锁存低作为锁存低8位地址的控制信号。此位地址的控制信号。此引脚的第二功能引脚的第二功能PROG作为作为8751编程脉冲输编程脉冲输入端使用。入端使用。45vPSEN:(Program Store Enable)在访问片外存储在访问片外存储器时,此端定时输出负脉冲作为片外存储器的选通器时,此端定时输出负脉冲作为片外存储器的选通信号。信号。vEA/VPP:(Enable Address/Voltage Pulse Of Programming)当当EA接高电平时,接高电平时,CPU访问片内访问片内ROM,并执行内部程序存储器中的指令,但当,并执行
34、内部程序存储器中的指令,但当PC(程序计数器)的值超过(程序计数器)的值超过4K时,将自动转去执行片时,将自动转去执行片外存储器内的程序。当外存储器内的程序。当EA脚接低电平时,脚接低电平时,CPU只只访问片外访问片外ROM并执行外部程序存储器中的指令,而并执行外部程序存储器中的指令,而不管是否有片内程序存储器。不管是否有片内程序存储器。VPP是对是对8751片内片内ROM固化程序时,作为施加较高编程电压固化程序时,作为施加较高编程电压(12V21V)的输入端。)的输入端。 46v3.输入输出引脚:v P0P3:4个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个端口都可以做输入输出口使用,其中,P0和P2通常用于对外部存储器的访问。在这种方式下,把P0口作为地址/数据总线使用,分时输出外部存储器的地址和传送8位数据。当扩充外部存储器的地址为16位时,P2口作为地址总线的高8位地址使用。