本书系统、全面地介绍了80C51单片机的基本原理、硬件结构、指令系统,并从应用的角度介绍了汇编语言程序设计、单片机外部电路的扩展,以及与键盘、LED显示、LCD显示、打印机等多种硬件接口的设计方法,详细介绍了串行、并行接口的A/D、D/A转换器功能特点和典型应用,以及单片机应用系统设计、Proteus仿真、实验和课程设计等内容。本书结构完整,内容丰富,应用实例详实,实验内容精炼。本书配有电子课件等教学资源。
朱兆优,1989年大学毕业留校后,一直从事实验、理论教学、科研和管理工作;兼任全国应用型人才培养工程综合技能大赛组委会专家成员;全国高校毕业生就业协会校企合作委员会专家成员;全国信息技术应用水平大赛STC单片机系统设计竞赛委员会专家成员,出版单片机原理与应用、智能设计原理与设计,以及电子电路设计技术等著作。
前 言
自1972年Intel公司推出第一款微处理器以来,计算机技术遵循着摩尔定律,以每18个月为一个周期微处理器性能提高一倍、价格降低一半的速度快步向前发展。以微处理器为核心的微型计算机在最近20年中发生了巨大的变化,经历了从8088/8086到286、386、486、586、PⅡ、PⅢ等系列众多CPU的飞跃。计算机对整个社会进步的影响有目共睹,其应用面的迅速拓宽,对个人与社会多方面的渗透,表明计算机技术已不再是深踞于高层次科技领域里的宠儿,它已经深入到社会活动的一切领域之中,闯进了平常百姓的生活里,使人们跨入信息时代、数字时代。
随着电子技术的发展和近代超大规模集成电路的出现,通过对计算机的功能部件进行剪裁及优化,将CPU、程序存储器(ROM)、数据存储器(RAM)、并行I/O口(PIO)、串行I/O口(SIO)、定时/计数器(CTC)及中断控制器(ICU)等基本部件集成在一块芯片中,制成了单芯片微型计算机(Single Chip Microcomputer),简称单片机,又称为微控制器(Micro Controller Unit,MCU)。由于它能嵌入到某个电路或电子产品设备中,也称为嵌入式控制器(Embedded Controller)。要把前面提到的众多功能集合在一起,在过去需要具备专门的知识,采用很多电路组建成一个电子系统来实现。而今却简化成只需选择一片合适的单片机,并对其已有的功能、指标、参数及引脚进行合理的使用即可完成。单片机与可编程逻辑器件相结合,构成了新一代电子工程应用技术。
20世纪90年代,单片机在我国迅速普及。在电子技术日新月异的今天,在人们的生活里,到处都可以看到单片机的具体应用。单片机可以嵌入到各种电子产品之中,成为机电产品的核心部件,控制着各种产品的工作。随着大规模集成电路的发展,单片机已从过去的单一品种,发展成为多品种、多系列机型,其内部结构从过去的基本部件发展到集成有A/D、D/A、监控定时器(WDT)、通信控制器(CCU)、脉宽调制器(PWM)、浮点运算器(FPU)、模糊控制器(FCU)、数字信号处理器(DSP),具有I2C、SPI、ISP等众多特殊功能的部件,成为功能越来越强的增强型、高档型单片机。由于单片机具有功能强、体积小、功耗低、成本低、裸机编程、软件代码少、工作可靠、自动化程度高、实时响应速度快、使用方便等特点,因此被广泛应用于工业制造、过程控制、数据采集、通信、智能化仪器仪表、汽车、船舶、航空航天、军工及消费类电子产品中。
由单片机作为主控制器的全自动洗衣机、高档电风扇、电子厨具、变频空调、遥控彩电、摄像机、VCD/DVD机、组合音响、电子琴等产品早已进入了人们的生活。从家用消费类电器到复印机、打印机、扫描仪、传真机等办公自动化产品,从智能仪表、工业测控装置到CT、MRI、γ刀等医疗设备,从数码相机、摄录一体机到航天技术、导航设备、现代军事装备,从形形色色的电子货币(如电话卡、水电气卡)到身份识别卡、门禁控制卡、档案管理卡以及相关读/写卡终端机等,都有单片机在其中扮演重要角色。因此有人说单片机“无处不在,无所不能”。
现今,炙手可热的“三网”(即电信网、有线电视网、国际互联网)融合产品、物联科技已开始兴起。在汽车中普遍都需要有30多个单片机用于其中的空调、音响、仪表盘、自动窗、遥控门、自控前后盖、空气质量监测、反射镜角度调整、自动灭火、防盗报警等的控制,协调控制着发动机、传动器、制动器、安全气囊、车载全球定位系统(GPS)等有条不紊地工作。此外,还有工业自动化控制和军事科技等。这些领域的应用开发都还存在很多技术问题尚要解决,这正是电子技术人员可以大展拳脚的领域。
从学习的角度,单片机作为一个完整的数字处理系统,具备了构成计算机的主要单元部件,在这个意义上称为单片微机并不过分。通过学习和应用单片机进入计算机硬件设计之门,可达到事半功倍的效果。学习单片机建议要从汇编语言学起,从内核做起,把低层做实,以便能更加深入地理解单片机嵌入式系统的工作原理、体系结构,很好地解决内核接口和底层驱动设计,实际应用时可选用C语言编程。学好汇编可轻松过渡到C语言编程。
从应用的角度,单片机是一片大规模集成电路,可自成一体,对于其他微处理器所需的大量外部器件的连接都在单片机内部完成,各种信息传递的时序关系变得非常简单,易于理解和接受。用单片机实现某个特定的控制功能十分方便。
从设计思想的角度,单片机的应用意味着“从以硬件电路设计为主的传统设计方法向以软件设计为主、对单片机内部资源及外部引脚功能加以利用的设计方法的转变”,从而使硬件成本大大降低,设计工作灵活多样。往往只需改动部分程序,就可以增加产品功能,提高产品性能。
单片机技术的功效神奇,有时也给人一种神秘莫测、难于驾驭之感。究其原因,很多初学者不太重视实践,缺乏行之有效的经验总结,缺乏将分散的实践经验上升到知识的理解层面。其实,如果从应用的角度来看,单片机既不神秘,也不难驾驭。单片机课程是一门实践性、综合性、应用性很强的课程,初学者应树立在学中“做”,在做中“学”的思想。先学习单片机硬件结构、存储结构、指令系统及中断系统,然后不断地进行编程练习,通过实验提升技能,加深理解,结合单片机最小系统板或开发板等实物进行硬件编程控制,提高动手能力。如此循序渐进、举一反三,才会有“登堂入室”之感,才能逐步将单片机应用于各种场合中以解决实际问题。
总之,单片机不同于通用微型计算机,它能够灵活嵌入到各类电子产品中,使产品具备智能化和“傻瓜”式操作功能,已经成为电子自动化技术的核心基础,而宏晶科技公司推出的增强型、高性能STC系列单片机无疑是8051内核中最卓越的一款单片机之一。因此,学习单片机和学会STC系列单片机的技术应用非常有必要。
由于目前的单片机教材大多是沿用20世纪80年代的内容,使用的芯片(如8031)过于陈旧,很多学生学完单片机课程后,到工作单位从事实际的单片机系统设计时总感觉学无所用,而且脱离实际。现在,单片机的应用已真正步入“单片”时代。单片机内部集成的功能部件越来越多,功能越来越强,对单片机应用系统的设计已很少采用外部的并行总线扩展RAM和ROM,而是采用选择包含不同存储容量的单片机。即使是需要扩展外部RAM存储器,也往往会选用串行I2C、SPI总线扩展技术。对I/O口的扩展也不再使用8255或8155这样的芯片,而是选择具有不同引脚封装的单片机。当需要的I/O口少时,可以选择封装引脚少的单片机(最少的只有8个引脚,含6个I/O口引脚);若需要的I/O口较多时,可以选择引脚封装多的单片机(最多的有上百个引脚)。很多单片机内部都集成有8位或10位的中低精度的A/D、D/A转换器。因此,在精度要求不高的场合,完全可以选用片内带有A/D、D/A转换器的单片机。只有在要求高精度(12位以上)、高速采样的场合,才需要选用扩展外部串行或并行接口的A/D、D/A转换器,这样可以大大降低成本,减小产品体积。基于上述原因,本书在编写过程中,对原有的单片机教材做了较大的改良,尽量将那些在实际应用中很少见的或已经淘汰的芯片不写入教材,而将实际应用中比较流行的技术吸收进来,形成具有特色的教材,力求做到与市场接轨,与现实同步。为了帮助读者更快地进入单片机应用领域,本书附有实验和课程设计实例。
全书共15章。第1章是单片机概述,介绍单片机的发展历程、应用领域和各种常用的低功耗单片机、增强型单片机的性能特点,介绍STC系列单片机的选型;第2章介绍8051单片机的体系结构、内部主要部件的功能,以及存储器结构与编址范围;第3章介绍8051单片机指令系统和指令的使用方法;第4章介绍8051单片机程序结构和设计方法;第5~7章介绍8051单片机中断系统结构、中断控制、编程和串行口使用方法;第8章以STC15Fxx系列单片机为例,介绍增强型单片机新增功能部件的使用方法;第9章介绍单片机系统的扩展,重点介绍串行总线扩展技术,精简了并行总线扩展内容;第10章介绍单片机与键盘、数码显示、液晶显示、打印机的接口形式和编程方法;第11章介绍A/D、D/A转换器性能指标、芯片选型,着重介绍了串行A/D、D/A转换器的接口使用方法;第12章介绍C51在单片机中的编程方法,以及混合编程的具体运用;第13章介绍单片机应用系统结构和设计方法;第14~15章以单片机应用实验为主,介绍了使用Proteus进行单片机仿真和应用单片机设计实验开发板,并精选了9个实验项目,在单片机实验开发板上完成软件编程调试。
本书可作为高等院校相关专业单片机课程的教材,也可供电子技术、计算机应用方面的工程技术人员阅读、参考。本书涉及的内容较多,参考教学学时为60~80学时,授课教师可参照下表并使用本书配套资源完成教学任务。
教 学 内 容 学 时
第1章 单片机概述 2
第2章 8051单片机体系结构 6
第3章 8051单片机指令系统 6
第4章 单片机汇编语言程序设计 6
第5章 8051单片机的中断系统 4
第6章 8051单片机定时器/计数器及其应用 4
第7章 8051单片机串行口及其应用 4
第8章 STC15系列单片机技术应用 6
第9章 单片机系统的扩展 6
第10章 单片机与键盘、显示器、打印机的接口设计 6
第11章 单片机与A/D、D/A转换器的接口 6
第12章 单片机C51程序设计 2
第13章 单片机应用系统设计 2
第14章 Proteus电路设计与仿真技术 2
第15章 单片机实验与指导 20
由于各学校教学计划和生源素质有所不同,授课教师可以根据具体情况适当调整教学内容、学时分配。为配合教学,各章配有练习与思考题。
本书配有PPT、程序源代码、课程设计指导书(带温度计的电子钟设计、可控波形发生器设计、LED点阵显示设计、可控流动灯设计等4个设计实例)等教学资源。