第一章单片机系统硬件基础doc.docx

上传人:b****9 文档编号:28614674 上传时间:2023-07-19 格式:DOCX 页数:29 大小:227.62KB
下载 相关 举报
第一章单片机系统硬件基础doc.docx_第1页
第1页 / 共29页
第一章单片机系统硬件基础doc.docx_第2页
第2页 / 共29页
第一章单片机系统硬件基础doc.docx_第3页
第3页 / 共29页
第一章单片机系统硬件基础doc.docx_第4页
第4页 / 共29页
第一章单片机系统硬件基础doc.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

第一章单片机系统硬件基础doc.docx

《第一章单片机系统硬件基础doc.docx》由会员分享,可在线阅读,更多相关《第一章单片机系统硬件基础doc.docx(29页珍藏版)》请在冰豆网上搜索。

第一章单片机系统硬件基础doc.docx

第一章单片机系统硬件基础doc

第1章单片机系统硬件基础

本章主要了解单片机的基本概念、应用领域、单片机的最小系统以及其硬件资源,重点学习和掌握单片机的外部接口和内部硬件资源,如单片机的引脚排列,内部寄存器功能等。

本章共有5个小节,分基本了解、认真学习和掌握三个阶段,学习过程由浅入深,循序渐进,为单片机系统设计奠定良好的硬件基础。

1.1了解单片机

1.1.1单片机的基本概念

计算机系统的硬件是由CPU、内存、内部功能单元和I/O接口电路等部分组成,每一部分至少需要一片集成电路构成,如图1-1-1所示。

单片机是微型计算机的一个分支,它与计算机系统的主要区别在于其结构、组成以及应用领域不同。

图1-1-1微型计算机系统组成示意图

单片机就是单片微型计算机(MonolithicMicrocomputer或SingleChipMicrocomputer)的简称,是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU、随机存取存储器RAM、只读存储器ROM、基本输入/输出(Input/Output)接口电路、定时/计数器、中断控制、系统时钟及系统总线等部件都集成在一块芯片上,构成一个完整的微型计算机,从而实现微型计算机的基本功能。

单片机内部结构示意图如图1-1-2所示。

图1-1-2单片机内部结构示意图

单片机实质上是一个芯片。

在实际应用中,通常很难将单片机直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件以及软件,才能构成一个单片机应用系统。

图1-1-3是一个由单片机设计的校园自动打铃定时器系统。

由于单片机在自动控制中应用得十分广泛,因此国外文献中一般都称为微控制器(MicrocontrollerUnit),简称MCU。

图1-1-3校园自动打铃定时器

单片机把微型计算机的主要部件都集成在一块芯片上,使得数据传送距离大大缩短,可靠性更高,运行速度更块。

由于单片机属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达到最优化,抗干扰能力加强,工作亦相对稳定。

因此,在工业测控系统中,使用单片机是最理想的选择。

单片机属于典型的嵌入式系统,所以它是低端控制系统的最佳选择。

1.1.2单片机的发展过程

单片机的出现主要是针对工业自动化生产与控制领域,单片机的设计是基于一个芯片上的计算机部件的集成化。

1976~1978年为低性能单片机阶段,最具有代表性的单片机是Intel公司于1976年开发的MCS-48系列单片机,它采用了单片结构,在一块芯片内含有8位CPU、定时/计数器、并行I/O口、RAM和ROM等。

早期的单片机字长大多是8位或4位。

随着单片机应用范围不断扩大和电子技术的不断提高,Intel公司于1980年开发出MCS-51系列单片机,这一类单片机带有串行I/O口,8位数据线、16位地址线—寻址范围可达64KB、控制总线以及较丰富的指令系统等。

Intel公司还在上世纪80年代后期推出了实时处理能力更强的16位单片机。

单片机的应用不仅仅只局限于自动控制领域。

进入上世纪九十年代后,高性能单片机的嵌入功能在日常消费电子产品也得到了广泛的应用。

如Inteli960系列以及后来ARM公司的单片机系列,32位单片机迅速取代了16位单片机的高端地位,并且进入主流市场,形成一个独立的嵌入式结构体系。

