版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . . 学习情境1 信号灯控制系统的设计与制作11资讯知识准备111 信号灯控制系统的介绍信号灯在工厂企业、交通运输业、商业、学校等各个行业应用非常广泛,信号灯有各种各样的类型,用途也各不一样。信号灯不同的颜色,不同的形状,不同的亮暗规律等都表示不同的含义,因此,对信号灯的控制尤为重要。信号灯的控制有多种方式,如机械开关控制方式,电气开关控制方式,数字逻辑电路控制方式,可编程逻辑器件PLD控制方式,单片机控制方式等;有强电控制的信号灯,也有弱电控制的信号灯;有硬件控制的信号灯,也有软件控制的信号灯。应用单片机对信号灯控制方式,具有控制电路简单、控制灵活、操作方便等一系列优点,应用非常广
2、泛。从原理上讲,目前信号灯控制系统有四种类型。它们的特点为第一类是机械电气开关控制方式,这种控制方式应用机械电气开关,控制复杂,连接困难,体积庞大,灵活性差,目前应用较少。第二类是用中小规模数字电路构成,其中包括了组合逻辑电路和时序电路,设计这一类信号灯控制系统时,要用到真值表、状态图等知识,电路结构复杂、灵活性差、调试困难。第三类是用可编程逻辑器件PLD构成,可以由FPGA或CPLD组成,设计这一类信号灯控制系统时,要用到VHDL语言和PLD专用开发软件,有相当的难度。第四类是用单片机构成,单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点。可以由各个厂家、各种类型的单片机与相应的外围
3、电路组成,设计这一类信号灯控制系统时,要用到单片机软硬件、接口与产品开发等很多单片机知识。因此,应用单片机对信号灯控制方式优点多,使用广泛。要完成信号灯控制的设计制作,首先了解单片机的知识。112 单片机硬件系统单片微型计算机(Single Chip Microcomputer)简称单片机,是指集成在一块芯片上的计算机,它具有结构简单、控制功能强、可靠性高、体积小、价格低等优点,在许多行业都得到了广泛的应用。从航天航空、地质石油、冶金采矿、机械电子、轻工纺织到机电一体化设备、邮电通信、日用设备和器械等,单片机都发挥了巨大作用。1121什么是单片机与单片机应用系统1微型计算机与微型计算机系统微型
4、计算机(Microcomputer)简称微机,是计算机的一个重要分支。人们通常按照计算机的体积、性能和应用围等条件,将计算机分为巨型机、大型机、中型机、小型机和微型机等。微型计算机不但具有其它计算机快速、精确、程序控制等特点,最突出的是它具有体积小、重量轻、功耗低、价格便宜等优点。个人计算机简称PC(Personal Computer)机,是微型计算机中应用最为广泛的一种,也是近年来计算机领域中发展最快的一个分支,由于PC机在性能和价格方面适合个人用户购买和使用,目前,它已经像普通家电一样深入到了家庭和社会生活的各个方面。微型计算机系统由硬件系统和软件系统两大部分组成。硬件系统是指构成微机系统
5、的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。其中,运算器和控制器一般做在一个集成芯片上,统称中央处理单元(Central Processing Unit),简称CPU,是微机的核心部件,配上存放程序和数据的存储器、输入输出(Input/Output,简称I/O)接口电路与外部设备即构成微机的硬件系统。软件系统是指微机系统所使用的各种程序的总体。软件的主体驻留在存储器中,人们通过它对整机进行控制并与微机系统进行信息交换,使微机按照人的意图完成预定的任务。软件系统与硬件系统共同构成实用的微机系统,两者是相辅相成、缺一不可的。微型计算机系统组成示
6、意图如图1.1所示。图1.1 微型计算机系统组成示意图由图1.1知微型计算机系统有运算器、控制器、存储器、输入设备和输出设备五部分组成,其各部分的意义为1)运算器 运算器是计算机的运算部件用于实现算术和逻辑运算。计算机的数据运算和处理都在这里进行。2)控制器控制器是计算机的指挥控制部件,使计算机各部分能自动协调地工作.运算器和控制器是计算机的核心部分,常把它们合在一起称之为中央处理器,简称CPU。3)存储器存储器是计算机的记忆部件,用于存放程序和数据。存储器又分为存储器和外存储器。例如实训中使用的EPROM2764。4)输入设备输入设备用于将程序和数据输入到计算机中,如键盘。5)输出设备输出设
7、备用于把计算机数据计算或加工的结果,以用户需要的形式显示或保存,如显示器、打印机。通常把外存储器、输入设备和输出设备合在一起称之为计算机的外部设备,简称“外设”。2单片微型计算机单片微型计算机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU(Central Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(Read-only Memory)、基本输入/输出(Input/Output)接口电路、定时器/计数器等部件制作在一块集成芯片上,构成一个完整的微型计算机,从而实现微型计算机的基本功能。单片
8、机部结构示意图如图1.2所示。图1.2单片机部结构示意图单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。3单片机应用系统与组成单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。本书的实训电路板也是一个单片机的应用系统,它除了有单片机芯片以外,还有许多的外围电路,再配以后续章节一系列的实训程序可以完成很多功能。所以说,单片机应用系统是由硬件和软件组成,硬件是应用系统的基础,软件是在硬件的基础上对其资源进行合理调配和使用,从
9、而完成应用系统所要求的任务,二者相互依赖,缺一不可,单片机应用系统的组成如图1.3所示。图1.3 单片机应用系统的组成由此可见,单片机应用系统的设计人员必须从硬件和软件两个角度来深入了解单片机,并能够将二者有机结合起来,才能形成具有特定功能的应用系统或整机产品。自从1974年美国Fairchild公司研制出第一台单片机F8之后,迄今为止,单片机经历了由4位机到8位机再到16位机的发展过程。单片机制造商很多,主要有美国的Intel、Motorola、Zilog等公司。目前,单片机正朝着高性能、多品种方向发展,近年来32位单片机已进入了实用阶段。但是由于8位单片机从性能价格比上占有优势,而且8位增
10、强型单片机在速度和功能上向现在的16位单片机挑战,因此在未来相当长的时期8位单片机仍是单片机的主流机型。1122 MCS-51单片机系列尽管各类单片机很多,但无论是从世界围或是从国围来看,使用最为广泛的应属MCS-51单片机。基于这一事实,以应用最为广泛的MCS-51系列八位单片机(8031、8051、8751等)为研究对象,介绍单片机的硬件结构、工作原理与应用系统的设计。MCS-51单片机系列共有十几种芯片,如表1.1所列。表1.1表中列出了MCS-51单片机系列的芯片型号,以与它们的技术性能指标,使我们对它们的基本情况有一个概括的了解。下面我们就在这个表的基础上对MCS-51系列单片机进一
11、步说明。151子系列和52子系列MCS-51系列又分为51和52两个子系列,并以芯片型号的最末位数字作为标志。其中51子系列是基本型,而52子系列则属增强型。52子系列功能增强的具体方面,从表1-1所列容中可以看出:(1)片ROM从4KB增加到8KB(2)片RAM从128字节增加到256字节(3)定时器/计数器从2个增加到3个(4)中断源从5个增加到6个在52子系列的部ROM中以掩膜方式集成有8K BASIC解释程序,这就是通常所说的8052-BASIC。这意味着单片机已可以使用高级语言。该BASIC与基本BASIC想比,增加了一些控制语句,以满足单片机作为控制机的需要。1 .MCS-51单片
12、机的部组成与信号引脚MCS-51单片机的典型芯片是8031、8051、8751。8051部有4KB ROM,8751部有4KB EPROM,8031片无ROM;除此之外,三者的部结构与引脚完全一样。因此以8051为例,说明本系列单片机的部组成与信号引脚。1)8051单片机的基本组成8051单片机的基本组成如图1.4。2单片机芯片半导体工艺MCS-51系列单片机采用两种半导体工艺生产。一种是HMOS工艺,即高速度高密度短沟道MOS工艺。另外一种是CHMOS工艺,即互补金属氧化物的HMOS工艺。表0-1中芯片型号中带有字母“C”的,为CHMOS芯片,其余均为一般的HMOS芯片。CHMOS是CMOS
13、和HMOS的结合,除保持了HMOS高速度和高密度的特点之外,还具有CMOS低功耗的特点。例如8051的功耗为630mW ,而80C51的功耗只有120mW .在便携式 、手提式或野外作业仪器设备上低功耗是非常有意义的。因此在这些产品中必须使用CHMOS的单片机芯片。3片ROM存储器配置形式MCS-51单片机片程序储器有三种配置形式,即:掩膜ROM、EPROM和无ROM。这三种配置形式对应三种不同的单片机芯片,它们各有特点,也各有其适用场合,在使用时应根据需要进行选择。一般情况下,片带掩膜型ROM适应于定型大批量应用产品的生产;片带EPROM适合于研制产品样机;外接EPROM的方式适用于研制新产
14、品。最近Intel公司又推出片带EEPROM型的单片机,可以在线写入程序。1123 MCS-51单片机结构和原理尽管单片机比较简单,但要按五个基本组成部件来讲单片机的硬件结构和原理,也将是一件十分复杂的事。其实也没有这种必要。因此,通常讲述单片机结构原理时,总是从实际需要出发,只介绍与程序设计和系统扩展应用有关的容。MCS-51单片机的部组成与信号引脚MCS-51单片机的典型芯片是8031、8051、8751。8051部有4KB ROM,8751部有4KB EPROM,8031片无ROM;除此之外,三者的部结构与引脚完全一样。因此以8051为例,说明本系列单片机的部组成与信号引脚。1.8051
15、单片机的基本组成8051单片机的基本组成如图1.4。各部分的作用为(1)中央处理器(CPU)中央处理器是单片机的核心,完成运算和控制功能。MCS-51的CPU能处理8位二进制数或代码。(2)部数据存储器(部RAM)8051芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的部数据存储器就是指前128单元,简称部RAM。图1.4 MCS-51 单片机结构框图(3)部程序存储器(部ROM)8051共有4KB掩膜ROM,用于存放程序、原始数据或表格,因此称之为程序存储器,简称部ROM。(4)定时器/计数器80
16、51共有2个16位的定时器/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。(5)并行I/O口MCS-51共有四个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入输出。在实训中我们已经使用了P1口,通过P1口连接8个发光二极管。(6)串行口MCS-51单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。(7)中断控制系统MCS-51单片机的中断功能较强,以满足控制应用的需要。8051共有5个中断源,即外中断2个,定时/计数中断2个,串行中断1个。全部中断分为高级和低级
17、共二个优先级别。(8)时钟电路MCS-51芯片的部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单机产生时钟脉冲序列。系统允许的。系统允许的晶振频率一般为6MHZ和12MHZ。从上述容可以看出,MCS-51虽然是一个单片机芯片,但作为计算机应该具有的基本部件它都包括,因此实际上它已是一个简单的微型计算机系统了。2.MCS-51的信号引脚MCS-51是标准的40引脚双列直插式集成电路芯片,引脚排列请参见图1.5。1)信号引脚介绍 P0.0 P0.7: P0口8位双向口线。P1.0 P1.7 :P1口8位双向口线。P2.0 P2.7 :P2口8位双向口线。P3.0 P3.7 :P3口8位双向口
18、线。ALE:地址锁存控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存器锁存起地线。VCC:+5V电源。以上是MCS-51单片机芯片40条引脚的定义与简单功能说明,读者可以对照实训电路找到相应引脚,在电路中查看每个引脚的连接使用。图1.5 MCS 51 引脚图2)信号引脚的第二功能由于工艺与标准化等原因,芯片的引脚数目是有限制的。例如MCS-51系列把芯片引脚数目限定为40条,但单片机为实现其功能所需要的信号数目却远远超过此数,因此就出现了需要与可能的矛盾。如何解决这个矛盾?“兼职”是唯一可行的办法,即给一些信号引脚赋以双重功能。如果把前述的信号定义为引脚第一功能的话,则根据需
19、要再定义的信号就是它的第二功能。下面介绍一些信号引脚的第二功能。(1)P3口线的第二功能P3的8条口线都定义有第二功能,详见表1.2。(2)EPROM存储器程序固化所需要的信号有部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚以第二功能的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(/VPP)来,以实现低位地址和数据的隔离。此外由于ALE是以晶振六分之一的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。:外部程序存储器读选通信号。在读外部ROM时有效(低电平),以实现外部ROM单元的读操作。
20、:访问程序存储控制信号。当信号为低电平时,对ROM的读操作限定在外部程序存储器;而当信号为高电平时,则对ROM的读操作是从部程序存储器开始,并可延至外部程序存储器。RST:复位信号。当输入的复位信号延续2个机器周期以上高电平即为有效,用以完成单片机的复位初始化操作。XTAL1和XTAL2 :外接晶体引线端。当使用芯片部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。VSS:电压(25V):31脚(/VPP)表1.2 P3口各引脚引脚第二功能信号名称P3.0RXD串行数据接收P3.1 TXD 串行数据发送P3.2外部中断0申请P3.3外部中断1申请P3.4
21、 T0定时器/计数器0的外部输入P3.5 T1定时器/计数器1的外部输入P3.6 外部RAM写选通P3.7 外部RAM读选通(3)备用电源引入MCS-51单片机的备用电源也是以第二功能的方式由9脚(RST/VPD)引入的。当电源发生故障电压降低到下限值时,备用电源经此端向部RAM提供电压,以保护部RAM中的信息不丢失。以上把MCS-51单片机的全部信号,分别以第一功能和第二功能的形式列出。对于各种型号的芯片,其引脚的第一功能信号是一样的,所不同的只在引脚的第二功能信号。对于9、30和31三个引脚,由于第一功能信号与第二功能信号是单片机在不同工作方式下的信号,因此不会发生使用上的矛盾。但是P3口
22、的情况却有所不同,它的第二功能信号都是单片机的重要控制信号。因此在实际使用时,都是先按需要选用第二功能信号,剩下的才以第一功能的身份作数据位的输入输出使用。1124 MCS-51部数据存储器MCS-51单片机的芯片部有RAM和ROM两类存储器,即所谓的部RAM和部ROM,首先分析部RAM。1部数据存储器低128单元8051的部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H7FH)和高128单元(单元地址80HFFH)。如图1.6所示为低128单元的配置图。30H 7FH数据缓冲区20H 2FH位寻址区(00H7FH)18H 1FH工作寄存器3区(
23、R7R0)10H 17H工作寄存器2区(R7R0)08H 0FH工作寄存器1区(R7R0)00H 07H工作寄存器0区(R7R0) 图1.6 片RAM的配置低128单元是单片机的真正RAM存储器,按其用途划分为三个区域:1)寄存器区共有四组寄存器,每组8个寄存单元(各为8位),各组都以R0R7作寄存单元编号。寄存器常用于存放操作数与中间结果等,由于它们的功能与使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。四组通用寄存器占据部RAM的00H1FH单元地址。在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSW
24、中RS1、RS0位的状态组合来决定。通用寄存器为CPU提供了就近数据存储的便利,有利于提高单片机的运算速度。此外,使用通用寄存器还能提高程序编制的灵活性,因此在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。2)位寻址区部RAM的20H2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有16个RAM单元,计128位,位地址为00H7FH。MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。这种位寻址能力是MCS-51的一个重要特点。表1.3为位寻址区的位地址表。表1.3 片R
25、AM位寻址区的位地址单元地址MSB 位地址 LSB 2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F077E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178
26、7068605850484038302820181008003)用户RAM区在部RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H7FH。对用户RAM区的使用没有任何规定或限制。但在一般应用中常把堆栈开辟在此区中。2.部数据存储器高128单元 部RAM的高128单元是供给专用寄存器使用的,其单元地址为80HFFH。因这些寄存器的功能已作专门规定,故而称之为专用寄存器可称为特殊功能寄存器。1)专用寄存器(SFR)简介8051共有21个专用寄存器,现把其中部分寄存器简单介绍如下:(1) 程序计数器(PCProg
27、ram Counter)在实训中,我们已经知道PC是一个16位的计数器,它的作用是控制程序的执行顺序。其容为将要执行指令的地址,寻址围达64KB。PC有自动加1功能,从而实现程序的顺序执行。PC没有地址,是不可寻址的。因此用户无法对它进行读写。但可以通过转移、调用、返回等指令改变其容,以实现程序的转移。因地址不在SFR之,一般不计作专用寄存器。(2) 累加器(ACCAccumulator)累加器为8位寄存器,是最常用的专用寄存器,功能较多,地位重要。它既可用于存放操作数,也可用来存放运算的中间结果。MCS-51单片机部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加
28、器。(3) B寄存器B寄存器是一个8位寄存器,主要用于乘除运算。乘法运算时,B是乘数。乘法操作后,乘积的高8位存于B中,除法运算时,B是除数。除法操作后,余数存于B中。此外,B寄存器也可作为一般数据寄存器使用。(4) 程序状态字(PSWProgram Status Word)程序状态字是一个8位寄存器,用于存程序运行中的各种状态信息。其中有些位状态是根据程序执行结果,由硬件自动设置的,而有些位状态则使用软件方法设定。PSW的位状态可以用专门指令进行测试,也可以用指令读出。一些条件转移指令将根据PSW有些位的状态,进行程序转移。PSW的各位定义如下:D7HD6HD5HD4HD3HD2HD1HD0
29、H CY ACF0RS1RS0OVF1PPSW位地址字节地址D0H除PSW.1位未用外,对其余各位的定义与使用介绍如下:CY(PSW.7)进位标志位。CY是PWS中最常用的标志位,其功能有二:一是存放算术运算的进位标志,在进行加或减运算时,如果操作结果最高位有进位或借位时,CY由硬件置“1”,否则清“0”;二是在位操作中,作累加位使用。位传送、位与位或等位操作,操作位之一固定是进位标志位。AC(PSW.6)辅助进位标志位。在进行加减运算中,当有低4位向高4位进位或借位时,AC由硬件置“1”,否则AC位被清“0”。在BCD码调整中也要用到AC位状态。F0(PSW.5)用户标志位。这是一个供用户定
30、义的标志位,需要利用软件方法置位或复位,用以控制程序的转向。RS1和RS0(PSW.4,PSW.3)寄存器组选择位。用于选择CPU当前工作的通用寄存器组。通用寄存器共有四组,其对应关系为:RS1 RS0 寄存器组 片RAM地址0 0第0组00H07H0 1第1组08H0FH 1 0第2组10H17H 1 1第3组18H1FH这两个选择位的状态是由软件设置的,被选中的寄存器组即为当前通用寄存器组。但当单片机上电或复位后,RS1 RS0=00。OV(PSW.2)溢出标志位。在带符号数加减运算中,OV=1表示加减运算超出了累加器A所能表示的符号数有效围(-128 +127),即产生了溢出,因此运算结
31、果是错误;否则,OV=0表示运算正确,即无溢出产生。在乘法运算中,OV=1表示乘积超过255,即乘积分别在B与A中;否则,OV=0,表示乘积只在A中。在除法运算中,OV=1表示除数为0,除法不能进行;否则,OV=0,除数不为0,除法可正常进行。P(PSW.0)奇偶标志位。表明累加器A容的奇偶性,如果A中有奇数个“1”,则P置“1”,否则置“0”。凡是改变累加器A中容的指令均会影响P标志位。此标志位对串行通信中的数据传输有重要的意义。在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。 (5) 数据指针(DPTR)数据指针为16位寄存器,它是MCS-51中一个16位寄存器。编程时,DPTR既
32、可以按16位寄存器使用,也可以按两个8位寄存器分开使用,即:DPH DPTR高位字节DPL DPTR低位字节DPTR通常在访问外部数据存储器时作地址指针使用,由于外部数据存储器的寻址围为64KB,故把DPTR设计为16位。(6)堆栈指针(SP-Stack Pointer)堆栈是一个特殊的存储区,用来暂存数据和地址,它是按“先进后出”的原则存取数据的。堆栈共有两种操作:进栈和出栈。MCS-51单片机由于堆栈设在部RAM中,因此SP是一个8位寄存器. 系统复位后,SP的容为07H,使得堆栈实际上从08H单元开始。但08H1FH单元分别属于工作寄存器13区, 如程序中要用到这些区,则最好把SP值改为
33、1FH或更大的值.一般地,堆栈最好在部RAM的30H7FH单元中开辟. SP的容一经确定,堆栈的位置也就跟着确定下来,由于SP可初始化为不同值,因此堆栈位置是浮动的。此处只集中讲述了六个专用寄存器,其余的专用寄存器(如TCON、TMOD、IE、IP、SCON、PCON、SBUF等)将在以后章节中陆续介绍。2)专用寄存器中的字节寻址和位地址MCS-51系列单片机有21个可寻址的专用寄存器,其中有11个专用寄存器是可以位寻址的。下面把各寄存器的字节地址与位地址一并列于表1.4。对专用寄存器的字节寻址问题作如下几点说明:(1) 21个可字节寻址的专用寄存器是不连续地分散在部RAM高128单元之中,尽
34、管还余有许多空闲地址,但用户并不能使用。(2) 程序计数器PC不占据RAM单元,它在物理上是独立的,因此是不可寻址的寄存器。(3) 对专用寄存器只能使用直接寻址方式,书写时既可使用寄存器符号,也可使用寄存器单元地址。表中凡字节地址不带括号的寄存器都是可进行位寻址的寄存器,而带括号的是不可位寻址的寄存器,如表所列。全部专用寄存器可寻址的位共83位,这些位都具有专门的定义和用途。这样加上位寻址区的128位,在MCS-51的部RAM中共有128+83=211个可寻址位。1.1.2.5 MCS-51部程序存储器MCS-51的程序存储器用于存放编好的程序和表格常数。8051片有4KB的ROM, 8751
35、片有4KB的EPROM, 8031 片无程序存储器。 MCS-51 的片外最多能扩展64K字节程序存储器,片外的ROM 是统一编址的。 如端保持高电平, 8051 的程序计数器PC在0000H0FFFH地址围 (即前4KB地址) 是执行片ROM中的程序, 当PC在1000HFFFFH地址围时, 自动执行片外程序存储器中的程序,当保持低电平时,只能寻址外部程序存储器, 片外存储器可以从0000H开始编址.表1.4 MCS-51 专用寄存器地址表SFR MSB 位地址/位定义 LSB字节地址 BF7 F6F5F4F3F2 F1 F0F0H ACCE7E6E5E4E3 E2E1E0 E0H PSWD
36、7D6D5D4D3D2D1D0 D0HCYACF0RS1RS0OVF1PIPBFBEBDBCBBBAB9B8B8H/PSPT1PX1PT0PX0 P3B7B6B5B4B3B2B1B0B0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0 IEAFAEADACABAAA9A8A8HEA/ESET1EX1ET0EX0 P2A7A6A5A4A3A2A1A0A0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0 SBUF(99H) SCON9F9E9D9C9B9A999898HSM0SM1SM2RENTB8RB8TIRI P19796959493929190 90HP1
37、.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0 TH1 (8DH)TH0 (8CH) TL1 (8BH) TL0 (8AH) TMODGATC/TM1M0GATC/TM1M0 (89H) TCON8F8E8D8C8B8A8988 88HTF1TR1TF0TR0IE1IT1IE0IT0PCONSMO/ (87H)DPH (83H) DPL (82H) SP (81H) P08786858483828180 80HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0MCS-51的程序存储器中有些单元具有特殊功能,使用时应予以注意。其中一组特殊单元是0000H0002H。系
38、统复位后,(PC)=0000H,单片机从0000H单元开始取指令执行程序。如果程序不从0000H单元开始,应在这三个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。还有一组特殊单元是0003H002AH。共40个单元,这40个单元被均匀地分为五段,作为五个中断源的中断地址区。其中:0003H000AH 外部中断0中断地址区000BH0012H 定时器/计数器0中断地址区0013H001AH 外部中断1中断地址区001BH0022H 定时器/计数器1中断地址区0023H002AH 串行中断地址区中断响应后,按中断种类,自动转到各中断区的首地址去执行程序。因此在中断地址区中理应存放中断服
39、务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址去。1126 并行输入/输出口电路结构单片机芯片还有一项主要容就是并行I/O口。MCS-51共有四个8位的并行I/O口,分别记作P0、P1、P2、P3。每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。实际上它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O端
40、口使用。MCS-51单片机的四个I/O口都是8位双向口,这些口在结构和特性上是基本一样的,但又各具特点,以下分别介绍。1. P0口P0口的口线逻辑电路如图1.7所示。 图1.7 P0口某位结构由图可见,电路中包含有1个数据输出锁存器、2个三态数据输入缓冲器、1个数据输出的驱动电路和1个输出控制电路。当对P0口进行写操作时,由锁存器和驱动电路构成数据输出通路。由于通路中已有输出锁存器,因此数据输出时可以与外设直接连接,而不需再加数据锁存电路。考虑到P0口既可以作为通用的I/O口进行数据的输入输出,也可以作为单片机系统的地址/数据线使用。为此在P0口的电路中有一个多路转接电路MUX。在控制信号的作
41、用下,多路转接电路可以分别接通锁存器输出或地址/数据线。当作为通用的I/O口使用时,部的控制信号为低电平,封锁与门将输出驱动电路的上拉场效应管(FET)截止,同时使多路转接电路MUX接通锁存器Q端的输出通路。当P0口作为输出口使用时,部的写脉冲加在D触发器的CP端,数据写入锁存器,并向端口引脚输出。当P0口作为输入口使用时,应区分读引脚和读端口两种情况。为此在口电路中有两个用于读入驱动的三态缓冲器。所谓读引脚就是读芯片引脚的数据,这时使用下方的数据缓冲器,由“读引脚”信号把缓冲器打开,把端口引脚上的数据从缓冲器通过部总线读进来。使用传送指令(MOV)进行读口操作都是属于这种情况。而读端口则是指
42、通过上面的缓冲器读锁存器Q端的状态。在端口已处于输出状态的情况下,本来Q端与引脚的信号是一致的,这样安排的目的是为了适应对口进行“读-修改-写”操作指令的需要。例如“ANL P0,A”就是属于这类指令,执行时先读入P0口锁存器中的数据。然后与A的容进行逻辑与,再把结果送回P0口。对于这类“读-修改-写”指令,不直接读引脚而读锁存器是为了避免可能出现的错误。因为在端口已处于输出状态的情况下,如果端口的负载恰是一个晶体管的基极,导通了的PN结会把端口引脚的高电平拉低,这样直接引脚就会把本来的“1”误读为“0”。但若从锁存器Q端读,就能避免这样的错误,得到正确的数据。但要注意,当P0口进行一般的I/
43、O输出时,由于输出电路是漏极开路电路,必须外接上拉电阻才能有高电平输出;当P0口进行一般的I/O输入时,必须先向电路中的锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。在实际应用中,P0口绝大多数情况下都是作为单片机系统的地址/数据线使用,这要比作一般I/O口应用简单。当输出地址或数据时,由部发出控制信号,打开上面的与门,并使多路转接电路MUX处于部地址/数据线与驱动场效应管栅极反相接通状态.这时的输出驱动电路由于上下两个FET处于反相,形成推拉式电路结构,使负载能力大为提高.而当输入数据时,数据信号则直接从引脚通过输入缓冲器进入部总线.2.P1口P1口的口线逻辑电
44、路见图1.8。因为P1口通常是作为通用I/O口使用的,所以在电路结构上与P0口有一些不同之处.首先它不再需要多路转接电路MUX;其次是电路的部有上拉电阻,与场效应管共同组成输出驱动电路。为此P1口作为输出口使用时,已能向外提供推拉电流负载,无需再外接上拉电阻.当P1口作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的FET截止。 图1.8 P1口某位结构3.P2口P2口的口线逻辑电路见图1.9。图1.9 P2口某位结构图P2口电路中比P1口多了一个多路转接电路MUX,这又正好与P0口一样。P2口可以作为通用I/O口使用。这时多路转接开头倒向锁存器Q端。但通常应用情况下,P2口是作
45、为高位地址线使用,此时多路转接开头应倒向相反方向。4.P3口P3口的口线逻辑电路见图1.10。 图1.10 P3口某位结构P3口的特点在于为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。由于第二功能信号有输入和输出两类,因此分两种情况说明。对于第二功能为输出的信号引脚,当作为I/O使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。当输出第二功能信号时,该位的锁存器应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。对于第二功能为输入的信号引脚,在口线的输入通路上增加了一个缓冲器,输入的第二功能信号就从这个缓冲器的输出端取
46、得。而作为I/O使用的数据输入,仍取自三态缓冲器的输出端。不管是作为输入口使用还是第二功能信号输入,输出电路中的锁存器输出和第二功能输出信号线都应保持高电平。1127时钟电路与复位电路时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各地信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。1. 时钟电路与时序1)时钟信号的产生在MCS-51芯片部有一个高增益相反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容
47、,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路,如图1.11所示。 图1.11 时钟振荡电路时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。请读者特别注意时钟脉冲与振荡脉冲之间的二分频关系,否则会造成概念上的错误。一般电容C1和C2取30pF左右,晶体的振荡频率围是1.2MHZ12 MHZ。晶体振荡频率高, 则系统的时钟频率也高, 单片机运行速度也就快。MCS-51在通常应用情况下,使用振荡频率为的6MHZ或12MHZ。)引入外部脉冲信号在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。这时外部
48、的脉冲信号是经XTAL2引脚注入,其连接如图1.12所示。 图1.12 外部时钟源接法3)时序时序是用定时单位来说明的。MCS-51的时序定时单位共有4个,从小到大依次是:节拍、状态、机器周期和指令周期。下面分别加以说明。(1)节拍与状态把振荡脉冲的周期定义为拍节(用P表示)。振荡脉冲经过二分频后,就是单片机的时钟信号的周期定义为状态(用S表示)。这样,一个状态就包含两个拍节,具前半周期对应的拍节叫拍节1(P1),后半周期对应的拍节2(P2).(2)机器周期MCS-51采用定时控制方式, 因此它有固定的机器周期. 规定一个机器周期的宽度为6个状态, 并依次表示为S1S6. 由于一个状态又包括两
49、个节拍, 因此一个机器周期总共有12个节拍, 分别记作S1 P1S1 P2 。 S6P2. 由于一个机器周期共有12个振荡脉冲周期, 因此机器周期就是振荡脉冲的十二分频.当振荡脉冲频率为12 MHZ时, 一个机器周期为1us。当振荡脉冲频率为6 MHZ时, 一个机器周期为2 us。(3)指令周期指令周期是最大的时序定时单位, 执行一条指令所需要的时间称之为指令周期。它一般由若干个机器周期组成。不同的指令,所需要的机器周期数也不一样。通常,包含一个机器周期的指令称为单周期指令,包含二个机器周期的指令称为双周期指令,等等。 指令的运算速度和指令所包含的机器周期有关,机器周期数越少的指令执行速度越快
50、。MCS-51 单片机通常可以分为单周期指令、双周期指令和四周期指令等三种。四周期指令只有乘法和除法指令两条,其余均为单周期和双周期指令。单片机执行任何一条指令时都可以分为取指令阶段和执行指令阶段。MCS-51的取指/执行时序如图1.13所示。 图1.13 MCS-51 单片机的取指/执行时序由图可见,ALE引脚上出现的信号是周期性的,在每个机器周期两次出现高电平。第一次出现在S1P2和S2P1期间,第二次出现在S4P2和S5P1期间。ALE信号每出现一次,CPU就进行一次取指操作,但由于不同指令的字节数和机器周期数不同,因此取指令操作也随指令不同而有小的差异。按照指令字节数和机器周期数,80
51、51的111条指令可分为六类,分别是:单字节单周期指令、单字节双周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令、三字节双周期指令,可以参见附录三。图1.13(a)(b)所示分别给出了单字节单周期和双字节单周期指令的时序。单周期指令的执行始于S1P2,这时操作码被锁存到指令寄存器。若是双字节则在同一机器周期的S4读第二字节。若是单字节指令,则在S4仍有读出操作,但被读入的字节无效,且程序计数器PC并不增量。图1.13(c)给出了单字节双周期指令的时序,两个机器周期进行4次读操作码操作。因为是单字节指令,后三次读操作都是无效的。2单片机的复位电路单片机复位是使CPU和系统中的其他功
52、能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第一个单元取指令,实训中已经看出。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。所以我们必须弄清楚MCS-51型单片机复位的条件、复位电路和复位后状态。单片机复位的条件是:必须使RST/VPD 或RST引脚(9)加上持续二个机器周期(即24个振荡周期)的高电平。例如:若时钟频率为12MHZ,每机器周期为1us,则只需2us以上时间的高电平。在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位电路如图1.14(a)(b)所示。(a) 上电复位电路 (b) 按键复位电路 图1.14 单片机常见的复位电路图1.14(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST端的电位与VCC一样,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于2个机器周期,便能正常复位。图1.14(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理健康教育情景剧
- 烘焙师职业规划
- 我为安全代言
- 感染科特色护理和亮点
- 病区管理质控
- 高级教师职称述职报告集合4篇
- 色彩教程知识课件
- 银行业务员个人转正工作总结范文
- 幼儿园活动规划
- 中学学生会总结报告10篇
- 沪科版2023~2024学年七年级上学期期末考试数学预测卷(二)(含答案)
- 四川成都工业地产分析
- 外购外协管理制度
- 大庆医学高等专科学校单招参考试题库(含答案)
- 国家开放大学(山东)《财税法规专题》形考任务1-3+终结性考核参考答案
- 2024-2030年中国集中供热行业供需平衡与投资运行模式规划研究报告
- TCSRME 034-2023 隧道岩溶堵水注浆技术规程
- 2024年全国普法知识考试题库与答案
- 桂枝颗粒营销策略与品牌定位
- 2023年人教版六年级语文上册期末试卷(参考答案)
- 争做“四有好老师”-当好“四个引路人”
评论
0/150
提交评论