51单片机及其应用课件_第1页
51单片机及其应用课件_第2页
51单片机及其应用课件_第3页
51单片机及其应用课件_第4页
51单片机及其应用课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、51单片机及其应用11.1 电子计算机的发展概述1.1.1 电子计算机的问世及其经典结构1946年2月15日,第一台电子数字计算机问世,这标志着计算机时代的到来。(CALCULATOR)ENIAC(“埃尼阿克”)2与现代的计算机相比,有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响 。ENIAC是电子管计算机,时钟频率仅有100 KHz,但能在1秒钟的时间内完成5000次加法运算。3 匈牙利籍数学家冯诺依曼在方案的设计上做出了重要的贡献。1946年6月,他又提出了“程序存储”和“二进制运算”的思想,进一步构建了计算机由运算器、控制器、存储器、输入设备和

2、输出设备组成这一计算机的经典结构。(EDVAC-ELECTRONIC DISCRETE VARIABLE AUTOMATIC COMPUTER)4电子计算机技术的发展,相继经历了五个时代:电子管计算机;晶体管计算机;集成电路计算机;大规模集成电路计算机;超大规模集成电路计算机。计算机的结构仍然没有突破冯诺依曼提出的计算机的经典结构框架。5二、微型计算机的应用形态 从应用形态上,微机可以分成三种: 多板机(系统机) 将CPU、存储器、I/O接口电路和总线接口等组装在一块主机板(即微机主板)。各种适配板卡插在主机板的扩展槽上并与电源、软/硬盘驱动器及光驱等装在同一机箱内,再配上系统软件,就构成了一

3、台完整的微型计算机系统(简称系统机)。工业PC机 也属于多板机。6 单板机 将CPU芯片、存储器芯片、I/O接口芯片和简单的I/O设备(小键盘、LED显示器)等装配在一块印刷电路板上,再配上监控程序(固化在ROM中),就构成了一台单板微型计算机(简称单板机)。单板机7单板机的I/O设备简单,软件资源少,使用不方便。早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。8 单片机 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。 三种应用形态的比较 :单板机单片机系统机(多板机)9 系统机(桌面应用)属于通用计算机,主要应用于数据处理、

4、办公自动化及辅助设计。 单片机(嵌入式应用)属于专用计算机,主要应用于智能仪表、智能传感器、智能家电、智能办公设备、汽车及军事电子设备等应用系统。 单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。101.2 单片机的发展过程及产品近况1.2.1 单片机的发展过程 单片机技术发展过程可分为三个主要阶段: 单芯片微机形成阶段 1976年,Intel公司推出了MCS-48系列单片机 。8位CPU、1K字节ROM、64字节RAM、27根I/O线和1个8位定时/计数器。 特点是:存储器容量较小,寻址范围小(不大于4K),无串行接口,指令系统功能不强。 11 性

5、能完善提高阶段 1980年,Intel公司推出了MCS-51系列单片机:8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。 特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51已成为公认的单片机经典机种 。12 微控制器化阶段 特点是:片内面向测控系统外围电路增强,使单片机可以方便灵活地用于复杂的自动测控系统及设备。“微控制器”的称谓更能反应单片机的本质。 1982年,Intel推出MCS-96系列单片机。 芯片内集成:16位CPU、8K字节ROM、232字节RAM、

6、5个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K。片上还有8路10位ADC、1路PWM输出及高速I/O部件等。131.2.2 单片机产品近况 ATMEL公司融入Flash存储器技术的AT89系列; Philips公司的80C51、80C552系列; 华邦公司的W78C51、W77C51高速低价系列; ADI公司的ADC8xx高精度ADC系列; LG公司的GMS90/97低压高速系列; Maxim公司的DS89C420高速(50MIPS)系列; Cygnal公司的C8051F系列高速SOC单片机。 80C51系列单片机产品繁多,主流地位已经形成,近年来推出的与80C51兼容

7、的主要产品有:14 非80C51结构单片机新品不断推出,给用户提供了更为广泛的选择空间 ,近年来推出的非80C51系列的主要产品有:Intel的MCS-96系列16位单片机 ; Microchip的PIC系列RISC单片机 ;TI的MSP430F系列16位低功耗单片机 。151.3 单片机的特点及应用领域1.3.1 单片机的特点 近期推出的单片机产品,内部集成有高速I/O口、ADC、PWM、WDT等部件,并在低电压、低功耗、串行扩展总线、控制网络总线和开发方式(如在系统编程ISP)等方面都有了进一步的增强。 控制性能和可靠性高 实时控制功能特别强,其CPU可以对I/O端口直接进行操作,位操作能

