单片机技术(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-17 07:41:08

点击下载

作者:张涛

出版社:电子工业出版社

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

单片机技术

单片机技术试读:

前言

自20世纪80年代后期,我国的高等院校工科专业开始开设单片机课程,至今已有20多年了。这期间,在教室讲授理论,到实验室利用实验箱做实验的教学模式一直沿用至今。由于单片机技术涉及到硬件电路设计和软件设计两方面的知识和技能,学习难度较大,致使学生上课犹如听天书,过了期中多数学生就懵懵然而放弃了,入门者寥寥。如何提高单片机课程的教学质量,让更多的学生掌握单片机技术,一直是专家和教师们研究的课题和课程改革的方向。

高等职业教育作为我国的一种教育类型,注重的是学生职业技能的培养。本着这个目标,在教高[2006]16号文件的指导下,我院的单片机课程教学团队对该课程进行了持续的课程改革。一是把上课地点从教室搬到了实训室;二是引入了Proteus、Keil等仿真软件和自行制作了单片机学习板供学生操作训练;三是改革了考核方法,把终结性考核变为了过程性考核。本书就是教学改革的产物。

教学改革是一项需要长期探索的工作,教师和学生都有一个适应的过程。在教改初期,由于知识的完整性和系统性被打乱了,有的教师反映不会“讲课”了,学生反映上课“玩”得很高兴,但最后感觉“没学到”什么知识。这两种反映都是正常的,说明了我们的教学改革还处于初期阶段,教学模式、方法和手段的转变需要时间。

本书定位为单片机课程改革初期阶段的教材。它尽可能地保留了传统单片机教材知识的完整性、系统性的特点,又对单片机课程的知识点进行了取舍和重构,合理地分散到23个任务中,借助Keil、Proteus软件的编程、仿真功能,做到以任务为核心去组织知识点的学习,在硬件与程序设计中给出了比较详细的说明,不仅使学生学得会,还要使学生学得懂,在掌握技能的同时,还要具备一定的理论基础。

在实训手段上,我们提倡分三个层次。一是采用Keil、Proteus等编程、仿真软件作为入门,可降低难度和教学成本;二是采用单片机学习板,一块学习板的成本在百元左右,配置发光二极管、LED数码管、键盘、蜂鸣器和扩展接口,能够完成多数的学习任务,没有过多的接线,学生在完成软件仿真之后,将编好的程序下载到单片机芯片中运行,这就解决了脱离实际的问题;三是单片机实验箱或单片机控制对象(用单片机控制的小车机器人),它们可作为综合性的实验或课程设计使用。把这三个层次的实训手段搭配好,本着由易到难、循序渐进的原则,技能的培养问题也就迎刃而解了。

本书分为5章,共设计了23个任务和6个应用实例。第1章通过3个任务的学习,重点对单片机的概念、应用领域、发展历程与趋势及常用单片机的类型有个初步的认识,通过解剖一个典型的单片机应用电路,了解单片机应用系统的构成和设计过程。第2章通过10个任务的学习,重点掌握80C51单片机的七种寻址方式、五大类指令及四种程序结构,使学生具备初步的程序设计能力。第3章通过5个任务的学习,重点掌握80C51单片机的中断系统、定时器/计数器和串行通信三大内部资源的使用方法。第4章通过5个任务的学习,重点掌握显示器、键盘、A/D、D/A等单片机外部电路的设计方法。第5章通过6个应用实例,让学生尝试设计一些综合性的单片机应用系统,培养学生逐步具备单片机应用系统设计的职业技能,此部分也可作为课程设计的题目。

因为各院校的实际情况不同,我们对本书的使用提出如下建议。(1)建议把计算机组成原理(或微机原理)、电子电路和C语言程序设计作为先期开设的课程。(2)课程教学安排在单片机实训室或计算机机房(安装Proteus和Keil软件)或多媒体教室进行,“理论+实验”的教学模式不适合使用本教材。(3)根据单片机课程在各专业中的地位不同,建议授课课时定在60~90学时之间。作为专业核心课程,建议安排在90学时左右,如条件允许,再安排1~2周的课程设计。(4)教学过程中,建议教师先做任务的演示,再让学生讨论,最后提出任务的解决方案,从而增强学生的感性认识,让学生带着兴趣和问题去学习。合理安排知识讲授和技能训练的时间比例,建议每次集中讲授的时间不超过15min。不要在用Proteus软件绘制电路上花费太多的时间,在学生能够熟练绘制单片机最小系统后,教师只需让学生绘制任务所需部分的电路。在掌握汇编语言程序设计的基础上,适当考虑C语言程序的教学,毕竟学单片机开发主流语言是C语言,书中多数任务提供了完整的C程序,教师可指导学生学习。(5)鉴于多数学生拥有个人计算机,教师在安排作业时可适当安排设计类的作业,锻炼学生查找资料、独立完成任务的能力。建议有条件的学校,课余时间开放单片机实训室以供学生训练。

本书由张涛制订了编写大纲,给出思路和写作风格,指导全书的编写,对全书统稿,并编写了第1章,韩春贤编写了第2章和第5章的实例5.5,王盟编写了第3章、第5章的实例5.6及附录A,侯景忠编写了第4章、第5章的实例5.1~5.4及附录B、C。

在这里,对我院单片机课程教学团队的汤荣秀、李金霞、李辉、王青叶、潘磊老师对单片机课程改革做出的贡献表示感谢,对天津启诚伟业科技有限公司的大力支持表示感谢,对全国各个院校致力于单片机课程改革的老师们致以崇高的敬意!

由于编者的水平有限,书中难免存在错误,敬请广大师生、读者批评指正。(联系邮箱:ztaa2009@163.com)。

编 者

2011年12月

第1章 认识单片机

任务1.1 你了解单片机吗?

【学习目标】(1)掌握单片机的概念、特点和分类。(2)了解单片机技术的应用领域,知道单片机在智能仪表、家用电器等电子产品中的应用。(3)了解单片机的发展历程与发展趋势,知道常见单片机的生产厂商。(4)掌握Intel公司MCS-51系列单片机的型号和特点。【任务描述】

通过本次任务的学习,你不仅会亲眼看见单片机是什么样子,还要知道它的发展历程,了解身边的哪些电子产品使用了单片机,知道有哪些公司生产哪些系列和型号的单片机。怎么样,内容不少吧,立即开始吧!【相关知识点】

1.1.1 什么是单片机

家用的遥控彩电、全自动洗衣机、空调、IC卡式的电度表,都是用单片机控制的。单片机是将CPU(Central Processing Unit)、存储器(Memory)、定时器/计数器(Timer/Counter)、I/O(Input/Output)接口电路等主要部件集成在一块集成电路上的微型计算机,简称单片机(SCM,Single Chip Microcomputer),又称微控制器(MCU,Micro Controller Unit)。如图1.1所示是Atmel 89S51和Microchip PIC33FJ256单片机的外观。图1.1 两款单片机的外观

1.1.2 单片机的特点

单片机主要应用在控制领域,它有以下几个方面的优点。(1)抗干扰能力强,适应温度范围宽,在恶劣的环境下也能可靠地工作,这是通用微机不可比拟的。(2)体积小、成本低、运用灵活、易于产品化,能方便地组成各种智能化的控制设备仪器和仪表,实现机电一体化。(3)面向控制,能针对性地解决从简单到复杂的各类控制问题,产品的性价比高。(4)可以方便地实现多机和分布式控制,使整个控制系统的效率和可靠性大为提高。

1.1.3 单片机的分类

从单片机诞生到现在,它的种类繁多,产品性能各异,可从以下几个方面分类。

1.按单片机内部程序存储器分类

按此方法分类,单片机可分为片内无ROM型、片内带掩膜ROM型、片内EPROM型、片内一次可编写型(OTP,One Time Programmable)和片内带Flash型等。Flash型单片机是近几年发展的一种新型机种。

2.按指令集分类

按此方法分类,单片机可分为CISC(Complex Instruction Set Computer,复杂指令集)结构的单片机和RISC(Reduced Instruction Set Computer,精简指令集)结构的单片机两大类。

采用CISC结构的单片机,其指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,价格偏高。CISC结构的单片机有Intel 8051、8052系列,Motorola M68HC系列,Atmel AT89系列和Philips P89C5x系列等。

采用RISC结构的单片机,取指令和取数据能够同时进行,便于采用流水线操作,且大部分指令为单周期指令,其运行速度快;同时程序存储器的空间利用率高,有利于实现超小型化。RISC结构的单片机有Microchip PIC系列、三星KS57C系列4位单片机、Atmel AT90系列和Philips P89LPC90系列等。

一般在控制关系较简单的电子产品中可以采用RISC型单片机,在控制关系复杂的场合应采用CISC型单片机。

3.按构成单片机芯片的半导体工艺分类

按此方法分类,单片机可分为HMOS(High density Metal Oxide Semiconductor,高密度金属氧化物半导体)工艺和CHMOS(Complementary HMOS,互补HMOS)工艺两大类。CHMOS是CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)和HMOS的结合,除了保持HMOS的高速度和高密度之外,还有CMOS低功耗的特点,两类器件的功能是完全兼容的。采用CHMOS的器件在编号中用一个C来加以区别,如80C51,80C31等型号,都是采用CHMOS工艺制造的,而8051是采用HMOS工艺制造的。

