版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、10:061第3章 80C51系列单片机的硬件基础 8051系列单片机概述3.180C51系列单片机引脚功能3.280C51系列单片机的编程结构3.3 80C51系列单片机的存储器3.4 80C51单片机的工作方式3.5 80C51系列单片机的时序3.6 80C51单片机最小应用系统3.710:062 单片机是一个大规模集成电路芯片,但仅有一块单片机不能完成特定的控制任务,只有当它与其他器件和设备有机地组合在一起并配以特定的程序时,才能构成一个真正的单片机应用系统,完成特定的任务。 在单片机应用系统中单片机是核心器件,要设计单片机应用系统,必须首先掌握单片机的硬件基础知识。 10:0633.1
2、 8051系列单片机概述1980年美国INTEL公司推出了高性能的8位单片机:MCS-51系列单片机。系列单片机是指同一厂家生产的具有相同系统结构的多种型号的单片机。MCS-51系列单片机又可分为51和52两个子系列。3.1.1 MCS-51系列单片机10:064各个子系列所含有的芯片型号及其硬件资源的区别如表3-1所示。MCS-51系列型号片内ROM片内RAM定时器/计数器中断源数量51子序列(基本型)8031无128B216位580514KB掩膜ROM128B216位587514KB EPROM128B216位552子序列(增强型)8032无256B316位680528KB掩膜ROM256
3、B316位6在不同型号的MCS-51系列单片机中,除片内存储器(ROM、RAM)容量与种类、定时器/计数器的个数、中断源的数量有所不同外,指令系统和芯片引脚是完全兼容的。10:065它们的主要硬件特性:(1) 8位CPU。(2) 片内带振荡器,振荡频率fosc范围为1.212MHz;可有时钟输出。(3) 128/256B的片内数据存储器。(4) 0/4/8KB的片内程序存储器。(5) 程序存储器的寻址范围为64KB。(6) 片外数据存储器的寻址范围为64KB。(7) 21/26个字节专用寄存器。10:066(8) 4个8位并行IO接口:P0、P1、P2、P3。(9) 1个全双工串行IO接口,可
4、多机通信。(10) 2/3个16位定时器计数器。(11) 中断系统有5/6个中断源,可编程为两级优先级。(12) 111条指令,含乘法指令和除法指令。(13)含布尔处理器,有强的位寻址、位处理能力。(14) 片内采用单总线结构。(15) 用单一+5V电源。10:067早期的MCS-51系列单片机是采用HMOS工艺制造的,具有高速度、高密度的特点,但功耗较大。出于对降低功耗的要求,MCS-51系列单片机后来推出的产品采用了CMOS和HMOS结合的CHMOS工艺。采用CHMOS工艺制造的51子系列对应的低功耗产品分别为80C31、80C51、87C51,52子系列对应的低功耗产品分别为80C32、
5、80C52。10:068Features.Compatible with MCSR-51 Products4K Bytes of In-System Programmable (ISP) Flash Memory- Endurance: 10,000 Write/Erase Cycles4.0V to 5.5V Operating RangeFully Static Operation: 0 Hz to 33 MHzThree-level Program Memory Lock1288-bit Internal RAM32 Programmable I/O LinesTwo 16-bit Ti
6、mer/CountersSix Interrupt SourcesFull Duplex UART Serial ChannelLow-power Idle and Power-down ModesInterrupt Recovery from Power-down ModeWatchdog TimerDual Data PointerPower-off FlagFast Programming TimeFlexible ISP Programming (Byte and Page Mode)Green (Pb/Halide-free) Packaging Option特点:AT89S51是5
7、1单片机家族中的一员,它可与家族中其他单片机兼容该单片机片内有容量为4K bytes的Flash存储器作为程序存储器使用可进行在线编程,寿命为10000次的擦写操作。工作电压范围为4.0V-5.5 V支持全静态操作,工作频率范围为0Hz-33MHz三级程序存储器锁片内RAM容量为128 x 8-bit32个可编程If0口两个16位的定时/计数器6个中断源全双工通用异步串行通信通道低功耗的休眠和停电模式停电模式下的中断恢复看门狗定时器双DPTR指针寄存器断电标志快速编程时间灵活的在线编程Byte和Page模式)环保封装选择(无铅/无卤化物)(a) 技术特点英文描述 (b) 技术特点中文翻译图3-
8、1 AT89C51单片机技术手册中关于特点的概述10:069不同型号的80C51单片机,内部资源或多或少有些差异,我们在选择时,可从以下几个方面考虑:1. 程序存储器 2. 数据存储器3. 功耗 4. 体积 3.1.2 80C51系列单片机的选择依据10:0610 程序存储器用于存放单片机应用系统的目标程序。通过编程器或直接在系统编程(ISP)将目标程序写入单片机。 单片机的程序存储器目前供应的类型有EPROM、OTPROM、Mask ROM和Flash EEPROM。容量有1KB、2KB、4KB、8KB、16KB、32KB和64KB。 由于EPROM型单片机使用不方便,现在己很少使用,普遍采
9、用Flash EEPROM型单片机代替; OTP ROM单片机在中小批量的单片机产品中使用较多; Mask ROM型单片机由于其程序存储的高可靠性和低成本特点,适合于大批量的单片机应用场合。 由于片内存储器成本的降低,目前趋向于选择具有大容量的片内程序存储器的单片机,片外不用再扩展程序存储器。 1. 程序存储器 10:0611 单片机片内数据存储器目前供应的类型有SRAM静态数据存储器,少数单片机片内有EEPROM非易失性数据存储器。51子系列片内RAM有128B,52子系列片内RAM有256B,52子系列向下兼容51子系列,两者价格目前基本持平,选择52子系列在使用上更为方便、灵活。 2.
10、数据存储器 3. 功耗 许多公司都供应低电压的80C51系列单片机,具有低功耗的特点,例如,Atmel公司的AT89LV51和AT89LV52,它的工作电压范围为2.76V,可直接替换相应的5V工作电压芯片。 10:06124. 体积 在应用系统的空间有限时,可选择相应型号的PLCC和QFP封装的单片机,外围芯片当然也要选择小型封装。在无外围扩展时也可选择非总线型的单片机,如Atmel公司的AT89C4051、AT89C2051和AT89C1051,Philips公司的P87LPCXXX系列。 新一代高性能的80C51单片机增加了模/数转换器(A/D)、脉宽调制输出(PWM)、第二串行口、串行
11、扩展总线(I2C BUS )、现场总线(CAN),程序监视定时器(WDT)、在系统编程ISP等功能,使用户在进行单片机应用系统设计时有更大的选择范围。 10:06133.2 80C51系列单片机引脚功能在80C51系列单片机中,各种单片机的引脚是相互兼容的,只是功能略有差异。在器件引脚的封装上,80C51系列单片机常用的封装有三种,分别为双列直插式PDIP 40脚封装、塑料扁平式PQFP/TQFP 44脚封装和带引线的塑料芯片封装PLCC 44脚封装。10:0614图3-2 PDIP封装引脚图 图3-3 PDIP实物图 3.2.1 引脚功能概述10:0615图3-4 PQFP/TQFP封装引脚
12、图图3-5 PQFP/TQFP封装实物图10:0616图3-6 PLCC/LCC封装引脚图图3-7 PLCC/LCC封装实物图10:061780C51单片机引脚主要分为主电源引脚、外接晶体引脚 、输入输出引脚与控制引脚四类,以PDIP封装的单片机为例,引脚介绍如下:1. 主电源引脚(2条) 2. 外接晶体引脚(2条) 3. 输入/输出(I/O)引脚(32条) 4. 控制引脚(4条)10:06181. 主电源引脚(2条) VCC(40脚)和GND(20脚):分别接电源的正端和地端。不同型号单片机接入对应电压的电源,常压为+5V、低压为+3.3V。 2. 外接晶体引脚(2条) XTAL1(19脚)
13、、XTAL2(18脚):XTAL1为片内振荡电路的输入端,XTAL2为片内振荡电路的输出端。80C51单片机的时钟有两种方式,一种是片内时钟振荡方式,需在这两个脚外接石英晶体和振荡电容;另一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。 10:06193. 输入/输出(I/O)引脚(32条) 输入/输出(I/O)引脚共有P0口、P1口、P2口、P3口四组,每组8条引脚。(1) P0口(39脚32脚):分别为P0.0P0.7,其中P0.7为最高位,P0.0为最低位。这8条引脚有两种不同的功能:1) 作为通用输入输出(I/O口)使用。2) 作为低8位的地址/数据复用总线。1
14、0:0620(2) P1口(1脚8脚):分别为P1.0P1.7,其中P1.7为最高位,P1.0为最低位。P1口引脚也有两种不同的功能:1) 作为准双向I/O口使用。2) 对52子序列单片机,P1.0引脚的第二功能为T2定时器/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。10:0621(3) P2口(21脚28脚):P2口的8条引脚也有两种不同的功能:1) 准双向输入输出接口,每一位也可独立控制。2) 在接有片外存储器或扩展IO接口时,P2口作为高8位地址总线。10:0622(4) P3口(10脚17脚):P3口的8条引脚也有两种不同的功能: 1) 准双
15、向输入输出接口,每一位同样可独立控制。2) P3口的每一条引脚都有第二功能,如表3-4所示。引脚第二功能说 明P3.0RXD串行口输入P3.1TXD串行口输出P3.2外部中断0输入,低电平有效P3.3外部中断1输入,低电平有效P3.4T0定时器/计数器0的外部计数脉冲输入P3.5T1定时器/计数器1的外部计数脉冲输入P3.6片外数据存储器写允许,低电平有效P3.7片外数据存储器读允许,低电平有效10:0623单片机通过I/O口表现出控制能力,在第一功能时可以实现对外围输入/输出设备,如按键开关、键盘、发光二极管、数码管、液晶屏、电机、继电器等的控制。在单片机内部的存储器、接口电路等不够用而需要
16、进行片外扩展时,这四组接口又表现出第二种功能,即作为对外扩展芯片的地址总线、数据总线与控制总线使用。每个端口的结构各部相同,它们在功能和用途上也存在差别。总结:10:062410:06254. 控制引脚(4条)(1) RST(Reset,9引脚):复位信号输入端。(2) ALE/ (Address Latch Enable/Programming,30引脚):ALE为地址锁存允许信号,配合P0口引脚的第二功能使用。 为本引脚的第二功能,表示编程脉冲输入端。(3) /VPP(Enable Address/Voltage Pulse of Programing,31引脚):片内片外程序存储器选择控
17、制端。(4) (Program Strobe Enable,29引脚):片外程序存储器(ROM)选通线。10:06263.2.2 引脚与内部功能模块的关系图3-9 单片机引脚和内部功能模块之间的关系10:0627图3-10 80C51单片机对外三总线构成3.2.3 单片机对外扩展时三总线的构成10:0628四个I/O端口P0、P1、P2、P3的作用总结: P2口负责输出高8位地址, P0口以分时方式承担输出低8位地址信息和数据输入/输出的 双重任务。 P3口则作为和外设沟通的控制线, P1口可随意用作I/O口。 51系列单片机的对外三总线总结: AB(地址总线): P2口负责高8位地址, P0
18、口输出低8位地址。 DB(地址总线): P0口作为8位数据输入/输出口。 CB(地址总线): P3口作为和外设沟通的控制线。10:06293.3 80C51系列单片机的编程结构 80C51系列单片机的编程结构包括中央处理器(CPU)、内部存储器(ROM、RAM)、并行I/O接口、片内外设(定时器/计数器、中断系统、串行口)、振荡器等部分,各部分之间通过片内总线进行连接。80C51系列单片机内部采用单总线结构,地址、数据与控制信息都通过一组总线流通。 编程结构,即是从编程人员角度所看到的单片机内部结构,该结构便于人们从软件编程的角度去了解单片机系统的操作和运行。 10:0630图3-11 80C
19、51系列单片机的编程结构 10:06311. 中央处理器 (CPU)80C51系列单片机是8位CPU,它是整个单片机的核心部件,主要完成运算和控制功能,由运算器和控制器组成。(1) 运算器运算器由算术逻辑单元(ALU)、累加器A(Accumulator )、暂存器TMP以及程序状态字PSW组成,用于算术运算和逻辑运算。(2) 控制器控制器由程序计数器PC(Program Counter)、指令寄存器IR(Instruction Register)、指令译码器ID( Instruction Decoder)、定时与控制电路等部分组成,使单片机各部分协调工作,从而完成指令规定的操作。10:0632
20、程序计数器PC(Program Counter)是一个16位的加1计数器,其中存放的是ROM中存储单元的地址。在开始执行程序时,给PC赋以程序中第一条指令所在的存储单元的地址,然后每从存储单元取一次内容,PC中的内容就会自动加1,以指向下一个存储单元,保证指令顺序执行。由此可见,程序计数器PC中存放的是下一条将要执行的指令所在的ROM存储单元的地址。10:06332. 内部存储器80C51系列单片机的存储器有片内和片外之分。片内存储器集成在芯片内部;片外存储器(外部存储器)是专用的存储器芯片,需要通过单片机引脚提供的三总线(即AB、DB和CB)与80C51连接。无论片内还是片外存储器,都可分为
21、程序存储器和数据存储器。由于80C51单片机采用哈佛结构,因此程序存储器和数据存储器相互独立,有各自的寻址空间。10:0634片内数据存储器为随机存取存储器,用于存放可读写的数据,常称为片内RAM。80C51系列单片机的片内RAM共有128/256B。片内程序存储器为只读存储器,用于存放程序指令、常数及数据表格,常称为片内ROM。80C51系列单片机内部有0/4/8KB的ROM。用于存放程序,也可以存放一些原始数据和表格等。10:06353. 并行输入/输出端口(I/O口)80C51片内有4个8位的I/O接口:P0、P1、P2和P3,每个I/O接口内部都有一个8位锁存器和一个8位驱动器,既可用
22、作输出口,也可用作输入口。80C51单片机没有专门的I/O口操作指令,而是把I/O口当作寄存器使用,通过传送指令实现数据的输入和输出操作。10:06364. 片内外设(1) 定时器/计数器51子序列单片机中有两个16位的定时器/计数器,用于实现定时或外部计数的功能。(2) 中断系统中断系统的主要作用是对来自单片机内部或外部的中断请求进行处理,完成中断源所要求的任务。51子系列共有5个中断源,其中外部中断源有2个,内部中断源有3个:2个定时器/计数器中断源和1个串行口中断源。全部中断可分为高级和低级两个优先级别。10:0637(3) 串行口80C51单片机有一个全双工可编程串行口,用于实现单片机
23、与外部设备之间的串行数据传送。5. 振荡器振荡器用于产生单片机工作时所需的时钟脉冲。10:06383.3.2 在Keil Vision中观察寄存器例3-1 加法汇编ORG 0000H ;设置起始地址MOV A,#6EH ;A=6EHADD A,#58H ;A=A+58H=C6H,PSW=44HMOV B,A ;B=C6HSJMP $ ;程序在原地循环END ; 结束汇编10:06393.3.2 在Keil Vision中观察寄存器图3-12 Vision软件调试界面10:06403.3.2 在Keil Vision中观察寄存器(a) 执行MOV A,#6EH (b) 执行ADD A,#58H
24、(c) 执行MOV B,A图3-13指令的执行和寄存器数值的变化10:06413.4 80C51系列单片机的存储器 存储器是用来存放程序或者程序中所需的数据的。不同的单片机,其存储器的类型与容量也不相同。3.4.1 半导体存储器1. 随机存取存储器与只读存储器(1) 随机存取存储器RAM(Random Access Memory)。CPU既可以将该存储器中的信息(数据)读出又可以将需要写入的信息写入。(2) 只读存储器ROM(Read Only Memory)。CPU只能读出存放在该存储器中的信息,不能写入。10:0642表3-5 随机存取存储器与只读存储器的对照表10:06432. 随机存取
25、存储器的分类按照存储信息的方式,随机存取存储器又可分为以下两种:静态RAM ( SRAM:Static RAM)。只要有电加在存储器上,数据就能长期保留。动态RAM (DRAM:Dynamic RAM)。写入的信息只能保留几ms的时间,因此每隔一定时间需要重新写入一次(称为“刷新”),所以动态RAM的电路比较复杂。10:0644图3-14 SRAM的存储单元(1) 静态RAM的存储单元 10:0645图3-15 88bit SRAM中的存储单元10:0646(2) 动态RAM的存储单元 图3-16 DRAM的一位存储单元10:0647(2) 动态RAM的存储单元 (a) 将1写到存储单元中(b
26、) 将0写到存储单元中图3-17 DRAM的存储单元的操作10:0648(2) 动态RAM的存储单元 (c) 将1从存储单元读出(d) 对保存的1进行刷新图3-17 DRAM的存储单元的操作10:0649静态RAM与动态RAM的对比 10:06503. 只读存储器的分类 E2PROM的最大缺点就是改写信息的速度慢,随着半导体存储技术的发展,各种新的可现场改写信息的非易失性存储器被推出,且发展速度很快,其中应用最广泛最流行的就是快擦写存储器(Flash Memory) 。 ROM存储器按固化信息方式(向芯片内写入信息)的不同可分为以下4种:(1) 掩膜ROM (MROM:Mask ROM)。(2
27、) 可编程ROM(PROM:Programable ROM)。(3) 可擦除可编程ROM (EPROM:Erasable PROM)。(4) 电可擦除可编程ROM (E2 PROM:Electrically Erasable ROM)。10:0651(1) Mask ROM Mask ROM在生产时厂家会按照客户的要求把数据保存在其中,一旦Mask ROM生产出来后,其中的数据是无法修改的,所以它通常存储一些不用修改而直接就拿来使用的数据信息。例如投影仪开机时显示的品牌名称和标志,计算机开机时显示的主板版本和厂商信息等。(a) 保存1 (b) 保存0 图3-18 Mask ROM的存储单元10
28、:0652(2) PROM PROM要比mask ROM稍微灵活一点,它提供给用户一次写入数据的机会,即用户可以在新买回来的PROM器件写入数据,写入完毕后PROM就像一个Mask ROM使用,只能读取其中的数据而不能擦除。图3-19 PROM的存储单元结构10:0653(3) EPROM EPROM 是可擦除可编程只读存储器,就是说EPROM不但在新买回来时可以往芯片里面烧写数据,还可在任何时候将数据擦除掉,再往其中写入新的数据,所以,EPROM是一种可以重复编程的ROM器件。EPROM有两种主要类型的器件:一种是使用紫外线进行擦除的UV EPROM (ultraviolet light e
29、rasable programmable read-only memory)。另一种是使用电信号进行擦除的EEPROM (electrically erasable programmable read-only memory)。10:0654(3) EPROM图3-20 UV EPROM的透明小窗口10:0655(3) EPROM图3-20 UV EPROM擦除器10:0656(4) EEPROM 虽说UV EPROM可进行多次擦写,但是每次擦除都需要紫外线擦除器和花一定的时间毕竟不甚方便。于是使用电信号就能实现数据擦除和写入的EEPROM极大方便了数据存储的需要。 EEPROM的擦除不需要什
30、么紫外线擦除器,直接用电信号就能实现存储器中数据的擦除和写入。单片机就可以对EEPROM进行数据的擦除和写入,并在掉电后仍然保存这些数据。10:0657(5) Flash ROM Flash ROM芯片的出现满足了人们对存储器大容量、非易失性、在线擦写、快速访问与廉价的所有要求,而上面介绍的EEPROM、SRAM只是具备某个或者某几个特点,因此目前Flash ROM广泛应用在各种数码产品中。10:0658(5) Flash ROMFlash ROM的存储单元结构如图3-22所示,其结构比较特别,其中的MOSFET包含两层栅极,一个是控制栅极(简称栅极),另一个是浮动栅,这种结构又称为叠栅结构。
31、(a) 浮动栅拥有大量电子时,数据为0图3-22 Flash ROM的存储单元 (b) 浮动栅只有少数电子时,数据为110:0659(5) Flash ROMFlash ROM的操作有3种:擦除操作、编程操作(也就是写操作)与读操作。图3-23 Flash ROM存储单元的擦除操作 擦除操作:擦除就是把Flash中的数据给抹去,使所有的存储单元都变成1。擦除操作如图3-23所示,通过栅极接地(0)和给S极加一个擦除电压+VERASE,浮动栅上的电子因为+VERASE的吸引而逃离,结果浮动栅电子缺失而使存储单元变成了1。在Flash编程操作之前都会先对所有存储单元进行擦除操作。10:0660(5
32、) Flash ROM图3-24 Flash ROM存储单元的编程操作 编程操作:经过擦除操作后,所有Flash存储单元都为1。编程操作如图3-24所示,如果想让某个存储单元为0,则在栅极施加一个编程电压+VPROG,同时S极接地。这样由于+VPROG的吸引,电子从S极跑到了浮动栅中,于是存储单元保存了0。而如果想让存储单元保存1,则保留擦除之后的状态即可。(a) 写入0 (b) 写入110:0661(5) Flash ROM图3-25 Flash ROM存储单元的读操作 读操作(a) 读出0 (b) 读出110:0662(5) Flash ROM图3-26 Flash ROM内部结构示意图F
33、lash存储器是由以上存储单元与比较器等电路构成的,结构如图3-26所示,每一次只有一行被访问。如果某一个存储单元保存的是1,在读操作时会因MOSFET的导通使对应的位线产生电流,从而在有效负载上产生压降。这个压降在比较器中与参考电压相比会在数据线上输出1。如果存储单元保存的是0,位线上就不会有电流,于是比较器的输出为0。10:06633.4.2 存储器的主要指标1. 存储速度 存储速度主要由存取时间来衡量。存取时间是指从CPU给出有效的存储器地址,启动一次存储器读/写操作,到完成该操作所经历的时间。一般存取时间为几十到几百ns。存取时间越短,存储速度越快。 2. 存储容量 存储容量是指存储器
34、芯片最多能够存放二进制信息的总位数。存储容量的大小与地址线的位数有关,可以按照如下的公式计算: 存储容量=编址数(存储单元数)数据线位数=2NM 其中,N为地址总线的位数;M为数据总线的位数。10:06643.4.3 80C51单片机的存储器 80C51单片机存储器组织结构:哈佛结构(Harvard)片内:4KB或8KB(8031、8032无)片外:60KB或56KB片内:128B或256B片外:64KB存储器程序存储器数据存储器1. 80C51单片机存储器从物理结构上可分为:10:06652. 从寻址空间分布可分为:3. 从功能上可分为:程序存储器内部数据存储器外部数据存储器程序存储器内部数
35、据存储器外部数据存储器特殊功能寄存器、位地址空间10:06661 程序存储器(1)编址与访问访问方法:根据PC内容访问。程序计数器PC(16位):存放将要执行的指令的地址。具有计数功能,每取出指令的一个字节后,其内容自行加1,指向下一字节的地址,以便依次自程序存储器取指令执行,完成某种程序。PC复位后的值为0。 编址:从0000H-FFFFH。编址规律:先片内、后片外,片内、片外连续, 二者一般不作重叠。 10:0667 51子系列的ROM编址图 52子系列的ROM编址图10:0668:复位后先执行片内程序存储器中的程序 ,当PC0FFFH时(4KB 51子系列)或1FFFH (8KB 52子
36、系列) ,将自动转去执行片外程序存储器。 对8051、8751(或8052): 对于8031(8032): ,因为它没有内部程序存储器。:将强令执行片外程序存储器中程序。此时多在片外程序存储器中存放调试程序,使计算机工作在调试状态。片外程序存储器存放调试程序的部分,其编址与片内程序存储器的编址是可以重叠的,借 EA的换接可实现分别访问。 执行次序: 10:0669(2) 七个特殊单元0000H单元:复位单元。0003H单元:外部中断0中断服务程序的入口地址000BH单元:定时器/计数器0溢出中断服务程序的入口地址 00013H单元:外部中断1中断服务程序的入口地址0001BH单元:定时器/计数
37、器1溢出中断服务程序的入口地址0023H单元:串行口中断服务程序的入口地址0002BH单元:定时器/计数器2溢出中断服务程序的入口地址 10:0670 单片机复位后程序计数器PC的内容为0000H, 故必须从0000H单元开始取指令来执行程序。 0000H单元是系统的起始地址, 一般在该单元存放一条无条件转移指令, 用户设计的程序是从转移后的地址开始存放执行的。 7个单元相互离得很近,只隔开几个单元,容纳不下稍长的程序段。所以其中实际存放的往往是一条无条件转移指令,使分别跳转到用户程序真正的起始地址或所对应的中断服务程序真正的入口地址。 说 明10:06712. 数据存储器 MCS-51系列单
38、片机的数据存储器在物理上和逻辑上都分为两个地址空间: 0000H-FFFFH用数据指针DPTR寻址内部数据存储器外部数据存储器00H-7FH共128个单元组成的低128BRAM区(51、52共有)80H-FFH共128个单元组成的高128BRAM区(仅52有)80H-FFH之间离散分布的特殊功能寄存器10:0672RAM的编址片内数据存储器 51系列的RAM编址图片外数据存储器10:0673根据使用功能不同,片内数据存储器可进一步细分为工作寄存器区、位寻址区、堆栈及数据缓冲区、特殊功能寄存器SFR(Special Function Register)区。10:0674 (1) 工作寄存器区 内
39、部RAM块的00H1FH区, 共分4个组, 每组有8个工作寄存器R0R7, 共32个内部RAM单元。10:0675同一时刻只有一个组工作,CPU根据程序状态字寄存器PSW中的RS0和RS1的值(由用户设定)来选择当前的工作组,如表3-8所示 。表3-8 工作寄存器地址表 10:0676(2) 位寻址区(20H2FH)位寻址区共有16字节,128位,位地址为00H7FH。CPU能直接寻址这些位,进行置1、清0、求“反”、传送和逻辑运算等位操作,这就是我们常说的80C51单片机所具有的布尔处理功能。在程序设计时,还常常将这些位用作软件标志位。10:0677 内部的可寻址位及位地址10:0678 位
40、寻址区的存储单元既有字节地址又有位地址,因此既可作为一般存储单元进行字节寻址,也可对它们进行位寻址。 位寻址区的位地址范围为00H7FH,字节地址范围是20H2FH,有地址重叠现象,进一步观察还可发现,内部RAM低128个单元的字节地址范围也为00H7FH,整个存储区的地址都是重叠的,但80C51单片机专门为位操作设置了一类指令,因此在实际应用中可以通过指令的类型来区分字节地址和位地址。注意:10:0679(3) 堆栈及数据缓冲区(30H7FH) 51子系列的内部RAM的堆栈及数据缓冲区共有80个单元,字节地址范围为30H7FH,52子系列的内部RAM的堆栈及数据缓冲区共有208个单元,字节地
41、址范围为30HFFH,用于存放用户数据或作为堆栈区使用。堆栈区是存储器中一个特殊的存储区,数据按照“先进后出”或“后进先出”的方式进行存取操作。10:0680特殊功能寄存器SFR(Special Function Register)也称专用寄存器(不包括PC),主要用于管理片内和片外的功能部件,如定时器/计数器、中断系统、I/O接口等。SFR的编址从80HFFH,但是并没有128个,只有21个(51子系列)或26个(52子系列),在80H-FFH之间离散分布。每个SFR都分配有符号名和字节地址,可对其进行直接寻址。表3-10是特殊功能寄存器一览表,其中字节地址能够被8整除的SFR(字节地址的末
42、位是0或8H)每一位都具有位名称和位地址,能够进行位寻址。(4) 特殊功能寄存器10:0681专用寄存器名称符号地址位地址与位名称 D7D6D5D4D3D2D1D0P0口P080H8786858483828180堆栈指针SP81H数据指针低字节DPL82H数据指针高字节DPH83H电源控制寄存器PCON87HSMODGF1GF0PDIDL表3-10 80C51单片机的特殊功能寄存器一览表10:0682定时器/计数器控制TCON88HTF18FTR18ETF08DTR08CIE18BIT18AIE089IT088定时器/计数器方式控制TMOD89HGATEM1M0GATEM1M0定时器/计数器0
43、低字节TL08AH定时器/计数器1低字节TL18BH定时器/计数器0高字节TH08CH定时器/计数器1高字节TH18DH10:0683P1口P190H9796959493929190串行口控制寄存器SCON98HSM09FSM19ESM29DREN9CTB89BRB89ATI99RI98串行数据缓冲寄存器SBUF99HP2口P2A0HA7A6A5A4A3A2A1A0中断允许控制寄存器IEA8HEAAFET2ADESACET1ABEX1AAET0A9EX0A8P3口P3B0B7B6B5B4B3B2B1B010:0684中断优先级控制IPA8HPT2BDPSBCPT1BBPX1BAPT0B9PX0
44、B8定时器/计数器2控制T2CON*C8HTE2CFEXF2CERCLKCDTCLKCCEXEN2CBTR2CAC/T2C9CP/PL2C8定时器/计数器2自动重装载低字节RLDL*CAH定时器/计数器2自动重装载高字节RLDH*CBH定时器/计数器2低字节TL2*CCH定时器/计数器2高字节TH2CDH10:0685程序状态字PSWD0HCYD7ACD6F0D5RS1D4RS0D3OVD2D1PD0累加器AE0HE7E6E5E4E3E2E1E0B寄存器BF0HF7F6F5F4F3F2F1F0本章先介绍其中部分寄存器,其他SFR将在相关章节陆续介绍。 10:06861) 累加器A(Accumu
45、lator) A是8位寄存器,是最常用的寄存器。2) 寄存器B寄存器B是8位寄存器,是专门为乘除法指令设计的。3) 程序状态字PSW (Program Status Word)程序状态字PSW是8位寄存器,用于存放程序运行的状态信息。PSW.7 PSW.0CyACF0RS1RS0OVP10:0687(1)进位标志位Cy(PSW.7):8位加法(减法)运算时,如果运算结果的最高位D7有进位(借位),则C=1,否则C0 C也为位累加器(2)辅助进位标志位Ac(PSW.6): 8位加法运算时,如果低半字节的最高位D3有进位,则AC1,否则AC0;8位减法运算时,如果D3有借位,则AC1,否则AC0。
46、Ac在作BCD码运算时有用CyACF0RS1RS0OVPPSW.7PSW.0(3)软件标志F0(PSW.5) :是用户定义的一个状态标志。10:0688(4)工作寄存器组选择位RS1、RS0 (PSW.4、PSW.3):作用:用软件置位或清零,以确定四组工作寄存器中的哪一组工作。(5)溢出标志OV(PSW.2):当执行算术运算时,由硬件置位或清零,以指示溢出状态。(6) 奇偶标志P(PSW.0):每执行一条指令,单片机都能根据A中1的个数的奇偶自动令P置位或清零:奇为1,偶为0。 CACF0RS1RS0OVPPSW.7PSW.0RS1 RS00 0 0组(地址从00-07H)0 1 1组(地址
47、从08-0FH)1 0 2组(地址从10-17H)1 1 3组(地址从18-1FH) 10:0689 例 分析执行指令 MOV A,#6EH ADD A,#58H后,A、C、Ac、OV、P的内容是什么? 执行第l条指令后立即数6EH进入A,执行第2条指令将使58H与A中的6EH相加。(A)C6H,C0、Ac1;次高位有进位、最高位无进位,OV1(和128),执行第1条指令后P1,执行第2条指令后P0。 10:06904) 数据指针DPTR(Data Pointer)数据指针DPTR是16位的专用寄存器。高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。5) 堆栈指针SP(Stack Po
48、inter)堆栈:是微机RAM中的一个特殊区域,是一组按照“先 进后出”方式工作的,用于暂存信息的单元。堆栈指针SP :指出堆栈顶部在内部RAM中的位置。 (复位后为07H)设置堆栈指针:MOV SP,#data10:0691例:已知(A)=30H,(B)=40H,执行下列指令后,堆栈内容如何变化?MOV SP,#60HPUSH A PUSH B堆栈工作示意图60H61H62H63H64HSP60H61H62H63H64HSP30H60H61H62H63H64HSP30H40H;SP(SP)十1,(SP)(A);SP(SP)十1,(SP)(B);SP60H(1) 进栈指令或压入指令 PUSH
49、direct;SP(SP)十1, (SP)(direct)10:0692(2) 出栈指令或弹出指令 POP direct;(direct)(SP); SP(SP)-1例: 执行下列两条弹出指令后,堆栈内容如何变化?MOV SP,#60HPUSH A PUSH BPOP A POP B堆栈工作示意图;A (SP) , SP(SP)-1; B (SP) , SP(SP)-1A40H60H61H62H63H64H30H40HSP60H61H62H63H64HSP30H40H60H61H62H63H64HSP30HB30H10:06933.5 80C51单片机的工作方式80C51系列单片机的工作方式包
50、括:复位方式、程序执行方式、低功耗方式等。单片机不同的工作方式,代表单片机处于不同的工作状态。单片机工作方式的多少,是衡量单片机性能的一项重要指标。10:0694 单片机在启动运行时,都需要先复位。 复位是指通过某种方式,使单片机片内各寄存器的值变为初始状态的一种操作。 当程序运行错误或由于错误操作而使单片机进入死锁状态时,也可以通过复位进行重新启动。 80C51单片机在时钟电路工作以后,如果其RST端持续得到2个机器周期(24个振荡周期)以上的高电平信号,就可以完成复位操作。3.5.1 复位方式10:069580C51系列单片机的复位电路分为上电复位和手动复位两种方式。 (a) 上电复位电路
51、 (b)开关复位电路图3-15 复位电路在晶振频率为11.0592MHz时,通常取C=10F,R1=10k,R2=1k。在晶振频率为6MHz时,通常取C=22F,R1=1k,R2=200。 10:0696表3-11 单片机复位后内部各寄存器的状态10:06973.5.2 程序执行方式程序执行方式是单片机的基本工作方式,分为连续执行工作方式和单步执行工作方式。1.连续执行工作方式 单片机按照程序事先编写的任务,自动连续地执行下去。 2. 单步执行工作方式 这种方式主要用于用户调试程序。一般的单片机开发系统都会支持单片机单步运行程序。在单片机开发系统上有一专用的单步按键。按一次,单片机就执行一条指
52、令(仅仅执行一条),这样就可以逐条检查程序,查看系统内部资源的当前状态,以便发现问题及时修改。 10:06983.5.3 低功耗方式 为了降低单片机的功耗,减少外界干扰,单片机通常都有可程序控制的低功耗工作方式,也称为省电方式。 80C51系列单片机有两种低功耗方式:待机(空闲节电)方式和停机(掉电)方式。 单片机的低功耗方式的选择由其内部的电源控制寄存器PCON中的相关位来控制。电源控制寄存器PCON的控制格式10:06991. 待机工作方式 当用户通过软件将PCON的IDL位置1后,系统就进入了待机工作方式。 待机工作方式是在程序运行过程中,用户在CPU不执行程序时,进入的一种降低功耗的工
53、作方式,常称为“休眠”状态。在此工作方式下,单片机的工作电流可降到正常工作方式时电流的15%左右。 在待机工作方式下,单片机的晶体振荡器继续工作,单片机内部只是把供给CPU的时钟信号切断,但时钟信号仍然继续提供给中断系统、串行口以及定时器模块。与CPU有关的SP、PC、PSW、A等的状态以及全部工作寄存器的内容被保留起来,I/O引脚状态也保持不变,ALE和保持逻辑高电平。此时CPU工作暂停。 退出待机工作方式的方法有两种,一种是中断退出,一种是硬件复位退出。10:061002. 掉电工作方式 当CPU执行一条置位PCON.1(PD)的指令后,系统即进入掉电工作方式。 在掉电工作方式下,单片机内部振荡器停止工作。由于没有振荡时钟,因此,单片机所有的功能部件都停止工作。但片内RAM区和特殊功能寄存器SFR的内容被保留,I/O端口的输出状态值被保存在对应的SFR中,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品质量承诺书模板
- 中福在线服务员总结
- 中秋节主题演讲
- 为国争光课件教学课件
- 影响工期的因素分析及应对措施
- 元旦模板课件教学课件
- 菊花病害课件教学课件
- 安全的课件教学课件
- 四年级数学(四则混合运算带括号)计算题专项练习与答案汇编
- 自愿出资入股协议书(2篇)
- 特殊儿童心理辅导理论与实务 课件 第4、5章 特殊儿童心理辅导与治疗的基本方法、特殊儿童常见的心理行为问题及辅导
- 2024年可靠性工程师培训
- 如何引导孩子明确自己的兴趣与爱好
- 脊髓电刺激促醒“植物人”
- 四年级科学上册(苏教版)第12课点亮小灯泡(教学设计)
- 人教版《道德与法治》七年级上册做更好的自己课件
- 2024年内科护理学(第七版)期末考试复习题库(含答案)
- 脑出血之基底节出血查房护理课件
- 客观事物的复杂性课件
- 下肢深静脉血栓的护理课件
- 山西省医疗服务项目收费
评论
0/150
提交评论