8、力更是其它计算机无法比拟的。另外,由于CPU、存储器及I/O接口集成在同一芯片内,各部件间的连接紧凑,数据在传送时受干扰的影响较小,且不易受环境条件的影响,所以单片机的可靠性非常高。16体积小、价格低、易于产品化 单片机芯片即是一台完整的微型计算机,对于批量大的专用场合,一方面可以在众多的单片机品种间进行匹配选择;同时还可以专门进行芯片设计,使芯片的功能与应用具有良好的对应关系;在单片机产品的引脚封装方面,有的单片机引脚已减少到8个或更少。从而使应用系统的印制板减小、接插件减少、安装简单方便。171.3.2 单片机的应用领域 智能仪器仪表 单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能

9、和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表产品的升级换代。如各种智能电气测量仪表、智能传感器等。18机电一体化产品机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。19实时工业控制单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的

10、智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电机转速控制、温度控制、自动生产线等 。20 分布式系统的前端模块 在较复杂的工业系统中,经常要采用分布式测控系统完成大量的分布参数的采集。在这类系统中,采用单片机作为分布式系统的前端采集模块,系统具有运行可靠,数据采集方便灵活,成本低廉等一系列优点。21家用电器家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。 另外,在交通领域中,汽车、火车、飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子等 。222.1 80C51系列概述2.1.1

11、MCS-51系列 (1)MCS-51是Intel公司生产的一个单片机系列名称。属于这一系列的单片机有多种,如: 8051/8751/8031; 8052/8752/8032; 80C51/87C51/80C31 80C52/87C52/80C32等 。 23(2)该系列生产工艺有两种:CHMOS是CMOS和HMOS的结合,既保持了HMOS高速度和高密度的特点,还具有CMOS的低功耗的特点。在产品型号中凡带有字母“C”的即为CHMOS芯片,CHMOS芯片的电平既与TTL电平兼容,又与CMOS电平兼容。一是HMOS工艺(高密度短沟道MOS工艺)。二是CHMOS工艺(互补金属氧化物的HMOS工艺)。

12、24(3)在功能上,该系列单片机有基本型和增强型两大类:增强型:8052/8752/803280C52/87C52/80C32基本型:8051/8751/803180C51/87C51/80C3125(4)在片内程序存储器的配置上,该系列单片机有三种形式,即掩膜ROM、EPROM和ROMLess(无片内程序存储器)。如:80C51有4K字节的掩膜ROM;87C51有4K字节的EPROM ;80C31在芯片内无程序存储器。262.1.2 80C51系列 Intel的:80C31、80C51、87C51,80C32、80C52、87C52等; ATMEL的:89C51、89C52、89C2051等

13、; Philips、华邦、Dallas、Siemens(Infineon)等公司的许多产品 。 80C51是MCS-51系列中CHMOS工艺的一个典型品种 ;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有:272.1.3 80C51典型产品资源配置28学单片机需要具备的条件与以前所学的知识关联很少;对器件的概念基本上是从0开始;如果要用C语言编程,需具备一定的C语言基础;所有人都站在了同一起跑线上;29#includeunsigned char Flag = 0 x3f;main( ) P1 = 0 x55;While(1)

14、if(Flag = 0)Flag = 0 x3f;P1 = P1;30 org0000h jmpmain org0100hmain:movp1,#55hamain:mov r0,#3fhloop:djnzr0,loop cpla movp1,a jmpamain end31 8位CPU 4kbytes 程序存储器(ROM)(52为8K) 256bytes的数据存储器(RAM) (52有384bytes的RAM) 32条I/O口线111条指令,大部分为单字节指令21个专用寄存器2.2.2单片机的主要功能32 2个可编程定时/计数器5个中断源,2个优先级(52有6个)一个全双工串行通信口外部数据存

15、储器寻址空间为64kB外部程序存储器寻址空间为64kB逻辑操作位寻址功能双列直插40PinDIP封装单一+5V电源供电332.3.2 80C51的引脚封装总线型非总线型3435CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;36五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之

16、间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为12M。37单片机最小系统38P0P3:通用I/O口;VCC:电源端,一般接5V;GND:电源地;XTAL1,XTAL2:外接晶体振荡器,不能超过24M;需加微调电容,一般为30pF;RST/VPD:复位端,平时为低电平;ALE/PROG:地址锁存允许信号端;EA/Vpp:外部程序存储器地址允许输入端/固化编程电压输入端;392.2.4 控制器1. 时钟电路 (a)内部时钟电路;(b) HMOS型外部振荡源 (C) CHMOS型外部振荡源 40单片机工作的基本时序. 机器周期和指令周期 (1)

17、振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期。 (2) 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。 (3) 机器周期: 一个机器周期包含 6 个状态周期S1S6, 也就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。 (4) 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。 411.时钟电路引脚:XTAL1:接外部晶振和微调电容的一端,在单片机内部,它是构成片内振荡器的反向放大器的输入端。当采

18、用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部振荡器的输入端。 XTAL2:接外部晶振和微调电容的另一端,在单片机内部,它是构成片内振荡器的反向放大器的输出端。当采用外部振荡器时,此引脚应悬空。422.控制信号引脚:RST/VPD:RST是复位信号输入端,高电平有效。当此输入端保持2个机器周期的高电平时,就可以完成复位操作。RST引脚的第二功能是备用电源的输入端。上电复位按键复位43ALE/PROG:(Address Latch Enable/ Programming)当单片机上电正常工作后,ALE引脚不断向外输出正弦脉冲信号,此频率为振荡器频率的1/6。CPU访问外部存储器时