4.按单片机字长分类

按此方法分类,单片机可分为位片机、4位机、8位机、16位机、32位机和64位机。目前应用广泛、需求量较大的是8位机和16位机。

1.1.4 单片机的应用领域

单片机的应用领域非常广泛。例如,导弹的导航装置、飞机上各种仪表、计算机网络通信与数据传输、工业自动化过程的实时控制和数据处理、广泛使用的各种智能IC卡、小轿车的安全保障系统、家用电器、医疗设备及高档电子玩具等,这些设备都离不开单片机的控制。

1.在智能仪器仪表中的应用

由于单片机具有体积小、功耗低、控制功能强、扩展灵活等优点,广泛应用于仪器仪表中,再结合不同类型的传感器,可实现对诸如频率、温度、流量、速度、角度、压力等物理量的测量。采用单片机控制的智能仪器仪表实现了数字化、智能化、微型化,且功能也更加强大。

2.在工业控制中的应用

用单片机可以构成形式多样的控制系统和数据采集系统。例如工厂流水线的智能化管理、电梯智能化控制及各种报警系统等。

3.在家用电器中的应用

现阶段的家用电器基本上都采用了单片机控制,如电饭煲、微波炉、全自动洗衣机、电冰箱、空调机、遥控彩电、音响设备、电子秤、豆浆机及电子血压计等设备。

4.在计算机网络和通信领域中的应用

单片机普遍具备通信接口,可以很方便地与计算机进行数据通信。现在的通信设备基本上都实现了单片机智能控制,如手机、电话机、小型程控交换机、楼宇自动通信呼叫系统及列车无线通信等。

5.单片机在医用设备领域中的应用

单片机在医用设备中的用途也相当广泛,如医用呼吸机、各种分析仪、监护仪、超声波诊断设备及病床呼叫系统等。

6.单片机在汽车设备领域中的应用

单片机在汽车电子中的应用非常广泛,如汽车中的发动机控制器、基于CAN总线的汽车发动机智能电子控制器、GPS导航系统、ABS防抱死系统及制动系统等。

可见,单片机在家电、工业控制、医疗、国防等诸多领域都有着广泛的应用。

1.1.5 单片机技术的发展历程

单片机技术的发展历程大致经历了以下几个阶段。

1.第一阶段(1974年~1976年):单片机的产生和初级发展阶段

1974年,美国仙童(Fairchild)公司研制出世界上第一台单片微型计算机F8。它只包含了8位CPU、64B的RAM和两个并行口,使用时还需外接ROM、定时器/计数器等芯片。随后,Mostek公司推出了3870。这一时期的单片机制造工艺落后,集成度很低。