目前,高端的32位单片机的主频已经超过300MHz,性能接近90年代中期的专用处理器,而且一些作为掌上电脑和手机使用的核心处理单片机可以直接运行专用的Windows和Linux操作系统。

使用单片机开发的应用系统具有体积小、成本低、使用灵活、性能好、易于产品化等特点,并且有强大的面向控制能力,使它在工业控制、机电一体化、智能仪表、计算机外围设备、家用电器、机器人、军事设备等方面得到了日益广泛的应用。

1.1.351系列单片机简介

Intel公司的MCS-51系列是一种典型的8位单片机,并具有完善的结构和优越的性能,以及较高的性价比和较低的开发环境要求。

因此,后来很多厂商或公司沿用或参考了Intel公司的MCS-51内核,相继开发出了自己的单片机产品,如PHILIPS、Dallas、ATMEL等公司。

MCS-51系列单片机有8031、8051以及8751几个型号,其他公司生产的基于该内核单片机型号很多,因此习惯上把采用MCS-51内核的单片机统称为51或C51系列单片机。

PHILIPS公司主要是在MCS-51基础上进行单片机的性能改善,增加了高速I/O口,A/D转换器,PWM(脉宽调制)、WDT等增强功能,并将低电压、微功耗、扩展串行总线(I2C)和控制网络总线(CAN)等功能加以完善,有低功耗,高速度和功能增强型等多种产品。

ATMEL公司推出的AT89Cxx系列兼容单片机,采用MCS-51的总体结构和指令系统,完美地将Flash(非易失闪存技术)、EEPROM与80C51内核结合起来,Flash的可反擦写程序存储器能有效降低开发费用,并能使单片机作多次重复使用。

电子园51单片机学习网

h'D4v_R3J_n&J

 

 SIEMENS公司也沿用MCS-51的内核,相继推出了C500系列单片机,在保持了与MCS-51指令兼容的前提下,其产品的性能得到了进一步的提升,特别是在抗干扰性能上,电磁兼容和通信控制总线功能上独树一帜。

其产品常用于工作环境恶劣的场合,亦适用于通信和家用电器控制领域。

51单片机是世界产量最大且应用最广泛的产品。

我国的台湾WINBOND公司也有自己的51单片机产品种类,表1-1-1为常用的51单片机型号。

由于其在性能价格比上占有很大优势,在未来相当长的时期内,MCS-51系列及其兼容的51单片机系列仍是电子产品开发与应用领域的主流器件。

表1-1-1为常用的51单片机型号

公司

单片机

ATMEL

AT89Cxx系列、AT89Sxx系列、AT89C20系列等

WINBOND(华邦)

W78系列,W77系列(双串口增强型51系列)

STC

STC10Cxx系列,STC12Cxx系列,STC89Cxx系列等

1.1.4单片机的应用

单片机芯片级计算机系统,具有数据运算和处理的能力,使用单片机能够实现电路控制功能。

单片机系统也是最典型的嵌入式系统,它可以嵌入到很多电子设备的电路系统中,实现智能化检测和控制。

工业自动化控制是最早采用单片机控制的领域之一。

单片机结合不同类型的传感器,可实现电信号、湿度、温度、流量、压力、速度和位移等物理量的测量。

在测控系统、工业生产机器人的过程控制、医疗、机电一体化设备和仪器仪表中有着广泛的应用。

单片机系统具有体积小、功耗低、扩展灵活、微型化和使用方便等优点,在家用电器方面也有着广泛应用。

单片机系统能够完成电子系统的输入和自动操作,非常适合于对家用电器的智能控制。

嵌入单片机的家用电器实现了智能化,是传统型家用电器的更新换代,现已广泛应用于全自动洗衣机、空调、电视机、微波炉、电冰箱以及各种视听设备中。

另外,集中显示系统、动力监测控制系统、自动驾驶系统、通信系统和运行监视各种仪表等装置中都离不开单片机。

单片机在机器人、汽车、航空航天、军事等领域也有广泛的应用。

1.2单片机内部结构

