51单片机应用程序开发与实践(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-14 05:04:41

点击下载

作者:常敏,王涵,等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

51单片机应用程序开发与实践

51单片机应用程序开发与实践试读:

前言

单片机就是一个不带外部设备的微型计算机。它具有集成度高、体积小、功能强、使用灵活、价格低廉、稳定可靠等特点。在家用电器、智能仪器、数控机床、数据处理、自动检测、工业控制、火箭制导等许多领域发挥着十分重要的作用。单片机作为微型计算机的一个重要分支,应用面很广,发展很快。尽管目前单片机种类繁多,但其中最为典型、销量最多的仍当属Intel公司的51系列单片机。它的功能强大、兼容性强、软硬件资料丰富。国内也以此系列的单片机应用最为广泛。本书以51单片机为例,为用户介绍了单片机的相关技术和单片机应用系统的开发。所谓单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统,由硬件和软件组成。硬件是应用系统的基础,软件则是在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,两者相互依赖,缺一不可。全书共分为15章,可分为两个部分。其中第一部分为第1~第6章,介绍了单片机和单片机系统开发的相关技术;第二部分为第7~第15章,通过9个典型的单片机应用系统案例,为用户介绍了单片机技术在实际开发中的应用。第1章介绍了单片机的概念、分类、特点、应用领域和发展趋势,并对不同系列的51单片机进行了简单的介绍。第2章介绍了51单片机内部结构的组成、引脚功能、中断系统、定时器与计数器、串行通信以及实现单片机最小系统的方法。第3章介绍了51单片机指令系统的应用,以及使用C语言和汇编语言进行单片机开发的技术和方法。第4章介绍了51单片机系统资源扩展的方法,包括并行I/O口扩展、单片机存储器扩展和外部中断的扩展。第5章介绍了目前用于单片机开发的最主流的3款软件的使用方法,分别是Proteus,Keil C51和Protel。其中Keil C51主要用于单片机程序的开发,而Proteus与Keil C51结合起来就可以实现软件硬件的联调仿真,Protel是全世界用得最多的电路图绘图软件。第6章介绍了51单片机系统的开发过程以及对单片机系统进行优化设计的方法。第7章到第15章为9个典型的单片机应用系统。其中第7章为简单计算器实例,通过该案例用户可以深入学习键盘接口的相关知识;第8章为电压表的实例,具体讲解A/D转换和相关接口应用;第9章为简单电子密码锁电路的案例,通过该案例可以深入学习LED显示接口的应用;第10章介绍一个存储器与单片机接口实现ISP功能的例子;第11章以IC卡读写器为例给读者介绍总线的使用;第12章以电子时钟系统为例为用户介绍CAN总线的使用;第13章以电子温度计为例,讲述LCD显示接口的应用;第14章以USB接口键盘的实例,讲述串行总线(USB)接口的使用;第15章介绍了电厂温度实时监控系统的设计和实现,利用热电阻Pt100对温度进行测量,该方案对其他热电阻方案同样成立。全书实例丰富、代表性强,涉及领域广。每个例子都调试通过,都有具体的设计思路、硬件电路、软件设计以及程序代码分析。不同的案例基本代表了不同的单片机技术的应用。通过这些案例的学习,读者可以举一反三将这些技术应用于实践。本书可作为高等院校学生学习单片机技术的教材,同时也可作为学生进行单片机课程设计、毕业设计的参考用书,也可以供广大单片机爱好者以及开发技术人员阅读参考。由于作者水平有限,难免存在一些错误和不足。希望广大读者、同仁在使用本教材时给与批评与指正。编著者2009年1月第1章 单片机开发绪论单片机又称微控制器,在工业控制中具有很重要的地位。那么到底什么是单片机,它与我们日常生活所接触的计算机又有什么联系和区别,单片机在以后的发展趋势如何,这些都会在本章中进行讲解。最后,本章将介绍常用的51系列单片机。1.1 单片机简介1.1.1 微处理器、微型计算机与单片机一般而言,微型计算机包括运算器、控制器、存储器、输入输出接口四个基本组成部分。如果把运算器和控制器封装在一块芯片上,则称该芯片为微处理器( MPU,Micro Processing Unit)或者是中央处理器(CPU,Central Processing Unit)。如果将它与大规模集成电路制成的存储器、输入输出接口电路在印制电路板上用总线连接起来,就构成了微型计算机。一个只集成了中央处理器的集成电路封装,只是微型计算机的一个组成部分。如果在一块芯片上,集成了一台微型计算机的四个组成部分,则称为单片微型计算机,简称单片机。换句话而言,单片机是一块芯片上的微型计算机。以单片机为核心的硬件电路称为单片机系统,它属于嵌入式系统的应用范畴。为了进一步突出单片机在嵌入式系统中的主导地位,许多半导体公司在单片机内部还集成了许多外围功能电路和外设接口,如定时/计数、串行通信、模拟/数字转换ADC,PWM等单元。所有这些单元都突出了单片机的控制特性。尽管单片机主要是为了控制目的而设计的,但它仍然具备微型计算机的全部特征,因此,单片机的功能部件和工作原理与微型计算机也是基本相同的。我们可以通过参照微型计算机的基本组成和工作原理逐步接近单片机。图1-1是一款双列直插封装的51单片机芯片AT89S51。图1-1 单片机外型它的体积小、质量轻、价格便宜,为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。所以说,单片机应用系统是由硬件和软件组成的,硬件是应用系统的基础,软件则在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,缺一不可。单片机应用系统的组成如图1-2所示。图1-2 单片机应用系统的组成由此可见,单片机应用系统的设计人员必须从硬件和软件两个角度来深入了解单片机,并能够将二者有机结合起来,才能形成具有特定功能的应用系统或整机产品。1.1.2 单片机的分类和指标单片机从用途上可分成专用型单片机和通用型单片机两大类。专用型单片机是为某种专门用途而设计的,如DVD控制器和数码摄像机控制器芯片等。在用量不大的情况下,设计和制造这样的专用芯片成本很高,而且设计和制造的周期也很长。我们通常所用的都是通用型单片机,通用型单片机把所有资源(如ROM、I/O等)全部提供给用户使用。当今通用型单片机的生产厂家已不下几十家,种类有几百种之多。下面就从单片机的几个重要指标进行介绍。位数:即单片机能够一次处理的数据的宽度,有1位机(如PD7502)、4位机(如MSM64155A)、8位机(如MCS—51)、16位机(如MCS—96)、32位机(如IMST414)。存储器:包括程序存储器和数据存储器,程序存储器空间较大,字节数一般从几千字节到几十千字节(1千字节=),另外还有不同的类型,如ROM、EPROM、EEPROM、F1ash ROM和OTP ROM型。数据存储器的字节数则通常为几十字节到几百字节之间。I/O口:即输入输出口,一般有几个到几十个,用户可以根据自己的需要进行选择。速度:指的是CPU的处理速度,以每秒执行多少条指令衡量,常用单位是MIPS(百万条指令每秒),如目前最快的单片机可达到100MIPS。单片机的速度通常是和系统时钟(相当于PC机的主频)相联系的,但并不是频率高的处理速度就一定快;对于同一种型号的单片机来说,采用频率高的时钟一般比频率低的速度要快。工作电压:通常工作电压是5 V,范围是±5%或±10%,也有3 V/3.3 V电压的产品,更低的可在1.5 V工作。现代单片机又出现了宽比电压范围型,即在2.5 V~6.5 V内都可正常工作。功耗:低功耗是现代单片机所追求的一个目标,目前低功耗单片机的静态电流可以低至有的单片机还具有等待、关断、睡眠等多种工作模式,以此来降低功耗。温度:单片机根据工作温度可分为民用级(商业级)、工业级和军用级三种。民用级的温度范围是0℃~70℃,工业级是-40℃~85℃,军用级是-55℃~125℃(不同厂家的划分标准可能不同。附加功能:有的单片机有更多的功能,用户可根据自己的需要选择最适合自己的产品。比如有的单片机内部有A/D、D/A、串口、LCD驱动等,使用这种单片机可减少外部器件,提高系统的可靠性。1.1.3 单片机的特点单片机作为微型计算机的一种,它具有如下特点:(1) 具有优异的性能价格比。(2) 集成度高、体积小、可靠性高。(3) 控制功能强,开发应用方便。(4) 低电压、低功耗。1.1.4 如何学习单片机这门技术进入21世纪,16位的80C196和32位的ARM等具有更高性能的嵌入式芯片已进入了实用阶段,那么是不是现在学习51单片机就没有用武之处呢?其实不然,在大部分的工控或测控设备中,51单片机已经足够满足控制要求,加之物美价廉,且8位增强型单片机在速度和功能上向现在的16位单片机挑战,因此在未来相当长的时期内,8位单片机仍是单片机的主流机型。因此,学习51单片机,是从事控制行业一个不错的选择。下面主要介绍我们要如何学习这门课程。首先,大概了解单片机的结构,例如本书的第2章则是主要讲了单片机的内部结构以及资源。对单片机的内部结构有了初步了解之后,读者就可以进行简单的实例练习,从而加深对单片机的认识。其次,要有大量的实例练习。其实,对于单片机,主要是软件设计,也就是编程。目前最流行的用于51系列单片机的编程软件是Keil。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。第三,要多结合外围电路,如流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器进行练习,因为这样可以直观地看到程序运行的结果。当然,我们也可以用Proteus这个软件对硬件进行仿真,这样也可以直观地看到结果。在实际学习过程中,可以根据自己的项目需求去选择,从而减少了学习周期。最后,就是结合自己的实际情况,开发一个完全具有个人风格、功能完善的电子产品,尽情享受单片机带来的欢乐和成就感。同时,不必为软件、硬件基础知识不扎实而烦恼,单片机中用到的编程语言很简单,可以说主要是配置一些寄存器,不涉及太复杂的算法和语法,电子元器件也以简单应用居多,本书接下来的几章将主要介绍硬件和软件基础知识,这些对于单片机开发来说基本已经够用了。另一方面,在做单片机实验的过程中会慢慢地积累、一步步地巩固相关的基础知识,在实践中有针对性地学习肯定比纯粹地看书效果更好。所以,完全不必担心你的基础不够扎实。1.2 单片机的应用领域及趋势1.2.1 应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴。(1) 在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。(2) 在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理、电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。(3) 在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材,再到电子秤量设备,五花八门、无所不在。(4) 在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信,再到日常工作中随处可见的移动电话、集群移动通信、无线电对讲机等。(5) 单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机、各种分析仪、监护仪、超声诊断设备及病床呼叫系统等。此外,单片机在工商、金融、科研、教育、国防航空航天等领域都有着广泛的用途。1.2.2 发展趋势随着科学技术的发展,单片机正朝着高性能和多品种方向发展,将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。(1) CMOS技术。近年,由于CHMOS技术的进步,促进了单片机芯片更多地采用CMOS技术进行设计和生产。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。CMOS电路的特点是低功耗、高密度、低速度、低价格,采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)和CHMOS工艺,CHMOS和HMOS工艺的结合。目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2 ns,它的综合优势已优于TTL电路。因而,在单片机领域CMOS正在逐渐取代TTL电路。(2) 低功耗。单片机的功耗已下降许多,静态电流甚至降到1 uA以下;使用电压在3~6V之间,完全能够适应于电池工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。(3) 低电压。几乎所有的单片机都有WAIT、STOP等省电运行方式。允许使用的电压范围越来越宽,一般在3~6V范围内工作。低电压供电的单片机电源下限已可达1~2 V。目前0.8 V供电的单片机已经问世。(4) 低噪声与高可靠性。为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片机厂家在单片机内部电路中都采用了新的技术措施。(5) 大容量。以往单片机内的ROM为1 KB~4 KB,RAM为64~128 B。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,需运用新的工艺,使片内存储器大容量化。目前,单片机内ROM 最大可达64 KB,RAM最大为2 KB。(6) 高性能。主要是指进一步改变CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构和流水线技术,可以大幅度提高运行速度。现指令速度最高已达100MIPS(Million Instruction Per Seconds,即兆指令每秒),并加强了位处理、中断和定时控制功能。这类单片机的运算速度比标准的单片机高出10 倍以上。由于这类单片机有极高的指令速度,可以使用软件模拟其I/O 功能,由此引入了虚拟外设的新概念。(7) 小容量、低价格。与上述相反,以4位和8位机为中心的小容量、低价格化也是发展动向之一。这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品。(8) 外围电路内装。这也是单片机发展的主要方向。随着集成度的不断提高,可以把众多的外围功能器件集成在片内。除了一般必须具有的CPU、ROM、RAM、定时器/计数器等以外,片内集成的部件还有模/数转换器、DMA控制器、声音发生器、监视定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。(9) 串行扩展技术。在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(One Time Programble)及各种特殊类型片内程序存储器的发展,加之外围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是I2C、SPI等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。随着半导体集成工艺的不断发展,单片机的集成度将更高,体积将更小、功能将更强。在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS–51系列中的80C51内核使用权以专利互换或出售等形式转让给全世界许多著名IC 设计厂商,如Philips、NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。80C51单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。1.3 常用51单片机介绍1.3.1 Intel公司系列单片机Intel公司于1980年推出8位的高性能MCS-51系列,在工业控制领域引起不小的轰动,并迅速确立了其不可动摇的地位。MCS-51系列的产品已经发展到几十种型号,8051是最早的、最典型的产品。之后不久,Intel公司彻底开放了8051单片机的技术,引来世界上很多半导体厂商加入了开发和改造8051单片机的行列中,相继推出了以8051为基核的、具有优异性能的、各具特色的单片机。Intel的MCS-51系列单片机性能见表1-1。表1-1 MCS-51系列单片机性能1.3.2 Atmel 公司系列单片机Atmel公司生产的CMOS型51系列单片机,具有MCS-51内核,用Flash ROM代替ROM作为程序存储器,可擦除1000次以上,具有价格低、编程方便等优点,成为当今最流行的单片机。表1-2是目前最常用的单片机型号,这些单片机除了表中列出的功能外,还有一些共同的功能,都支持ISP在线编程,都有看门狗定时器。表1-2 常用ATMEL 51系列单片机1.3.3 Philips公司单片机Philips公司生产与MCS-51兼容的80C51系列单片机,片内具有总线、A/D转换器、定时监视器、CRT控制器(OSD)等丰富的外围部件。其主要产品有LPC900系列、LPC76x系列、P8xC5x系列、增强型80C51系列。以P87C552为例,它具有8 KB ROM, 256B RAM,48个I/O口,3个16位定时/计数器,15个中断源,16 MHz的工作频率,UART,通道,8路10位A/D转换器,工作电压为2.7~5.5V。Philips单片机独特的创造是具有总线,这是一种集成电路和集成电路之间的串行通信总线。可以通过总线对系统进行扩展,使单片机系统结构更简单,体积更小。总线也可以用于多机通信。1.3.4 Motorola公司单片机Motorola公司的单片机从应用角度可以分为两类:高性能的通用型单片机和面向家用消费领域的专用型单片机。通用型单片机具有代表性的是MC68HC11系列,有几十种型号。其典型产品为MC68HC11A8,具有准16位的CPU、8KBROM、256BRAM16位9功能定时器、38位I/O口线、2个串行口、8位脉冲累加器、8路8位A/D转换器、看门狗、17个中断向量等功能,可单片工作,也可以扩展方式工作。1.4 本章小结单片机即单片微型计算机,它把一台计算机所需要的部件集成在一个芯片上。单片机应用系统是以单片机为核心,配以外围电路和软件,能实现一种或多种功能的实用系统。单片机具有体积小、质量轻、价格便宜等优点,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。目前常用的8位单片机有AVR、PIC和51这三个系列,51单片机指的是以Intel 8051为内核的一系列单片机,它因为技术成熟、学习资料丰富而得到广泛应用。51系列单片机又分为标准型和增强型,增强型51系列与标准型完全兼容,并且一些功能有所增强。Intel、Atmel、Philips、Motorola等公司是51单片机的主要厂商。51单片机型号繁多,选型时应从芯片的通用性和系统的需求等方面考虑。1.5 习题1.5.1 填空题(1) 一般而言,微型计算机包括__、__、__、__四个基本组成部分。(2) 单片机是一块芯片上的微型计算机。以__为核心的硬件电路称为单片机系统,它属于__的应用范畴。(3)Atmel 公司生产的CMOS型51系列单片机,具有__内核,用__代替ROM作为程序存储器,(4) 单片机根据工作温度可分为__、__和__三种。民用级的温度范围是0℃~70℃,工业级是-40℃~85℃,军用级是-55℃~125℃(不同厂家的划分标准可能不同)。1.5.2 选择题(1) 单片机的工作电压一般为__V?A. 5 VB. 3 VC. 1 VD. 4 V(2) 单片机作为微型计算机的一种,它具有如下__特点。A. 具有优异的性能价格比B. 集成度高、体积小、可靠性高C. 控制功能强,开发应用方便D. 低电压、低功耗。(3) 民用级单片机的温度范围是:__。A.-40℃~85℃B. 0℃~70℃C.-55℃~125℃D. 0℃~50℃(4) MCS-51系列单片机最多有__个中断源A. 3B. 4C. 5D. 61.5.3 问答题(1) 单片机常用的应用领域有哪些?(2) 我们如何学习单片机这么技术?(3) 单片机从用途上可分成哪几类?分别有什么用处?1.6 答案1. 填空题(1) 运算器、控制器、存储器、输入输出接口(2) 单片机 嵌入式系统(3) MCS-51 Flash ROM(4) 民用级(商业级) 工业级 军用级2. 选择题(1) A(2) ABCD(3) B(4) C3. 问答题(略)第2章 51单片机硬件基础51系列单片机泛指以8051为内核的单片机,了解单片机的内部结构和资源是开发单片机系统的基础。读者通过本章的学习可以对51单片机的原理、组成、外部引脚及内部资源有所了解。2.1 MCS-51系列单片机简介MCS-51是指由美国Intel公司生产的一系列单片机的总称,这一系列单片机包括如8031、8051、8751、8032、8052和8752等品种,其中8051是最早、最典型的产品,该系列其他单片机都是在8051的基础上进行功能的增、减改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。Intel公司将MCS51的核心技术授权给了很多其他公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求。其中89C51就是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的。一般兼容51内核的单片机都具有以下内部资源:● 8位CPU。● 4KB掩膜ROM程序存储器。● 128B内部RAM数据存储器。● 2个16位的定时器/计数器。● 1个全双工的异步串行口。● 特殊功能寄存器区。● 4个8位并行I/O口。● 5个中断源、2级中断优先级的中断控制器。● 时钟电路,外接晶振和电容可产生1.2MHz~12MHz的时钟频率。● 1位布尔处理器。● 64KB外部数据存储器地址空间。如图2-1所示的内部结构按功能分成了以下8个组成部分,它是通过片内单一总线连接起来的。● 微处理器(CPU)。● 数据存储器(RAM)。● 程序存储器(ROM/EPROM)。● 特殊功能寄存器(SFR)。● I/O口,如图2-1中的P1,P2,P3,P0口均为I/O口。● 定时/计数器及中断系统。● 串行口。图2-1 51单片机内部结构图2.2 51系列单片机外引脚功能各型号的51单片机引脚基本相同,这里我们以ATMEL公司的AT89S52为例,介绍单片机引脚的功能。AT89S52是增强型51系列单片机。它与8051指令完全兼容,包含了基本型51的所有功能,另外还增加了定时/计数器2、看门狗等功能。它是一种低功耗、高性能CMOS8位微控制器,具有8 KB在系统可编程flash存储器,片上flash允许程序存储器在线编程,也适于常规的编程器。AT89S52具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。其中, PDIP(塑料双列直插)封装的芯片使用方便,可以灵活插拔,因此最为常用。图2-2所示为PDIP封装的AT89S52芯片引脚图。AT89S52与其他PDIP封装的51单片机芯片一样,具有40个引脚。下面介绍各引脚的功能。● VCC:电源正极,一般为+5V。● GND:电源地。图2-2 AT89S52芯片引脚图● P0:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P 0口也被作为低8位地址/数据复用。在这种模式下,P 0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。● P1:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器T2的外部计数输入(P1.0/T2)和定时器/计数器T2的触发输入(P1.1/T2EX),具体功能见表2-1。在flash编程和校验时,P1口接收低8位地址字节。表2-1 P1接口第二功能● P2:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高8位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。● P3:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL 逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,见表2-2。在flash编程和校验时,P3口也接收一些控制信号。表2-2 P3口的第二功能● RST:复位输入。晶振工作时,RST脚持续两个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。● :地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。:外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在访问外部数据存储器时, 将不被激活。/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,应该接VCC。在flash编程期间,EA也接收12 V VPP电压。● XTAL1和XTAL2:外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。2.3 80C51单片机的内部结构2.3.1 中央处理器CPU51单片机内部有一个8位的面向控制、功能强大的微处理器,其主要功能是运算和控制整个系统协调工作。它由运算器和控制器两部分组成。1. 运算器运算器主要实现对操作数的算术运算、逻辑运算和位操作,主要包括算术逻辑运算部件(ALU)、累加器A、B寄存器、暂存器、程序状态字PSW、十进制调整电路以及布尔外理器等。① 算术与逻辑部件ALU(Arithmetical Logic Unit)算术逻辑单元ALU是计算机中必不可少的数据处理单元之一,主要对数据进行算术逻辑运算。从结构上看,该单元实质是一个全加器,它的运算结果将对程序状态字PSW产生影响。该单元主要完成以下操作。● 加、减、乘、除运算。● 增量(加1)减量(减1)运算。● 十进制数调整。● 位操作中的置位、复位和取反操作。● 与、或、异或等运算操作。● 数据传送操作。② 累加器A累加器A是CPU中最繁忙、使用频度最高的一个特殊功能寄存器,简称为ACC或A寄存器,其作用为:● 累加器A作为ALU的输入数据源之一,也是ALU的输出。● CPU中的数据传送大多数都通过累加器,累加器A是一个非常重要的数据中转站。③ B寄存器B寄存器在乘法和除法指令中作为ALU输入之一。在乘法中,ALU的两个输入分别是A寄存器和B寄存器,乘积在AB寄存器对中, A存低8位,B存高8位;在除法中,被除数取自A,除数取自B,商在A中,余数在B中。其他情况下,B寄存器可以作为一个普通的寄存器使用。④ 程序状态字程序状态字PSW(Program Status Words)是一个8位的专用寄存器,用于存储程序运行中的各种状态信息。它被逐位定义,可以位寻址,其格式见表2-3。表2-3 程序状态字寄存器下面我们逐一介绍各位的用途。● CY(CarryFlag):进位标志。进行算术运算时,由硬件置位或复位,表示运算过程中,最高位是否有进位或借位的状态。进行位操作时,CY被认为是位累加器,它的作用相当于CPU中的累加器A。● AC(AuxiliaryCarryflag):辅助进位标志。进行加法或减法运算时,若低4位向高4位有进位或借位时,AC将被硬件置1,否则置0。AC位常用于十进制调整指令和压缩BCD运算等。● F0(Flag0,Availabletotheuserforgeneralpurposes):用户标志位。由用户置位或复位,可以作为一个用户自定义的状态标志。● RS1、RS0(WorkingRegisterBankandAddress):工作寄存器组选择位。通过对RS1、RS0置位、复位,选择当前工作寄存器区。● OV(Overflowflag):溢出标志位。进行算术运算时,如果产生溢出,则由硬件将OV置1,溢出为真,表示运算结果超出了目的寄存器A所能表示的有符号数范围(-128~127),否则OV清0,溢出为假。进行加减运算时,常采用双进位的状态标志来判断,双进位标志是指。若(⊕表示逻辑异或操作),表示无溢出,OV=0;若,表示有溢出,OV=1。● P(Parityflag):奇偶标志位。每个机器周期都由硬件来复位。该位用以表示累加器中为1的位数是奇数还是偶数。若累加器A中为1的位数是奇数,则P标志位置1,否则P标志位清0。在串行通信中,此标志位具有重要定义。用来传送奇偶校验权,以检验传输数据的可靠性,应用时将P置入串行帧中的奇偶校验位即可。2. 控制器控制器是控制计算机系统各种操作的部件,它包括时钟发生器、定时控制逻辑、复位电路、指令寄存器IR、指令译码器ID、程序计数器PC、程序地址寄存器、数据指针DPTR、堆栈指针SP等。其功能是控制指令的读取、译码和执行,对指令的执行过程进行定时控制,并根据执行结果决定其后的操作。① 程序计数器PC程序计数器PC(Progran Counter)是一个独立的计数寄存器,存放下一条将要从程序存储器中取出指令的地址。其基本工作过程如下:在读取指令时,程序计数器PC将其保存的内容作为所取指令的地址输出给程序存储器,然后程序存储器按此地址将1字节指令送出,同时程序计数器PC自身自动加1,指向下一条将要取出的指令或指令后续字节的地址。程序计数器PC的位数决定了CPU对程序存储器的直接寻址范围。51系列单片机的程序计数器为16位,可直接寻址。程序计数器PC的工作不完全是顺序的,因为在指令中,存在转移、子程序调用、中断调用返回等工作,程序计数器PC就不再是自动加“1”了。② 数据指针DPTR数据指针是一个16位专用寄存器,主要作用是在执行片外数据存储器或I/O端口访问时,确定访问地址,所以称为数据存储器地址指针,简称数据指针。除此之外,DPTR寄存器也可用作访问程序存储器时的基址寄存器,还可作为一个通用的16位寄存器或两个8位寄存器使用。③ 指令寄存器IR、指令译码器ID及控制逻辑指令寄存器IR是用来存放操作码的专用寄存器。指令译码器ID译码识别IR中指令的操作类型。控制逻辑从取指令开始,直至指令执行控制各部件协调工作。指令的执行分为三个阶段:取指令、分析指令和执行指令。具体步骤为:首先,进行程序存储器读操作,也就是根据程序计数器PC给出的地址从程序存储器中取出指令,送指令寄存器IR,IR输出到指令译码器ID;然后,同指令译码器对该指令进行译码。控制逻辑产生一系列控制信号,送到单片机的各部件中,控制执行这一指令,如图2-3所示。图2-3 指令寄存、译码控制逻辑图整个程序执行过程就是在控制器控制下将指令从程序存储器中逐条取出,进行译码,然后由定时控制逻辑电路发送相应的定时控制信号,控制指令的执行,执行的结果影响程序状态标志寄存器PSW的内容。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载