2.第二阶段(1976年~1978年):单片机的探索阶段

1976年9月,美国Intel 公司的MCS-48系列单片机问世,它成为单片机发展史上重要的里程碑,开始了工业控制领域的智能化时代。这一系列的单片机在芯片内集成了8位CPU、并行I/O口、8位定时器/计数器、ROM和RAM等,无串行I/O口,中断处理较简单,片内RAM、ROM容量较小,且寻址范围不超过4KB。因为体积小、功能全、价格低而获得了广泛的应用,为单片机技术的发展奠定了基础。

3.第三阶段(1978年~1983年):主流低速单片机的发展阶段

1980年,Intel公司推出了功能、技术更趋完善的高档8位MCS-51系列单片机,其代表机型为8051单片机,成为市场上的主流机型。该时期的单片机存储容量和寻址范围都有所增大,运算速度也有了较快的增长;单片机内含的中断源、并行I/O、定时器/计数器的数量也有明显增加;另外还集成了全双工串行通信接口电路,有的片内还带有A/D转换接口。代表机型有Intel公司的MCS-51系列、TI公司的TMS7000系列等。

4.第四阶段(1983年以后):高档8位单片机巩固发展及16位单片机的推出阶段

这一时期,既有工艺先进、集成度高、内部功能强、运行速度快的16位单片机问世,也有高性能、多功能的新型8位单片机不断推出。

1983年,Intel公司推出了功能极强的16位MCS-96系列单片机。除CPU为16位以外,片内RAM增加到232B,ROM的容量达到8KB,片内带有高速I/O处理单元,多通道10位A/D转换部件,具有8级中断,实时处理能力更强,适合更复杂的控制系统。16位单片机的代表机型还有TI公司的TMS9900系列机,NEC公司的783XX系列,NS公司的HPC16040等。

高档8位单片机,这一时期的代表有:Intel公司的8044(双CPU2工作),Motorola公司的MC68HC11(内含EPROM和A/D转换电路),WDC公司的65C124(内含网络接口电路)等。

5.第五阶段(进入21世纪以来):单片机百花齐放发展的阶段

进入21世纪,由于科技的不断发展,人们对不同层次、不同功能的单片机的需求不断增加。低功耗、高时钟频率、抗干扰能力强等高性能兼容单片机不断问世,如TI公司的MSP430,LG公司的GMS90系列。另一方面,具备不同引脚封装形式、低工作电压、内载Flash ROM等特殊单片机也不断出现,如美国MicroChip公司的PIC 12、16、18系列8位单片机,美国Atmel公司的AVR单片机等。

读一读:实际上,占全球单片机销量60%~80%的8位单片机,仍然是当前的主流。就国内而言,使用量最大、应用范围最广泛的也是8位单片机。在8位单片机中,Intel公司的MCS-51系列单片机已成为8位单片机的主流机型。世界上生产单片机的各公司也看好MCS-51系列单片机的强劲趋势,在8位单片机的设计上纷纷向MCS-51系列单片机内核靠拢,8051内核已成为8位单片机的发展核心。荷兰Philips公司首先购买了8051内核的使用权,并在此基础上增加了具有自身2特点的 IC总线。Atmel公司用FlashROM技术与Intel公司进行技术交换,取得了80C31的使用权,生产出AT89C系列单片机。Infineon(英飞凌)公司推出的 C500系列单片机、中国台湾华邦公司生产的W78系列8位单片机等均与MCS-51系列8位单片机在指令系统和引脚功能上完全兼容。Intel公司将8051生产技术以不同形式向不同公司转让,使得以8051为内核的系列单片机大量衍生出来,满足了各个领域不同的应用要求。所以,本书仍以 MCS-51系列的80C51单片机为原型。

目前,单片机的主要生产厂家包括以下几个公司。

Intel公司:MCS-51系列,MCS-96系列。

Atmel公司:AT89系列(MCS-51内核),AT90(AVR)系列。

MicroChip公司:目前主要的单片机产品包括PIC10F、12F、16F、18F系列8位机;PIC24F、24H系列16位机;PIC32系列32位机等。

Freescale(飞思卡尔半导体,原摩托罗拉半导体部):MC68HC××系列。

NXP(恩智浦半导体,Philips公司创立):89、87、80系列(MCS-51内核)。

TI公司:MPS430系列。

1.1.6 单片机技术的发展趋势

20世纪90年代后期至今,单片机技术进入了一个新的发展阶段,将朝着CHMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。

1.CHMOS化

由于CHMOS技术的进步,且具有低功耗、高密度、高速度等特点,大大促进了单片机的CHMOS化。

2.低功耗

单片机的功耗已到mA级,甚至到1μA以下,使用电压在3~6V之间,完全适应电池工作。低功耗的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化、低电压化。目前0.8V供电的单片机已经问世。

3.大容量化

传统的单片机片内程序存储器一般为1~8KB,片内数据存储器在256B以下。在某些复杂的应用上,片内不论是程序存储器还是数据存储器容量都不能满足需求,必须采用外接方式进行扩展。而新型单片机(例如Philips P89C664)片内程序存储器可达64KB,片内数据存储器可达8KB。今后,随着制造工艺的不断发展,单片机片内存储器容量将进一步扩大。

4.单片机的高性能化

主要是指进一步提高CPU的性能,加快运算速度,并加强了位处理功能、中断、定时功能。其主频从4~12MHz向0(全静态)~40MHz以上发展。同时采用流水线结构,让指令以队列形式出现在CPU中,从而进一步提高运算速度。有的单片机基本采用了多流水线结构,这类单片机的运算速度要比标准的单片机高出10倍以上。

5.外围电路内装化