实际应用中的单片机有很多种类型,不同公司生产的单片机在组成、特性和指令系统等方面各不相同,甚至同一公司生产的不同系列的单片机产品也互不兼容。

在51系列不同类型的单片机中,大都是在MCS-51架构基础上增加或增强了个别的功能,其基本结构大同小异。

如果熟练掌握了51单片机结构,再去了解其他单片机就会容易得多。

51单片机内部可以划分为CPU、RAM、ROM/EPROM、并行口、串行口、定时/计数器、中断系统及特殊功能寄存器(SFR)等8个主要组成部分,如图1-2-1所示。

这些部件通过片内的单一总线相连,采用CPU加外围芯片的结构模式。

各个功能单元都采用特殊功能寄存器集中控制的方式。

下面简要介绍各个部件的主要功能。

图1-2-1MCS-51架构

1.2.1中央处理器(CPU)

中央处理器是单片机的核心,主要功能是产生各种控制信号,根据程序中每一条指令的具体功能,控制寄存器和输入/输出端口的数据传送,进行数据的算术运算、逻辑运算以及位操作等处理。

MCS-51系列单片机的CPU字长是8位,能处理8位二进制数或代码,也可处理一位二进制数据。

单片机的CPU从功能上一般可以分为运算器和控制器两部分。

一、控制器

控制器由程序计数器PC、指令寄存器、指令译码器、定时控制与条件转移逻辑电路等组成。

其功能是对来自存储器中的指令进行译码,通过定时电路,在规定的时刻发出各种操作所需的全部内部和外部的控制信号,使各部分协调工作,完成指令所规定的功能。

各部分功能部件简述如下。

(1)程序计数器PC(ProgramCounter)

程序计数器是一个16位的专用寄存器,用来存放下一条指令的地址,具有自动加1的功能。

当CPU要取指令时,PC的内容送地址总线上,从存储器中去取出一个指令码后,PC内容自动加1,指向下一个指令码,以保证程序按顺序执行。

PC是用来指示程序的执行位置,在顺序执行程序时,单片机每执行一条指令,PC就自动加1,以指示出下一条要取的指令的存储单元的16位地址。

也就是说,CPU总是把PC的内容作为地址,根据该地址从存储器中取出指令码或包含在指令中的操作数。

因此,每当取完一个字节后,PC的内容自动加1,为取下一个字节做好准备。

由于51系列单片机的寻址范围为64K,所以,PC中数据的编码范围为0000H~FFFFH,共64K。

单片机上电或复位时,PC自动清0,即装入地址0000H,这就保证了单片机上电或复位后,程序从0000H地址开始执行。

(2)指令寄存器IR(InstructionRegister)

指令寄存器是一个8位寄存器用于暂存待执行的指令,等待译码。

(3)暂存器TMP

用于暂存进入运算器之前的数据。

(4)指令译码器ID(InstructionDecoder)

指令译码器是对指令寄存器中的指令进行译码,将指令变为执行此指令所需要的电信号。

根据译码器的输出信号,再经定时电路定时产生执行该指令所需要的各种控制信号。

(5)数据指针DPTR(DataPointer)

数据指针是一个16位的专用地址指针寄存器,主要用来存放16位地址,作间址寄存器,访问片外64K字节的数据存储器和I/O端口及程序存储器。

由两个独立的特殊功能寄存器组成,分别为DPH(高8位)和DPL(低8位),占据83H和82H两个地址。

DPTR与PC不同,DPTR有自己的地址,可以进行读写操作,而PC没有地址,不能对它进行读写操作,但可以通过转移、调用、返回编程操作改变其内容,从而实现程序的转移。

二、运算器

运算器主要进行算术和逻辑运算。

运算器由算术逻辑单元ALU、累加器ACC、程序状态字PSW、BCD码运算电路、通用寄存器B和一些专用寄存器及位处理逻辑电路等组成。

(1)算术逻辑单元ALU(ArithmeticLogicUnit)

ALU由加法器和其他逻辑电路等组成,完成数据的算术逻辑运算、循环移位、位操作等,参加运算的两个操作数,一个由A通过暂存器2提供,另外一个由暂存器1提供,运算结果送回A,状态送PSW。

