第2章 80C51 单片机的硬件结构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章80C51单片机的硬件结构2.1单片机的概念2.280C51单片机的逻辑结构及信号引脚2.380C51单片机的内部存储器2.480C51单片机的并行I/O口2.580C51单片机的时钟与定时2.680C51单片机的系统复位2.7单片机低功耗工作模式2.1单片机的概念单片机:集成在一个芯片上的计算机,单片微型计算机SCMC(SingleChipmicro-Computer)微控制器(MCU)嵌入式微控制器EMCU嵌入式微处理器EMP2.280C51单片机的逻辑结构及信号引脚2.2.180C51单片机的内部逻辑结构•不同型号MCS-51单片机CPU处理能力和指令系统完全•兼容,只是存储器和I/O接口的配置有所不同。MCS-51单片机的组成:1.8位CPU2.片内ROM/EPROM、RAM3.片内并行I/O接口4.片内16位定时器/计数器5.片内中断处理系统6.片内全双工串行I/O口MCS-51单片机结构1.中央处理器CPU:单片机的核心(1)运算电路:算术逻辑运算,ALU,ACC,B,PSW,暂存寄存器(2)控制电路:指挥控制部件,PC,PC加1寄存器,指令寄存器,指令译码器,定时控制电路,振荡电路单片机执行过程:2.内部数据存储器RAM:128字节,存放可读/写的数据3.内部程序存储器ROM:4K字节,存放程序和原始数据4.定时器/计数器:T0,T1,16位,定时计数功能5.并行I/O口:4个8位P0,P1,P2,P3,实现数据的并行输入、输出6.串行口:全双工串行口,实现单片机和其他数据设备之间的串行数据传送7.中断控制电路:5个中断源8.时钟电路:为单片机产生时钟脉冲序列,内部有时钟电路,但需外接石英晶体和微调电容。9.位处理器(布尔处理器):位处理功能,用于控制10.2.2.280C51单片机的封装与信号引脚1.芯片封装形式2.芯片引脚介绍I/O口线功能:4个8位并行I/O接口引脚P0.0~P0.7P1.0~P1.7P2.0~P2.7P3.0~P3.7控制线:ALE:地址锁存允许信号端在系统扩展时,用于控制把P0口输出的低8位/PSEN:外部程序存储器读选通信号端实现外部ROM单元的读操作/EA:程序存储器选择信号端/EA=0,对ROM的读操作是从外部ROM/EA=1,对ROM的读操作是从内部ROM开始,并延续到外部ROMRST:复位输入端,高电平有效。持续2个机器周期以上完成单片机的复位XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。3.芯片引脚的第二功能(1)80C51的引脚复用30引脚:第一功能ALE地址所存第二功能/PROG编程脉冲31引脚:第一功能/EA访问ROM控制信号第二功能Vpp编程电压(25V)(2)引脚复用不会引起混乱•工作方式不同•P3口的第二功能都是重要控制信号,使用时优先选用第二功能2.380C51单片机的内部存储器80C51程序存储器(ROM)和数据存储器(RAM)分开,它们有各自独立的存储空间、寻址机构和寻址方式。其典型结构如图2.3.1内部数据存储器低128单元区•AT89C51数据存储器有片内和片外之分:片内有256个字节RAM,地址范围为00H~FFH。(1)按功能又可分为两部分:低128字节(00H~7FH)为一般RAM区高128字节(80H~FFH)为特殊功能寄存器(SFR)区(2)片外数据存储器:可扩展64KB存储空间,0000H~FFFFH,但两者的地址空间是分开的,各自独立的,结构分配所示。00H~7FH单元空间的128字节为RAM区;通用寄存器区、位寻址区、普通RAM区,(1)片内RAM区①通用寄存器区:00H~1FH这32个单元为通用寄存器区,分为四组,每组占八个RAM单元,地址由小到大分别用代号R0~R7表示。通过设置程序状态字PSW中的RS1、RS0状态来决定哪一组寄存器工作②位寻址区:20H~2FH这16个单元为位寻址区。它有双重寻址功能,既可以按位寻址操作,也可以普通RAM单元那样按字节寻址操作。表示方式:位地址形式7FH存储单元地址+位27H.7③普通RAM区:30H~7FH这80个单元为普通RAM区。用于存放用户数据,只能按字节存取。④堆栈区:30H~7FH堆栈是片内RAM中的特殊群体。用来暂时存放诸如子程序端口地址、中断端口地址以及其它需要保护的数据。SP堆栈指针:进栈出栈是对栈顶进行的,SP的内容指示栈顶存储单元地址⑤堆栈使用自动方式:在调用子程序或中断时,返回地址(断点)自动进栈指令方式:使用专用指令PUSH入栈POP出栈现场保护:进栈,A,PSW现场恢复:出栈,A,PSW堆栈的操作:进栈:先SP加1,后写入数据出栈:先读出数据,后SP减1(SP)=30HMOVA,#25H;(A)=25HPUSHACC;(SP)=31H,(31H)=25H,((SP))=25HPOP50H;(50H)=25H,(SP)=30H2.3.2内部数据存储器高128单元区(1)专用寄存器区片内80H~FFH区间,AT89C51集合了一些特殊用途的寄存器,一般称之为特殊功能寄存器(SFR)。AT89C51单片机共有21个SFR,每个SFR占一个RAM单元。它们离散地分布在80H~FFH地址范围内•累加器A8位寄存器,使用率最高①存放操作数,是ALU的一个来源②是ALU运算结果的暂存单元,存放运算中间结果③数据传送的中转站④在变址寻址中用作变址寄存器•PSW:程序状态字CY:进位、借位标志。有进位、借位时CY=1,否则CY=0;AC:辅助进位、借位标志;F0:用户标志位,由用户自己定义;RS1、RS0:当前工作寄存器组选择位;OV:溢出标志位。有溢出时OV=1,否则OV=0;P:奇偶标志位。ACC中结果有奇数个1时P=1,否则P=0。•数据指针DPTR16位寄存器,唯一一个供用户使用的16位寄存器,也可作为2个8位寄存器使用。DPHDPTR高位字节DPLDPTR低位字节DPTR在访问外部RAM时作地址指针使用,可寻址范围为64KB在变址寻址方式中,用DPTR作基址寄存器,用于对ROM的访问没有被SFR占据的地址可能在片内并不存在。对这些地址读出时,通常会得到随机的数据,而写入时将会有不确定的效应,因此软件设计时不要使用这些单元。特殊功能寄存器通常用寄存器寻址,但也可以用直接寻址方式进行字节访问。其中11个寄存器还可进行位寻址(表2.5中带*号的寄存器)操作,其位地址的分配。(3)程序计数器PC•16位寄存器,物理上独立,不在内部RAM中,没有地址。•PC的内容为下一条要执行指令的地址,寻址范围64KB•不能对PC进行读写操作,其内容是通过执行指令改变的•PC具有自动加1功能,实现程序的顺序执行•在执行转移、调用、返回等指令时,把目标地址送入PC中,从而改变程序的执行顺序片外数据存储器AT89C51单片机可扩展片外64KB空间的数据存储器,地址范围为0000H~FFFFH,它与程序存储器的地址空间是重合的,但两者的寻址指令和控制线不同。2.3.3程序存储器80C31:无内部ROM,/EA=0,外部0000H~FFFFH80C51:有内部ROM,/EA=1,内部0000H~0FFFH(PC0FFFH)外部1000H~FFFFH(PC1000H)保留区:0000H~0002H:启动单元,PC=0000H后,单片机从0000H开始取指令执行程序,存放一条无条件转移指令LJMPSTART;(3字节)0003H~000AH:外部中断0000BH~0012H:定时器T00013H~001AH:外部中断1001BH~0022H:定时器T10023H~002AH:串行中断2.480C51单片机的并行I/O口•AT89C51有四个8位并行I/O端口,分别命名为P0口、P1口、P2口和P3口,它们都是8位准双向口,每次可以并行输入或输出8位二进制信息。(1)P0口:P0口有八条端口线,命名为P0.0~P0.7,其中P0.0为低位,P0.7为高位。它由一个输出锁存器,两个三态缓冲器,输出驱动电路和输出控制电路组成。P0口是一个三态双向I/O口,它有两种不同的功能,用于不同的工作环境。DCLQQP0.X锁存器MUXT2T1VCC控制地址/数据读锁存器内部总线写锁存器读引脚P0.X(2)P1口:P1口有八条端口线,命名为P1.0~P1.7,P1口是一个准双向口,只作普通的I/O口使用,其功能与P0口的第一功能相同。作输出口使用时,由于其内部有上拉电阻,所以不需外接上拉电阻;作输入口使用时,必须先向锁存器写入“1”,使场效应管T截止,然后才能读取数据。DCLQQP1.X锁存器读锁存器内部总线写锁存器读引脚VCCP1.XT(3)P2口P2口有八条端口线,命名为P2.0~P2.7。P2口也是一个准双向口,它有两种使用功能:①当系统不扩展外部存储器时,作普通I/O口使用,其功能和原理与P0口第一功能相同,只是作为输出口时不需外接上拉电阻;②当系统外扩存储器时,P2口作系统扩展的地址总线口使用,输出高8位的地址A7~A15,与P0口第二功能输出的低8位地址相配合,共同访问外部程序或数据存储器(64KB),但它只确定地址并不能像P0口那样还可以传送存储器的读写数据。DCLQQP2.X锁存器MUXTVCC控制内部上拉电阻读锁存器内部总线写锁存器读引脚P2.X地址(4)P3口:P3口有八条端口线,命名为P3.0~P3.7,P3口是一个多用途的准双向口。第一功能是作普通I/O口使用,其功能和原理与P1口相同。第二功能是作控制和特殊功能口使用。DCLQQP3.X锁存器读锁存器内部总线写锁存器读引脚VCCP3.XT内部上拉电阻第二输出功能第二输入功能(5)I/O口的读写:在单片机中,口是一个集数据输入缓冲、数据输出驱动及锁存等多项功能于一体的I/O电路。AT89C51的4个口在电路结构上基本相同,P0~P3口都可作为普通I/O口来使用。但又各具特点,因此在功能和使用上各口之间有一定的差异。各口用作输入时,均须先写入“1”;P0口用作输出时,应外接上拉电阻。2.580C51单片机的时钟与定时2.5.1振荡器与时钟电路单片机内各部件之间有条不紊的协调工作,其控制信号是在一种基本节拍的指挥下按一定时间顺序发出的,这些控制信号在时间上的相互关系就是CPU时序。而产生这种基本节拍的电路就是振荡器和时钟电路。AT89C51单片机内部有一个用于构成振荡器的单级反相放大器(1)AT89C51内部振荡器电路:引脚XTAL1为反相器输入端,XTAL2为反相器输出端。当在放大器两个引脚上外接一个晶体(或陶瓷振荡器)和电容组成的并联谐振电路作为反馈元件时,便构成一个自激振荡器单片机也可采用外部振荡器向内部时钟电路输入一固定频率的时钟源信号。此时,外部信号接至XTAL1端,输入给内部时钟电路,而XTAL2端浮空即可2.5.2时序1.振荡周期:振荡周期指由单片机片内或片外振荡器所产生的,为单片机提供时钟源信号的周期(其值为1/fosc)。2.时钟周期:时钟周期又称为状态周期S,由内部时钟电路产生,是振荡周期的二倍。每个时钟周期分为P1和P2两个节拍,前半周期P1节拍信号有效,后半周期P2节拍信号有效,每个节拍完成不同的逻辑操作。3.机器周期:一个机器周期由6个状态周期(12个振荡周期)组成,6个状态周期用S1~S6表示,每一状态周期的两个节拍用P1、P2表示,则一个机器周期的12个节拍就可用S1P1、S1P2、S2P1、…、S6P1、S6P2来表示一个机器周期的12个节拍(振荡周期)4.指令周期:执行一条指令所占用的全部时间。一个指令周期通常由1~4个机器周期组成。若外接晶振频率为fosc=12MHZ,则四个基本周期的具体数值为:(1)振荡周期=1/12μs。(2)时钟周期=1/6μs。(3)机器周期=1μs。(4)指令周期=1~4μs。5.AT89C51单

1 / 54
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功