随着集成电路制造工艺的不断改进,将各种功能器件集成在片内成为可能。除了一般必须具有的CPU、ROM、RAM、定时器/计数器等外,片内还可以根据需要集成如串行口、A/D、D/A、DMA控制器、锁相环(PLL,Phase Locked Loop)、串行外围接口(SPI,Serial Peripheral Interface)、脉宽调制(PWM,Pulse Width Modulation)、看门狗计时器(WDT,Watch Dog Timer)、液晶显示(LCD,Liquid Crystal Display)驱动器等多种功能的部件。这样使得单片机的功能扩大,稳定性增强,可以为用户提供更优质的服务。

6.增强I/O口功能

为了减少外部驱动芯片,进一步增加单片机并行口的驱动能力,现在有的单片机可直接输出较大电流(20mA)和较高电压,以便直接驱动显示器。为进一步提高I/O的传输速度,有的单片机设置了高速I/O口,能以最快的速度捕捉外部数据的变化,同时以最快的速度向片外输出数据,以适应数据高速传输的场合。

1.1.7 常用单片机的类型介绍

1.Intel公司的MCS-51系列单片机

MCS-51系列单片机的品种很多,常见的MCS-51系列单片机包括下列型号。(1)8031/8051/8751。这三种单片机常称为8051子系列,它们的区别仅在于片内程序存储器不同。8051片内有4KB的掩膜ROM;8751片内有4KB的EPROM;8031片内无程序存储器,需外接EPROM2或EPROM存储芯片。(2)8032/8052/8752。它们是8031/8051/8751的改进型,常称为8052子系列。其片内ROM、RAM容量比8051子系列单片机增加一倍。另外还增加了一个定时器/计数器和一个中断源。(3)80C31/80C51/87C51。它们是采用CHMOS工艺制造的芯片,也称80C51子系列。它与8051子系列的区别在于芯片的制造工艺不同,其他方面完全兼容。它具有集成度高、速度快、功耗低等特点而被用户广泛使用。Intel公司CHMOS单片机的主要型号见表1.1。表1.1 Intel公司CHMOS单片机的主要型号

2.Atmel公司的AT89系列和AT90系列单片机(1)AT89系列。AT89系列单片机是Atmel公司的8位Flash单片机。AT89系列单片机的核心是8051,其引脚排列、定义与51系列完全一致,可以直接替换。由于其片内程序存储器使用了Flash ROM,芯片可以反复使用,因此缩短了研制周期,降低了研制成本。

AT89系列单片机的常见型号见表1.2。表1.2 AT89系列单片机的常见型号

读一读:AT89系列单片机的型号编码由三个部分组成,它们分别是前缀、型号和后缀。其格式如下。

AT89C××××—××××

其中:AT是前缀,表示Atmel公司;89C××××是型号;××××是后缀。

下面分别对这三个部分进行说明,并且对其中有关参数的表示和意义作出相应的解释。

1.前缀

前缀由字母“AT”组成,它表示该器件是Atmel公司的产品。

2.型号

型号由“89C××××”或“89LV××××”或“89S××××”等表示。(1)89C××××中,9表示内部含Flash存储器;C表示是CMOS产品。(2)89LV××××中,LV表示是低电压产品。(3)89S××××中,S表示含ISP Flash ROM。

在这个部分的××××表示器件型号,例如:51,1051,8252等。

3.后缀

后缀由“××××”这4个参数组成,每个参数的表示和意义不同。在型号与后缀部分由“-”号隔开。

后缀中的第一个参数×用于表示速度,它的意义如下。

×=12,表示速度为12MHz,

×=16,表示速度为16MHz,

×=20,表示速度为20MHz,

×=24,表示速度为24MHz,

后缀中的第二个参数×用于表示封装,它的意义如下。

×=D,陶瓷双列直插式封装。

×=J,塑料J引线芯片载体。

×=L,无引线芯片载体。

×=P,塑料双列直插(DIP)封装。

×=S,SOIC封装。

×=Q,PQFP封装。

×=A,TQFP封装。

×=W,裸芯片。

后缀中的第三个参数×用于表示温度范围,它的意义如下。

×=C,表示是商业产品,温度范围为0~+70℃。

×=I,表示是工业产品,温度范围为-40~+85℃。

×=A,表示是汽车用产品,温度范围为-40~+125℃。

×=M,表示是军用产品,温度范围为-55~+150℃。

后缀中的第四个参数×用于说明产品的处理情况,它的意义如下。

×为空,表示处理工艺是标准工艺。

×=/883,表示处理工艺采用MIL-STD-883标准。

例如,有一个单片机型号为“AT89C51-12PI”,则表示意义为,该单片机是Atmel公司的Flash单片机,内部是C51结构,速度为12MHz,封装为DIP,是工业级产品,按标准处理工艺生产。

由于AT89C51/52在性能上不支持ISP(In System Programming,在系统编程)功能,因此Atmel公司已经停止生产了该类芯片,并已用AT89S51替代。AT89S51/52是一个低功耗、高性能的CHMOS 8位单片机。AT89S51相对于AT89C51来说,增加了ISP在线编程功能,片内含4KB的ISP可反复擦写1000次的Flash ROM,下载程序时无须脱离电路板,无须使用编程器;最高工作频率为33MHz;具有双工UART串行通道;内部集成了看门狗计时器;拥有全新的加密算法,程序的保密性大大加强了,可以有效地保护知识产权不被侵犯;而且AT89S51/52向下完全兼容51的全部系列产品,因此,AT89S51/52已经成为单片机的首选机型。在任务1.2中的单片机就采用了AT89S52。由于Proteus软件中没有AT89S51/52单片机的仿真模型,所以在后面的任务中采用的是AT89C51单片机。

注意:不同型号的单片机之间在性能上有一定的差异,选用时请详细阅读使用说明书。(2)AT90系列。AT90系列单片机,就是市面上常见的AVR系列单片机。该系列单片机吸收了PIC系列单片机与51系列单片机的优点,具有精简指令集RISC结构,采用C语言编程,通过SPI口和一般编程器,就可以对Flash 存储器进行编程,有良好的性价比。AT90系列单片机目前有AT90S1200、AT90S2313、AT90S4414、AT90S8515、AT90S8535等多种型号,其性能也比AT89系列单片机优越。