(2)累加器ACC(Accumulator)

累加器是一个8位特殊功能寄存器,简称A,通过暂存器与ALU传送信息,用来存放一个操作数或中间结果。

(3)程序状态字PSW(ProgramStatusWord)

PSW也是一个8位的特殊功能寄存器,用于存储程序运行过程中的各种状态信息。

(4)其他部件

暂存器用来存放中间结果,B寄存器用于乘法和除法时,提供一个操作数,对于其他指令,只用作暂存器。

(5)位处理器

单片机能处理布尔操作数,能对位地址空间中的位直接寻址,进行清零、取反等操作,这种功能提供了把逻辑式(随机组合逻辑)直接变为软件的简单明了的方法,不需要过多的数据传送、字节屏蔽和测试分支,就能实现复杂的组合逻辑功能。

位处理器是单片机的一个特殊组成部分,具有相应的指令系统,可提供17条位操作指令。

硬件上有自己的“累加器”和自己的位寻址RAM、I/O口空间,是一个独立的位处理器,位处理器和8位处理器形成完美的组合。

1.2.2存储器

单片机内部包含随机存取存储器RAM和程序存储器ROM,RAM用于保存单片机运行的中间数据;单片机的ROM不只是用来装载程序,增强51系列也可以在单片机运行过程中利用程序把数据存贮在ROM的部分空间内。

51系列单片机在系统结构上采用哈佛结构(Harvardarchitecture),即程序存储器和数据存储器的寻址空间是分开管理的。

它共有4个物理上独立的存储器空间,即内部和外部程序存储器及内部和外部数据存储器。

从用户的角度看,单片机的存储器逻辑上分为三个存储空间,见图1-2-2所示,即统一编址的64KB的程序存储器地址空间(包括片内ROM和外部扩展ROM),地址从0000H—FFFFH;256B的片内数据存储地址空间(包括128B的片内RAM和特殊功能寄存器的地址空间);64KB的外部扩展的数据存储器地址空间。

图中

是单片机的程序扩展控制引脚。

一、单片机的RAM

51单片机芯片中共有256个字节的RAM单元,但其中128个字节被专用寄存器占用,能作为存储单元供用户使用的只是前128B,用于存放可读写的数据。

因此通常所说的内部数据存储器就是指前128B,简称片内RAM。

在程序比较复杂,且运算变量较多而导致51内部RAM不够用时,可根据实际需要在片外扩展,最多可扩展64KB,但在实际应用中如需要大容量RAM时,往往会利用增强型的51单片机而不再扩展片外RAM。

增强型的51系列单片机如52和58子系列分别有256B和512B的RAM。

 

图1-2-251单片机的存储器空间分布

51单片机片内128BRAM根据功能又划分为工作寄存器区(地址00H—1FH),位寻址区(地址20H—2FH),一般RAM区(地址30H—7FH)和堆栈区(地址2FH以后),其中位寻址区共16字节128个单元。

51单片机共有21个特殊功能寄存器(SpecialFunctionRegister,SFR),它是片内RAM的一部分。

特殊功能寄存器用于对片内各功能模块进行监控和管理,是一些控制寄存器和状态寄存器,与片内RAM单元统一编址。

二、内部程序存储器(内部ROM)

51单片机共有4KB的ROM,单片机的生产商不同,内部程序存储器可以是EEPROM或FlashROM。

可根据实际需要在片外扩展,最多可扩展64KB。

增强型的51单片机内部ROM空间可以达到64KB,在使用时不须再扩展片外ROM。

数据存储器、程序存储器以及位地址空间的地址有一部分是重叠的,但在具体寻址时,可由不同的指令格式和相应的控制信号来区分不同的地址空间,因此不会造成冲突。

1.2.3单片机的其它部件

51单片机还有定时器/计数器,并行I/O口,串行口,中断系统,时钟电路等部件。