19、,ALE作为锁存低8位地址的控制信号。此引脚的第二功能PROG作为8751编程脉冲输入端使用。44PSEN:(Program Store Enable)在访问片外存储器时,此端定时输出负脉冲作为片外存储器的选通信号。EA/VPP:(Enable Address/Voltage Pulse Of Programming)当EA接高电平时,CPU访问片内ROM,并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过4K时,将自动转去执行片外存储器内的程序。当EA脚接低电平时,CPU只访问片外ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。VPP是对8751片内ROM固化程序时

20、,作为施加较高编程电压(12V21V)的输入端。 453.输入输出引脚: P0P3:4个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个端口都可以做输入输出口使用,其中,P0和P2通常用于对外部存储器的访问。在这种方式下,把P0口作为地址/数据总线使用,分时输出外部存储器的地址和传送8位数据。当扩充外部存储器的地址为16位时,P2口作为地址总线的高8位地址使用。46KEIL C51的应用C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序

21、的可读性,便于改进和扩充。而针对8051的C语言日趋成熟,成为了专业化的实用高级语言。47C语言作为一种非常方便的语言而得到广泛的支持,国内最通用的是Keil C51.C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。 C-51的特点48C-51与ASM-51相比,有如下优点:1.对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解;2.寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;3.程序有规范的结构,可分成不同的函数,这种方式可使程

22、序结构化;4.具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;5.提供的库包含许多标准子程序,具有较强的数据处理能力;6.由于具有方便的模块化编程技术,使已编好程序可容易地移植;49C51存储类型存储类型寻址空间数据长度值域范围data片内直接寻址 RAM80127idata片内间接寻址 RAM80255pdata分页寻址片外 RAM8025550存储类型寻址空间数据长度值域范围xdata片外数据存储 (64K)16065535code片内统一编址ROM(64K)16065535bdata片内可位寻址的RAM(16byet)1012751C51的数据声明的一般格式如下类型说明符

23、修饰符 标识符=初值例如:unsigned char code Flag = 0 x0f; 就是声明一个无符号的char型变量Flag,并给他赋初值为0 x0f;并且声明他所在的存储空间在片内统一编址的ROM中。 声明中,如果没有修饰符,则数据默认的存储空间为data型,也就是在片内RAM中。52 C51的程序结构 与一般C语言的结构相同,以main()函数为程序人口,程序体中包含若干语句还可以包含若干函数。 C51函数的一般格式 类型 函数名(参数表) 数据说明部分 语句执行部分 53 C51的数据类型基本数据类型类型符号关键字数的表示范围所占位数整型字符型实型有无(signed) int1

24、6-3276832767(signed) short16-3276832767(signed) long32-2147483648214748364716unsigned int0655353204294967295unsigned long intunsigned short int16065535有float323.4e-383.4e38有double641.7e-3081.7e308有char8-128127无unsigned char8025554C语言中的基本数据类型类型符号关键字数的表示范围所占位数整型字符型实型有无(signed) int16-3276832767(signed)

25、 short16-3276832767(signed) long32-2147483648214748364716unsigned int0655353204294967295unsigned long intunsigned short int16065535有float323.4e-383.4e38有double641.7e-3081.7e308有char8-128127无unsigned char8025555(续) C51的数据类型扩充定义sfr:特殊功能寄存器声明sfr16:sfr的16位数据声明sbit:特殊功能位声明bit:位变量声明例:sfr SCON = 0X98; sfr1

26、6 T2 = 0 xCC; sbit OV = PSW2;56 C-51数据的存储类型名 存储空间位置 长度 数据范围 data 直接寻址片内RAM 8位 0255 bdata 可位寻址片内RAM 1位 0/1idata 间接寻址片内RAM 8位 0255pdata 片外页RAM 8位 0255xdata 片外RAM 16位 065535code 程序ROM 16位 06553557 C-51数据的存储类型(续)例:数据类型 存储类型 变量char data var1;bit data flags;unsigned char xdata vextor10; C-51数据的存储类型58 C-51

27、的包含的头文件通常有:reg51.h math.h ctype.h stdio.h stdlib.h absacc.h常用有:reg51.h (定义特殊功能寄存器和位寄存器); math.h (定义常用数学运算); 59 C-51的运算符与C语言基本相同:+ - * / (加 减 乘 除) = (位右移 位左移)& | (按位与 按位或) (按位异或 按位取反)60 C-51的基本语句与标准C语言基本相同: if 选择语言 switch/case 多分支选择语言 while 循环语言 do-while 循环语言 for 循环语言61 中断服务程序函数名()interrupt n I/O口定义#include #define prot x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论