3.Microchip公司的PIC(Peripheral Interface Controller)系列单片机

美国Microchip公司生产的单片机主要机型就是PIC系列单片机。它具有低功耗、体积小、片内带EPROM等优点;CPU采用RISC结构,仅33条指令,执行速度快,比同类单片机提高了5倍左右;程序存储器采用一次性编程技术OTP器件,可大大缩短开发周期。Microchip 强调节约成本的最优化设计,适于用量大、档次低、价格敏感的产品。

PIC系列单片机的主要型号包括PIC12F系列、PIC16F系列和PIC18F系列等。

4.TI公司的MSP430系列单片机

MSP430系列单片机是美国德州仪器(TI,Texas Instruments)公司于1996年推向市场的一种16位超低功耗的混合信号处理器(Mixed Signal Processor)。它针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。MSP430 系列是一个 16 位的、具有精简指令集的、超低功耗的混合型单片机,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。【任务实施】

1.在IE浏览器的地址栏,输入www.baidu.com,打开百度主页,在搜索栏中输入“单片机”一词,单击“百度一下”按钮,看看有多少关于单片机的链接。

2.按照下列网址,进入有关单片机学习、开发的网站,浏览有关的单片机信息。(1)51测试网www.51c51.com。(2)单片机爱好者www.mcufan.com。(3)中国单片机开发网www.dpjkf.com。(4)中国单片机公共实验室www.bol-system.com。(5)周立功单片机www.zlgmcu.com。(6)老古开发网www.laogu.com。(7)中国单片机培训网www.mcuchina.cn。(8)中源单片机www.zymcu.com。(9)平凡单片机工作室www.mcustudio.com。

任务1.2 解剖典型单片机应用电路

典型单片机应用电路如图1.2所示。【学习目标】(1)掌握80C51单片机的内部逻辑结构,了解单片机与通用微机的区别。(2)了解80C51单片机引脚的名称与功能。(3)掌握单片机的时钟电路和复位电路的结构组成和工作原理。(4)了解Proteus软件的基本操作,能够熟练绘制单片机的最小系统电路图。(5)能够自行分析如图1.2所示的典型单片机应用电路的结构与功能。【任务描述】

通过任务1.1的学习,已经知道了单片机其实就是一块可编程芯片,但它不可能把所需要的电路都集成到芯片中,用户还要根据自己的需求在单片机外部再扩展相关电路,如按键、显示器等,以构成一个完整的单片机应用电路。图1.2就是一个典型的单片机应用电路,它是由哪几部分功能电路构成的?各部分功能电路又是如何与单片机连接的?这就是本次任务要学习的内容。【相关知识点】

1.2.1 单片机最小系统

单片机最小系统是由单片机芯片、复位电路、时钟电路构成的电路,其核心是单片机芯片,所以掌握单片机芯片的内部结构和引脚功能是使用单片机的基础。

1.单片机的内部逻辑结构

目前,许多公司研发的单片机都是以Intel公司的MCS-51系列的单片机作为参照,并与之在系统上兼容。因此,这里仍以MCS-51系列单片机中的代表型号80C51为例来进行学习。在学习怎样使用单片机之前,必须先掌握80C51单片机的内部逻辑结构,如图1.3所示。图1.2 典型单片机应用电路图1.3 80C51单片机内部逻辑结构框图

由图1.3可知,80C51单片机由8个部分组成,它们分别是中央处理器(CPU)、内部数据存储器、内部程序存储器、中断系统、定时器/计数器、并行I/O口、串行口及时钟电路。(1)中央处理器(CPU)。它是单片机的核心部件,包含运算器和控制器两个部分,主要完成8位二进制数的算术运算、逻辑运算及控制功能。(2)内部数据存储器。类似于通用微机中的主存,用来存储可随机读写的数据。80C51单片机的内部数据存储器共有256个存储单元,其中低128个单元对用户开放,高128个单元提供给特殊功能寄存器使用。(3)内部程序存储器。主要用来存储单片机的程序、常数和数据表格。80C51单片机有4KB的掩膜ROM,在工作时,CPU从ROM中读取指令。(4)定时器/计数器。80C51单片机有两个16位的定时器/计数器,用来实现定时和计数功能。(5)中断系统。单片机通过中断来实现对程序段的优先执行,完成控制的需要。80C51单片机有5个中断源,分别是2个外部中断、2个定时器/计数器中断、1个串行中断。5个中断源拥有高、低两个优先级别。(6)并行I/O口。80C51单片机有4个8位的双向并行I/O口P0、P1、P2和P3,主要用于与外部设备之间的数据并行传输。(7)串行口。80C51单片机有1个可编程全双工串行口,用于实现单片机与其他设备之间数据的串行传输。(8)时钟电路。80C51单片机内部带有时钟振荡器,振荡频率范围为1.2~12MHz。

从这8个部分可以看出,单片机就是一台微型计算机,它将大部分部件集成到一块芯片上,其目的就是为了实现低成本控制,提高工作的可靠性。

想一想:80C51单片机的内部结构组成与常见的通用微机有何不同?

2.单片机的引脚功能

80C51单片机采用标准的40个引脚的双列直插式封装(DIP,Dual In-line Package),如图1.4所示是它的引脚图。在满足功能需要的基础上,为了尽量减少引脚的数量,一般单片机采用引脚复用技术,即部分引脚具备两种功能,来解决40个引脚不够使用的问题。图1.4 80C51单片机的引脚图

做一做:启动Proteus软件,新建一个设计文件,调出AT89C51单片机,观察其引脚。(1)工作电源引脚。

Vcc端(40):接+5V电源。

Vss端(20):接地。(2)晶振引脚。

XTAL1(19):芯片内部振荡电路输入端。

XTAL2(18):芯片内部振荡电路输出端。

这两个引脚外接的就是时钟电路。(3)并行I/O口引脚。80C51单片机有32根I/O口线,分别属于4个8位并行I/O口P0、P1、P2和P3。4个I/O口都可以用做数据的输入和输出,有的还有第二功能,其中P0口和P2口在系统扩展时可作为地址总线或数据总线使用;P3口也是一个双功能口,在使用时以第二功能为主。