51单片机有两个16位的定时/计数器,具有4种工作方式,以实现定时或计数功能,并以其定时或计数结果对系统进行控制;51单片机共有4个8位的I/O口(P0、P1、P2、P3口),表现在单片机外部共有32条引脚,内部与寄存器连接,以实现数据的并行输入/输出。

51单片机有一个全双工的串行口,具有4种工作方式,以实现单片机和其它设备之间的串行数据传送。

该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。

为满足控制应用的需要,51单片机的中断功能较强。

51单片机共有5个中断源,即外部中断两个,定时/计数中断两个,串行口中断一个。

全部中断分为高级和低级两个优先级别。

时钟电路为单片机产生时钟脉冲序列。

51单片机芯片的内部有时钟电路,但石英晶体和微调电容需外接,系统常用的晶振频率一般为6MHz或12MHz。

从上面的介绍可以看出,51系列单片机虽然只是一个芯片,但作为计算机应该具有的基本部件它都包含,实际上单片机就是一个基本的微型计算机系统。

增强型51系列与51系列单片机完全兼容,但内部资源在51基础上有所增加,如52子系列片内ROM从4KB增加到8KB,片内RAM从128B增加到256B,定时/计数器从2个增加到3个,中断源从5个增加到6个,功能的增强大大拓展了8位单片机的应用空间。

STC8951RC系列为增强51系列单片机,表1-2-1给出了STC89系列常用的几种单片机内部资源,由于此类型单片机支持串口在线下载,并且有低功耗、速度快、稳定可靠性、价格低等优点,因此本书实例将重点以STC8951为例说明。

表1-2-1STC89系列单片机内部资源

STC89系列型号

Flash

SRAM

E2PROM

定时器

替换型号

STC89C51RC

4K

512

2K

3

STC10F04XE

STC89C52RC

8K

512

2K

3

STC10F08XE

STC89C58RD

32K

1280

16K

3

STC11F32XE

 

1.3单片机特殊功能寄存器

特殊功能寄存器(SpecialFunctionRegister)是通过专门规定而且具有特定用途的RAM部分,它是单片机内部很重要的部件。

特殊功能寄存器能综合反映单片机系统内部的工作状态和工作方式,其中一部分作内部控制用,如定时器/计数器和串行口的控制,如果改变控制寄存器的状态就可以改变其功能,使得单片机内部硬件的控制以可编程的形式体现。

1.3.1特殊功能寄存器

51系列单片机内部堆栈指针SP、累加器A、程序状态字PSW以及I/O锁存器、定时器、计数器以及控制寄存器和状态寄存器等都是特殊功能寄存器,和片内RAM统一编址,分散占用80~FFH单元,共有21个,增强型的52系列单片机则有26个,表1-3-1列出了单片机的特殊功能寄存器名称、标识符和对应地址,其中含有52系列的寄存器T2,T2CON等。

在单片机C语言编程应用中,单片机的特殊功能寄存器标识符经常用到。

下面只介绍其中部分寄存器,一些控制寄存器会在单片机内部资源编程应用中详细介绍。

表1-3-1特殊功能寄存器

特殊功能寄存器

标识符

字节地址

并口0

堆栈指针

数据指针(低8位)

数据指针(高8位)

电源控制寄存器

定时/计数器控制

定时/计数器方式控制

定时/计数器0(低8位)

定时/计数器1(高8位)

定时/计数器0(低8位)

定时/计数器1(高8位)

并口1

串行口控制寄存器

串行数据缓冲器

并口2

中断允许控制寄存器

并口3

中断优先控制寄存器

定时/计数器2控制

定时/计数器2自动重装载(低8位)

定时/计数器2自动重装载(高8位)

定时/计数器2(低8位)

定时/计数器2(高8位)

程序状态字

累加器

寄存器B

P0

SP

DPL

DPH

PCON

TCON

TMOD

TL0

TL1

TH0

TH1

P1

SCON

SBUF

P2

IE

P3

IP

T2CON(52)

RCAP2L(52)

RCAP2H(52)

TL2(52)

TH2(52)

PSW

ACC

B

80H

81H

82H

83H

87H

88H

89H

8AH

8BH

8CH

8DH

90H