① P0口:P0.0~P0.7是P0口的8位双向口线。第一功能为8位数据的基本输入/输出;第二功能是在系统扩展时,分时作为8位数据总线和低8位地址总线使用。

② P1口:P1.0~P1.7是P1口的8位双向口线,用于完成8位数据的基本输入/输出,没有第二功能。

③ P2口:P2.0~P2.7是P2口的8位双向口线。第一功能为8位数据的基本输入/输出;第二功能是在系统扩展时作为高8位地址总线使用。

④ P3口:P3.0~P3.7是P3口的8位双向口线。它是一个双功能口,即P3口的每一条口线都有不同的第二功能,具体功能见表1.3。P3口线的第二功能都是比较重要的控制信号,在实际应用中应先满足第二功能,然后用余下的口线作为数据的输入/输出使用。表1.3 P3口线的第二功能(4)控制引脚。

①(30):地址锁存使能/片内EPROM编程脉冲输入信号。ALE(Address Lock Enable)功能是在访问外部存储器时,P0口作为地址/数据复用口,ALE信号用于锁存低8位地址。当ALE信号为高电平时,P0口上的信息为低8位地址,在ALE信号的下降沿时将P0口上的低8位地址送地址锁存器锁存起来;在ALE为低电平期间,P0口上的信息为指令或数据信息,这样就实现低位地址与数据的分离。在不访问外部存储器时,该端以晶振频率的1/6的频率输出正脉冲信号,可以作为外部时钟或定时脉冲使用。功能用于EPROM型单片机(如8751)。在对EPROM进行编程时,该引脚作为编程脉冲的输入端。

② RST/V(9):复位信号/备用电源输入。RST端用于输入单PD片机的复位信号。当在该引脚上连续出现两个机器周期以上的高电平时,单片机进入复位状态,完成初始化操作。

V功能用于当电源引脚Vcc的电压突然下降或掉电时,在V端PDPD接的+5V备用电源会通过该端引入片内,以保障片内RAM的数据不会丢失,复位后可以继续工作。

③(31):访问外部程序存储器的控制信号/片内EPROM编程电源输入。当为低电平时,CPU只访问外部扩展的程序存储器;当为高电平时,CPU访问芯片内部的4KB程序存储器和片外4KB以上的程序存储单元。

V用于EPROM型单片机(如8751)编程时,该引脚加21V编程PP电压。

④(29):外部程序存储器读选通信号。在访问外部扩展的程序存储器时,当该引脚信号为低电平时,才能选通外部程序存储器并对其进行读操作。

注意:控制引脚上的第一功能和第二功能分别用于单片机的不同工作方式,所以在使用过程中不会发生矛盾。

单片机内部集成的资源是有限的,有时需要在其外部进行扩展,如数据存储器、程序存储器、I/O接口、A/D或D/A转换器等。这些外部扩展的部件需要和单片机有机地连接在一起才能正常工作。它们之间的连接是通过单片机的系统总线完成的。以80C51单片机为例,其8位数据总线由P0口(P0.0~P0.7)构成;16位地址总线由P0口外接的地址锁存器输出(构成低8位地址总线)和P2口(P2.0~P2.7,构成高8位地址总线)构成;控制总线由ALE、(P3.6)、(P3.7)、(P3.2)、(P3.3)引脚构成,如图1.5所示。图1.5 单片机系统总线的构成

3.时钟电路

时钟电路用来产生时钟信号供单片机使用,单片机再将时钟信号加工成各种它所需要的工作信号,这些工作信号之间的相互关系称为时序。单片机是一个复杂的系统,要保证这个系统的各个部件能够协调、准确、可靠地工作,全部电路应在统一的时钟信号控制下严格按照时序进行工作。

时钟信号的产生有两种方式,即内部时钟和外部时钟。(1)内部时钟电路。外部振荡器和单片机内部的时钟电路一起构成了单片机的内部时钟方式。80C51单片机内部有一个高增益反相放大器,XTAL1和XTAL2引脚分别是这个放大器的输入端和输出端。放大器与作为反馈元件的片外石英晶体振荡器或陶瓷振荡器一起构成了一个稳定的自激振荡器,其电路图如图1.6所示。其中电容C1_2和C1_3起到对频率微调的作用,电容的容量一般为5~30pF,这里定为30pF;晶振的振荡频率的选择范围为1.2~12MHz,这里定为11.0592MHz,其频率越高,则系统的时钟频率越高,单片机的运算速度越快,可以用示波器从XTAL2引脚观察到振荡器输出的脉冲波形。不同型号的单片机其工作频率不同,使用时可查产品说明书。如89S51的最高工作频率可达33MHz。

注意:振荡器产生的振荡脉冲信号经二分频之后,就是单片机的时钟信号。(2)外部时钟电路。在由多片80C51单片机组成的多机系统中,为了使各单片机之间的时钟信号同步,应当引入唯一的公用外部脉冲作为系统中各单片机的振荡脉冲信号,这就是外部时钟方式。如图1.7所示,外部振荡脉冲信号通过XTAL1端输入,把XTAL2端悬空。外部振荡脉冲信号一般为12MHz以下的方波。由于XTAL1端的逻辑电平不是TTL的,所以需要外接上拉电阻。图1.6 内部时钟振荡电路图图1.7 外部时钟信号接法

做一做:使用Proteus软件,根据如图1.6所示电路,给AT89C51单片机搭建时钟电路。

4.单片机的复位电路

复位操作可以使单片机初始化,也可以使处于死机状态下的单片机重新启动,因此非常重要。单片机的复位操作是靠外接复位电路来实现的。在时钟电路工作后,只要在单片机的复位端RST引脚上出现两个机器周期以上的高电平信号,单片机就能实现复位。