98H

99H

A0H

A8H

B0H

B8H

C8H

CAH

CBH

CCH

CDH

D0H

E0H

F0H

一、累加器ACC/A(Accumulator)

累加器A为8位寄存器,是最常用的专用寄存器,功能较多,使用最为频繁。

它既可用于存放操作数,也可用来存放运算的中间结果。

51系列单片机中大部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。

累加器有自己的地址,因而可以进行地址操作。

在C语言编程中,如果想让累加器中的内容为十进制56,简单的语句为

A=56;

在汇编语言中则要用的数据传输指令,命令格式为

MOVA,#56;

二、B寄存器

B寄存器是一个8位寄存器,主要用于乘除运算。

乘法运算时,B提供乘数。

乘法操作后,乘积的高8位存于B中。

除法运算时,B提供除数。

除法操作后,余数存于B中。

此外,B寄存器也可作为一般数据寄存器使用。

如:

在C语言中B=56;或abc=B;abc为用户自定义变量。

三、程序状态字PSW(ProgramStatusWord)

程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息。

其中有些位的状态是由程序执行结果决定,硬件自动设置的,而有些位的状态则使用软件方法设定。

PSW的位状态可以用专门指令进行测试,也可以用程序读出。

一些条件转移程序可以根据PSW特定位的状态,进行程序转移。

PSW各位标示符定义格式为

PSW.7

PSW.6

PSW.5

PSW.4

PSW.3

PSW.2

PSW.1

PSW.0

CY

AC

F0

RS1

RS0

OV

F1

P

PSW.7为进/借位标志(Carry,CY):

表示运算是否有进位或借位。

其功能有二:

一是存放算术运算的进/借位标志,在进行加或减运算时,如果操作结果的最高位有进位或借位时,CY由硬件置“1”,否则清“0”;二是在位操作指令中,作位累加器使用。

位传送、位与位或等位操作,操作位之一固定是进/借位标志位。

PSW.6为辅助进/借位标志位(AuxiliaryCarry,AC),也半/借进位标志位。

在进行加减运算中,当低4位向高4位进位或借位时,AC由硬件置“1”,否则AC位被清“0”。

在BCD码的加法调整中也要用到AC位。

PSW.5为用户标志位F0(Flag0),是一个供用户定义的标志位,需要利用软件方法置位或复位,用以控制程序的转向。

PSW.4/PSW.3为寄存器组选择位RS1/RS0(RegisterSelection),用于选择CPU当前使用的工作寄存器组,其对应关系如表1-3-2所示。

这两个选择位的状态是由程序设置的,被选中的寄存器组即为当前寄存器组。

单片机上电或复位后,RS1/RS0=00,即默认的工作寄存器组是第0组。

PSW.2为溢出标志位OV(Overflow)。

在带符号数的加减运算中,OV=1表示加减运算超出了累加器A所能表示的符号数有效范围(-128~+127),即产生了溢出,表示A中的数据只是运算结果的一部分;OV=0表示运算正确,即无溢出产生,表示A中的数据就是全部运算结果。

在乘法运算中,OV=1表示乘积超过255,即乘积分别在B与A中;否则,OV=0,表示乘积只在A中。

在除法运算中,OV=1表示除数为0,除法不能进行;否则,OV=0,除数不为0,除法可正常进行。

PSW.1为用户标志位F1(Flag1),也是一个供用户定义的标志位,与F0类似。

PSW.0为奇偶标志位P(Parity),表示累加器A中“1”的个数奇偶性。

如果A中有奇数个“1”,则P置“1”,否则置“0”,即完全由累加器的运算结果中“1”的个数为奇数还是偶数决定。

注意标志位P并非用于表示累加器A中数的奇偶性。

凡是改变累加器A中内容的指令均会影响P标志位。

P标志对串行通信中的数据传输有重要的意义。

在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。

表1-3-2寄存器组的映射表

RS1

RS0

寄存器组

片内单元

0

0

第0组

00H-07H

0

1

第1组

08H-0FH

1

0

第2组

10H-17H

1

1

第3组

18H-1FH

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1