80C51单片机的内部复位电路结构如图1.8所示。由外部复位电路产生的复位信号通过RST端送给片内的施密特触发器,得到内部复位操作所需的信号。图1.8 单片机复位电路示意图(1)单片机复位后的状态。单片机在复位后进入初始状态,程序计数器PC的值为0000H,单片机将从程序存储器的0000H单元开始执行程序。单片机复位后,片内RAM中的内容不会改变,但复位操作会改变一些寄存器的值。有关寄存器复位时的初始状态见表1.4。表1.4 有关寄存器复位时的初始状态续表(2)复位电路。单片机复位方式有上电自动复位和按键手动复位两种。按键手动复位又分为按键电平复位和按键脉冲复位两种。常用的3种复位电路如图1.9所示。图1.9 3种复位电路

如图1.9(a)所示为上电自动复位电路。在单片机加电工作时,电源给电容充电,RC电路有电流通过,RST端瞬间为高电平,开始复位操作。当电容充电满时,电路上没有电流通过,RST端为低电平。选择适当的R和C的值,就能使RST端的高电平维持两个机器周期以上。

如图1.9(b)所示为手动按键电平复位电路。它的上电复位功能与图1.9(a)相同;在单片机需要复位时,按下按键,R1与R2串联分压,RST为高电平,单片机开始复位。图1.2中的复位电路就是采用这种形式,只是没有R1电阻,+5V的高电位直接加到复位端。

如图1.9(c)所示为手动按键脉冲复位电路。它的上电复位功能与图1.9(a)相同;在单片机需要复位时,按下按键,利用RC微分电路在RST端产生正脉冲信号来实现复位。

做一做:使用Proteus软件,根据如图1.9(a)所示复位电路,给AT89C51单片机搭建复位电路。

1.2.2 输入设备

单片机应用系统中的基本输入设备一般是按键开关或键盘。在图1.2中,4个按键K1~K4构成了独立式键盘。4个按键的一端分别与P1.0~P1.3口位相连,排阻J2是其上拉电阻,按键的另一端相连后接地。当某一个按键按下时,其对应口位的电平变成低电平,读入单片机的值就是逻辑0;若无按键按下,则所有口位都是高电平。

1.2.3 输出设备

在图1.2中,由8个发光二极管、4个数码管和蜂鸣器构成了该系统的输出设备。

1.发光二极管(LED,Light Emitting Diode)

发光二极管常用于电子设备的电源指示和工作状态指示。在图1.2中,8个发光二极管LED1~LED8的阳极通过一个510Ω×8的电阻排和电源(Vcc)连接,其阴极和单片机的P0口的8个口位(P0.0~P0.7)连接。当某个口位输出为低电平时,对应发光二极管点亮。另外,电阻起到限制电流的作用,改变阻值,可调节发光二极管的亮度。

2.数码管显示器

在图1.2中,四个数码管DS0~DS3,它们的段选线(a~g,dp)并接在一起,通过8个510Ω的电阻与P2口连接,它们的位选线分别与P3.4~P3.7相连,构成了4位动态数码管显示器,最多显示4位数码(后面将详细介绍数码管的使用)。

3.蜂鸣器

蜂鸣器是一种常用的电子讯响器。图1.2中的U2就是一个有源蜂鸣器,当给它加上额定工作电压时,就会发出声音。三极管Q2_1构成蜂鸣器的驱动电路,其基极通过R2_1与单片机的P1.4口位相连。当P1.4输出低电平时,三极管导通,蜂鸣器发声。注意,蜂鸣器有极性,切莫接错。

1.2.4 电源电路

在图1.2中,以稳压集成电路LM7805为核心的电路构成单片机应用系统的电源电路。它的输入电压是直流9V;二极管D0_1起到防止电源极性接错而烧毁芯片的作用;电容C0_1、C0_2和C0_3起到输入、输出端的滤波作用;发光二极管POWER是电源指示灯。

输入的直流9V电压经LM7805等元件滤波稳压成5V电压,再向其他单元电路供电。【任务实施】

1.自行分析图1.2中按键输入电路、LED输出电路、数码管输出电路等功能电路的组成及器件的型号。

2.使用Proteus软件,按照附录A中图A.14所示的电路搭建一个单片机应用电路,进一步熟悉Proteus软件的使用方法。

3.在Proteus软件中,将教师提供的测试程序下载到单片机中,启动仿真,观察电路能否正确运行。

任务1.3 如何设计单片机应用系统

【学习目标】(1)掌握单片机应用系统的设计步骤和主要工作内容。(2)熟悉Keil μVision和ispdown软件的基本操作。(3)通过实例,了解单片机应用系统的开发过程。【任务描述】

通过对任务1.2的学习,对单片机的内部结构和单片机应用电路的结构组成有了一定的认识。由单片机构成的应用系统的开发设计包括硬件电路设计和软件设计两个部分。本次任务,通过一个单片机学习板的设计过程,让大家理解单片机应用系统的硬件、软件的开发设计过程。【相关知识点】

1.3.1 单片机应用系统的设计步骤

单片机应用系统是指以单片机为核心,配以一定的外围电路和软件,能实现某种或几种功能的应用系统。单片机应用系统的设计包括硬件设计和软件设计两大部分。一般来说,不同的应用系统,其相应的硬件和软件也不同。设计一个单片机应用系统,一般分为4个步骤。

1.总体设计阶段

总体设计阶段包括需求分析和方案论证。需求分析和方案论证是单片机应用系统设计工作的开始,也是基础工作。只有经过深入细致的需求分析和周密而科学的方案论证,才能使系统设计工作顺利完成。

需求分析的内容主要包括:被测控参数的形式(电量、非电量、模拟量、数字量等)、被测控参数的范围、性能指标、系统功能、工作环境、显示、报警及打印要求等。

方案论证是根据用户的要求,设计符合现场条件的软、硬件方案。

2.软件和硬件实现阶段

方案确定后可设计制作相应的硬件电路。在设计硬件电路时要考虑元器件的驱动及带负载能力,有时还要考虑系统的扩展性。在制作印制电路板时,要考虑以下因素:模拟电路、数字电路、高频电路、低频电路、高压电路、低压电路的布线规则和方法;印制电路板的导线宽度及所能承受的电压和电流;抗干扰能力等。

硬件电路设计好后,就可以进行软件的设计与调试了。软件的设计在单片机编程软件中进行,如使用Keil μVision软件等。

3.系统的性能测定

程序设计完成后需要进行调试。程序的调试包括软件模拟仿真调试及硬件仿真调试。在Keil μVision中可进行模拟仿真调试。模拟仿真调试主要是检查汇编语言或C语言程序的语法是否正确及程序的执行是否符合要求。

硬件仿真调试是借助于单片机的实时在线开发仿真器等硬件设备对用户的目标程序进行联机运行调试,从而发现程序中的错误并将其改正。常用的实时在线仿真器有伟福、TKS-52S 等仿真器。硬件仿真可进行实时联机调试,可真实地模拟被开发的单片机系统,为软、硬件的综合调试提供了很大方便。

程序通过软、硬件调试后,需将程序的目标文件下载到单片机的程序存储器中。程序下载是指利用编程器(也称烧写器或固化器)或下载线将调试好后生成的.HEX或.bin目标文件写入单片机的EPROM或Flash ROM中,以便单片机能独立运行。

程序的目标文件固化到单片机中后,就可对应用系统进行运行测试,直到满足用户的需求。

4.文档编制阶段

文档不仅是设计工作的结果,也是以后使用、维修及进一步再设计的依据。文档包括任务描述、设计的指导思想及设计方案论证、性能测定及现场使用报告与说明、使用指南、软件资料(流程图、地址分配、子程序使用说明、程序清单)和硬件资料(电路原理图、PCB板图)等。

1.3.2 单片机应用系统的设计举例

1.设计题目

为了方便大家学习单片机技术,这里设计一款单片机学习板。利用该学习板,可以学习汇编语言指令的使用、单片机程序设计的方法和常用接口电路的使用等。

2.设计任务分析

根据设计题目要求,在学习板上的资源包括以下几部分。(1)1块具有ISP功能的高性能单片机。(2)4个功能按键,构成系统的输入单元。(3)8个LED,4个LED数码管,1个蜂鸣器,构成系统的输出单元。(4)预留单片机芯片引脚扩展插座,方便单片机扩展功能的学习。(5)采用外接9V直流电源,经学习板上电源电路稳压滤波后输出+5V电压为学习板上各功能单元供电。

3.硬件电路设计

根据设计任务分析,电路设计中应包括控制单元(单片机电路)、输入单元、输出单元及外围电路模块(如电源电路),如图1.2所示。具体的电路组成和功能分析如下所述。(1)单片机的选型。采用Atmel公司出品的AT89S52单片机,它是一款低功耗、高性能的CHMOS 8位单片机,具有8KB ISP Flash ROM,利用下载线可直接将编好的程序下载到单片机中,且可反复擦写超过1000次,省去了编程器,降低了成本,非常适合初学者使用。

时钟电路:在单片机的18、19两个引脚外接2个30pF的电容和1个11.0592MHz的石英晶体振荡器,构成时钟电路。

复位电路:单片机9引脚外接的电解电容C1_4(10μF)、电阻R1_1(4.7kΩ)和按键开关SW1_1构成了单片机复位电路,具有电源上电自动复位和按键手动复位两种复位功能。(2)输入单元。4个按键K1~K4、电阻排J2(10kΩ×4)构成了独立式键盘。4个按键的一端分别与P1.0~P1.3口位相连,电阻排是其上拉电阻,按键的另一端相连后接地。当某一个按键按下时,输入单片机的对应口位为低电平;若无按键按下,则所有口位都是高电平。(3)输出单元。8个发光二极管LED1~LED8的阳极通过一个510Ω×8的电阻排和电源(Vcc)连接,其阴极和单片机的P0口的8个口位(P0.0~P0.7)连接。当某个口位输出为低电平时,对应发光二极管点亮。

4个数码管DS0~DS3,它们的8根段选线(a~g,dp)并接在一起,通过8个510Ω的电阻与P2口连接;它们的位选线分别与P3.4~P3.7相连,构成了4位动态数码管显示器,用来显示4位数码。

由三极管Q2_1、电阻R2_1、R2_2和蜂鸣器U2构成蜂鸣器讯响电路。三极管的基极通过R2_1与单片机的P1.4口位相连,当P1.4输出低电平时,三极管导通,蜂鸣器发声。(4)外围电路。由稳压集成电路7805、二极管D0_1、C0_1、C0_2、C0_3、R0_1和发光二极管POWER构成电源电路。从插座J0_1输入的直流+9V电压经电源电路滤波稳压后输出+5V电压,再向其他单元电路供电。

插座JP0把单片机的部分引脚向外引出,以便于扩展。

插座ISP DOWN用来连接下载线,把编好的程序直接下载到单片机的Flash ROM中。

硬件电路设计完毕后,设计并制作印制电路板(PCB),在PCB板上焊接元器件,至此完成了硬件电路的设计和制作任务,下面就可以编制程序了。

4.程序设计与调试

利用该单片机学习板,可以完成许多任务,任务不同,其程序就不同。下面就编写一个比较简单的应用程序,来了解程序的编写、调试和运行的过程。【例1.1】编写程序,实现发光二极管LED1、LED3、LED5、LED7与LED2、LED4、LED6、LED8交替点亮。(1)编程思路。因为8个发光二极管分别接到了P0口的P0.0~P0.7,要想让某个二极管发光,只需让对应口位输出低电平,即 P0.0、P0.2、P0.4、P0.6输出低电平,则 LED1、LED3、LED5、LED7点亮;P0.1、P0.3、P0.5、P0.7输出高电平,则LED2、LED4、LED6、LED8熄灭。

实现两组发光二极管交替点亮,可采用延时的办法产生停顿的效果。(2)绘制程序流程图和编写程序。

① 程序流程图。程序流程图如图1.10所示。

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载