版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章AT89C51单片机结构和原理 2.1AT89C51单片机的结构2.2AT89C51单片机引脚及其功能
2.3AT89C51存储器2.4AT89C51单片机工作方式2.5AT89C51时钟电路与时序习题与思考题2.1AT89C51单片机的结构AT89系列单片机在结构上根本相同,只是在个别模块和功能上有些区别。图2-1是AT89C51单片机的内部结构框图。它包含了作为微型计算机所必需的根本功能部件,各功能部件通过片内单一总线连成一个整体,集成在一块芯片上。图2-1AT89C51内部结构框图2.1.1中央处理器(CPU)CPU是单片机内部的核心部件,是一个8位二进制数的中央处理单元,主要由运算器、控制器和存放器阵列构成。1.运算器运算器用来完成算术运算和逻辑运算功能,它是AT89C51内部处理各种信息的主要部件。运算器主要由算术逻辑单元(ALU)、累加器(ACC)、暂存存放器(TMP1、TMP2)和状态存放器(PSW)组成。(1)算术逻辑单元(ALU):AT89C51中的ALU由加法器和一个布尔处理器组成(图中未具体画出)。(2)累加器(ACC):用来存放参与算术运算和逻辑运算的一个操作数或运算的结果。(3)暂存存放器(TMP1、TMP2):用来存放参与算术运算和逻辑运算的另一个操作数,它对用户不开放。(4)状态存放器(PSW):PSW是一个8位标志存放器,用来存放ALU操作结果的有关状态。表2-1PSW各位定义表位编号PSW7PSW6PSW5PSW4PSW3PSW2PSW1PSW0位定义CYACF0RS1RS0OV—P位地址D7HD6HD5HD4HD3HD2HD1HD0H①进位标志位CY:表示累加器A在加减运算过程中其最高位A7有无进位或借位。②辅助进位位AC:表示累加器A在加减运算时低4位(A3)有无向高4位(A4)进位或借位。③用户标志位F0:是用户定义的一个状态标志位,根据需要可以用软件来使它置位或去除。④存放器选择位RS1、RS0:AT89C51共有四组,每组八个工作存放器R0~R7。编程时用于存放数据或地址。但每组工作存放器在内部RAM中的物理地址不同。RS1和RS0的四种状态组合就是用来确定四组工作存放器的实际物理地址的。RS1、RS0状态与工作存放器R0~R7的物理地址关系如表2-2所示。表2-2工作存放器组R0~R7的物理地址RS1RS0工作寄存器组号R0~R7的物理地址0
00
11
011012300H~07H08H~0FH16H~17H18H~1FH⑤溢出标志位OV:当执行算术指令时,由硬件自动置位或清零,表示累加器A的溢出状态。⑥奇偶标志位P:用于指示运算结果中1的个数的奇偶性,假设累加器A中1的个数为奇数,那么P=1;假设1的个数为偶数,那么P=0。2.控制器控制器是单片机内部按一定时序协调工作的控制核心,是分析和执行指令的部件。控制器主要由程序计数器PC、指令存放器IR、指令译码器ID和定时控制逻辑电路等构成。程序计数器PC是专门用于存放现行指令的16位地址的。CPU就是根据PC中的地址到ROM中去读取程序指令码和数据,并送给指令存放器IR进行分析。指令存放器IR用于存放CPU根据PC地址从ROM中读出的指令操作码。指令译码器ID是用于分析指令操作的部件,指令操作码经译码后产生相应于某一特定操作的信号。定时控制逻辑中定时部件用来产生脉冲序列和多种节拍脉冲。3.存放器阵列存放器阵列是单片机内部的临时存储单元或固定用途单元,包括通用存放器组和专用存放器组。通用存放器组用来存放过渡性的数据和地址,提高CPU的运行速度。专用存放器组主要用来指示当前要执行指令的内存地址,存放特定的操作数,指示指令运行的状态等。2.1.2存储器AT89C51单片机内部有256个字节的RAM数据存储器和4 KB的闪存程序存储器(Flash),当不够使用时,可分别扩展为64KB外部RAM存储器和64KB外部程序存储器。它们的逻辑空间是分开的,并有各自的寻址机构和寻址方式。这种结构的单片机称为哈佛型结构单片机。程序存储器是可读不可写的,用于存放编好的程序和表格常数。数据存储器是既可读也可写的,用于存放运算的中间结果,进行数据暂存及数据缓冲等。2.1.3I/O端口AT89C51单片机对外部电路进行控制或交换信息都是通过I/O端口进行的。单片机的I/O端口分为并行I/O端口和串行I/O端口,它们的结构和作用并不相同。1.并行I/O端口AT89C51有四个8位并行I/O端口,分别命名为P0口、P1口、P2口和P3口,它们都是8位准双向口,每次可以并行输入或输出8位二进制信息。2.串行I/O端口AT89C51有一个全双工的可编程串行I/O端口,它利用了P3口的第二功能,即将P3.1引脚作为串行数据的发送线TXD,将P3.0引脚作为串行数据的接收线RXD。2.1.4定时器/计数器AT89C51内部有两个16位可编程定时器/计数器,简称为定时器0(T0)和定时器1(T1),T0和T1分别由两个8位存放器构成,其中T0由TH0(高8位)和TL0(低8位)构成,T1由TH1(高8位)和TL1(低8位)构成。TH0、TL0、TH1、TL1都是SFR中的特殊功能存放器(见表2-4)。T0和T1在定时器控制存放器TCON和定时器方式选择存放器TMOD的控制下(TCON、TMOD为特殊功能存放器),可工作在定时器模式或计数器模式下,每种模式下又有不同的工作方式。当定时或计数溢出时还可申请中断。详细情况参见第6章。2.1.5中断系统单片机中的中断是指CPU暂停正在执行的原程序转而为中断源效劳(执行中断效劳程序),在执行完中断效劳程序后再回到原程序继续执行。中断系统是指能够处理上述中断过程所需要的局部电路。AT89C51的中断系统由中断源、中断允许控制器IE、中断优先级控制器IP、定时器控制器TCON(中断标志存放器)等构成,IE、IP、TCON均为SFR特殊功能存放器(见表2-2)。2.1.6内部总线总线是用于传送信息的公共途径。总线可分为数据总线、地址总线、控制总线。单片机内的CPU、存储器、I/O接口等单元部件都是通过总线连接到一起的。采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。AT89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的。2.2AT89C51单片机引脚及其功能AT89C51有40条引脚,与其他51系列单片机引脚是兼容的。这40条引脚可分为I/O端口线、电源线、控制线、外接晶体线四局部。其封装形式有两种:双列直插封装(DIP)形式和方形封装形式,如图2-2所示。图2-2AT89C51封装和引脚分配图(a)双列直插式封装;(b)方形封装2.2.1I/O端口功能1.P0口P0口有八条端口线,命名为P0.0~P0.7,其中P0.0为低位,P0.7为高位。每条线的结构组成如图2-3所示。它由一个输出锁存器,两个三态缓冲器,输出驱动电路和输出控制电路组成。P0口是一个三态双向I/O口,它有两种不同的功能,用于不同的工作环境。图2-3P0口位结构图2.P1口P1口有八条端口线,命名为P1.0~P1.7,每条线的结构组成如图2-4所示。P1口是一个准双向口,只作普通的I/O口使用,其功能与P0口的第一功能相同。作输出口使用时,由于其内部有上拉电阻,所以不需外接上拉电阻;作输入口使用时,必须先向锁存器写入“1”,使场效应管T截止,然后才能读取数据。图2-4P1口位结构图3.P2口P2口有八条端口线,命名为P2.0~P2.7,每条线的结构如图2-5所示。P2口也是一个准双向口,它有两种使用功能:一种是当系统不扩展外部存储器时,作普通I/O口使用,其功能和原理与P0口第一功能相同,只是作为输出口时不需外接上拉电阻;另一种是当系统外扩存储器时,P2口作系统扩展的地址总线口使用,输出高8位的地址A7~A15,与P0口第二功能输出的低8位地址相配合,共同访问外部程序或数据存储器(64KB),但它只确定地址并不能像P0口那样还可以传送存储器的读写数据。图2-5P2口位结构图4.P3口P3口有八条端口线,命名为P3.0~P3.7,每条线的结构如图2-6所示。P3口是一个多用途的准双向口。第一功能是作普通I/O口使用,其功能和原理与P1口相同。第二功能是作控制和特殊功能口使用,这时八条端口线所定义的功能各不相同,如表2-3所示。
图2-6P3口位结构图表2-3P3口各位的第二功能5.I/O口的读写P0~P3口都可作为普通I/O口来使用。当作为输入口使用时,必须先向该口的锁存器中写入“1”,然后再从读引脚缓冲器中读入引脚状态,这样的读入结果才正确(前面已分析过)。2.2.2电源线AT89C51单片机的电源线有以下两种:(1)VCC:+5V电源线。(2)VSS:接地线。2.2.3外接晶体引脚AT89C51单片机的外接晶体引脚有以下两种:(1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。(2)XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。2.2.4控制线AT89C51单片机的控制线有以下几种:(1)RST:复位输入端,高电平有效。(2)ALE/:地址锁存允许/编程线。(3):外部程序存储器的读选通线。(4)/VPP:片外ROM允许访问端/编程电源端。2.3AT89C51存储器AT89C51单片机存储器结构采用哈佛型结构,即将程序存储器(ROM)和数据存储器(RAM)分开,它们有各自独立的存储空间、寻址机构和寻址方式。其典型结构如图2-7所示。图2-7AT89C51存储器结构图(a)程序存储器地址分配;(b)数据存储器地址分配2.3.1程序存储器AT89C51程序存储器有片内和片外之分。片内有4KB字节的Flash程序存储器,地址范围为0000H~0FFFH。当不够使用时,可以扩展片外程序存储器,因程序计数器PC和程序地址指针DPTR都是16位的,所以片外程序存储器扩展的最大空间是64KB,地址范围为0000H~FFFFH。2.3.2数据存储器AT89C51数据存储器也有片内和片外之分。片内有256个字节RAM,地址范围为00H~FFH。片外数据存储器可扩展64KB存储空间,地址范围为0000H~FFFFH,但两者的地址空间是分开的,各自独立的,结构分配如图2-7(b)所示。1.片内数据存储器AT89C51单片机片内数据存储器可分为两局部:00H~7FH单元空间的128字节为RAM区;80H~FFH单元空间的128字节为专用存放器(SFR)区。两局部的地址空间是连续的。(1)片内RAM区:共128字节,它又可划分为通用存放器区、位寻址区、普通RAM区,如图2-8所示。
普通RAM区7FH
30H2FH7F7E7D7C7B7A7978
2EH7776757473727170
2DH6F6E6D6C6B6A6968
2CH6766656463626160
2BH5F5E5D5C5B5A5958
2AH5756555453525150
29H4F4E4D4C4B4A4948
28H4746454443424140位寻址区27H3F3E3D3C3B3A3938
26H373635343332313025H2F2E2D2C2B2A2928
24H2726252423222120
23H1F1E1D1C1B1A1918
22H1716151413121110
21H0F0E0D0C0B0A0908
20H0706050403020100
1FH
3组
18H
17H
2组
10H通用寄存器区0FH
1组
08H
07H
0组
00H图2-8AT89C51内部RAM空间分配①通用存放器区:00H~1FH这32个单元为通用存放器区,分为四组,每组占八个RAM单元,地址由小到大分别用代号R0~R7表示。通过设置程序状态字PSW中的RS1、RS0状态来决定哪一组存放器工作,如表2-2所示。②位寻址区:20H~2FH这16个单元为位寻址区。它有双重寻址功能,既可以进行位寻址操作,也可以同普通RAM单元一样按字节寻址操作。③普通RAM区:30H~7FH这80个单元为普通RAM区。用于存放用户数据,只能按字节存取。④堆栈区:堆栈是片内RAM存储器中的特殊群体。图2-9堆栈结构图(2)专用存放器区:片内80H~FFH这一区间,AT89C51集合了一些特殊用途的存放器,一般称之为特殊功能存放器SFR。每个SFR占有一个RAM单元。它们离散地分布在80H~FFH地址范围内,如表2-4所示。表2-4AT89C51特殊功能存放器SFR一览表没有被SFR占据的地址可能在片内并不存在。对这些地址读出时,通常会得到随机的数据,而写入时将会有不确定的效应,因此软件设计时不要使用这些单元。特殊功能存放器通常用存放器寻址,但也可以用直接寻址方式进行字节访问。其中11个存放器还可进行位寻址(表2-4中带*号的存放器)操作,其位地址的分配如表2-5所示。表2-5SFR中的位地址分配寄存器符号位地址字节地址D7D6D5D4D3D2D1D0BF7F6F5F4F3F2F1F0F0HACCE7E6E5E4E3E2E1E0E0HPSWD7D6D5D4D3D2D1D0D0HIP
BCBBBAB9B8B8HP3B7B6B5B4B3B2B1B0B0HIEAF
ACABAAA9A8A8HP2A7A6A5A4A3A2A1A0A0HSCON9F9E9D9C9B9A999898HP1979695949392919090HTCON8F8E8D8C8B8A898888HP0878685848382818080H2.片外数据存储器AT89C51单片机可扩展片外64KB空间的数据存储器,地址范围为0000H~FFFFH,它与程序存储器的地址空间是重合的,但两者的寻址指令和控制线不同。2.4AT89C51单片机工作方式2.4.1复位方式单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。AT89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位。复位后,PC程序计数器的内容为0000H,其他特殊功能存放器的复位状态如表2-4所示。片内RAM中内容不变。复位电路一般有上电复位、手动开关复位和自动复位电路三种,如图2-10所示。图2-10单片机复位电路图(a)上电复位电路;(b)手动复位电路;(c)自动复位电路2.4.2程序执行方式程序执行方式是单片机的根本工作方式,也就是执行用户编写好并存放在ROM中的程序。2.4.3省电方式AT89系列单片机提供了两种通过软件编程来实现的省电运行方式,即空闲方式和掉电方式。省电方式可以使单片机在供电困难的环境中功耗最小,仅在需要正常工作时才正常运行。单片机正常工作时消耗10~20mA电流,空闲方式工作时消耗1.75mA电流,掉电方式工作时消耗5~50μA电流,可见在省电方式下单片机耗能很小。在空闲和掉电方式下,单片机内部硬件控制电路如图2-11所示。图2-11空闲和掉电方式内部电路图2.4.4EPROM编程和校验方式
1.签名字节的读出签名字节是生产厂家在生产89系列单片机时写入到存储器中的信息。信息内容包括生产厂家、编程电压和单片机型号。2.Flash存储器编程方式这里的编程是指利用特殊手段将用户编写好的程序代码写入AT89C51片内4KB字节Flash存储器的过程(89C52方法相同)。编程前必须先确定编程电压。AT89系列单片机只有两种编程电压,一种是低压编程方式,用5V电压;另一种是高压编程方式,用12V电压。这一编程电压可从器件封装外表读取或从签名字节中读取。
(1)在地址线上输入要编程单元的地址。(2)在数据线上输入要写入的数据字节。(3)在/Vpp端参加编程电压(5V或12V)。(4)激活相应的控制信号。(5)在ALE/端参加一个编程负脉冲,数据线上的数据字节就写入地址线上对应的Flash存储器单元地址中了。图2-12Flash编程硬件逻辑电路图3.程序的校验方式程序校验方式是指对编程中写入的程序代码进行读出,并与程序写入前代码进行比较验证的过程。4.EPROM加密方式用户编写好的程序通过编程和校验无误,写入到EPROM中后,可进行加密保护以防止非法读出受保护的应用软件。5.程序擦除工作方式AT89C51单片机的片内Flash存储器可屡次编程,但在每次对程序存储器进行编程前必须先执行擦除操作,使存储器单元内容变为全FFH状态(包括签名字节)。2.5AT89C51时钟电路与时序2.5.1振荡器与时钟电路单片机内各部件之间有条不紊的协调工作,其控制信号是在一种根本节拍的指挥下按一定时间顺序发出的,这些控制信号在时间上的相互关系就是CPU时序。而产生这种根本节拍的电路就是振荡器和时钟电路。AT89C51单片机内部有一个用于构成振荡器的单级反相放大器,如图2-13所示。图2-13AT89C51内部振荡器电路图引脚XTAL1为反相器输入端,XTAL2为反相器输出端。当在放大器两个引脚上外接一个晶体(或陶瓷振荡器)和电容组成的并联谐振电路作为反响元件时,便构成一个自激振荡器,如图2-14所示。图2-14内部振荡器等效电路图单片机也可采用外部振荡器向内部时钟电路输入一固定频率的时钟源信号。此时,外部信号接至XTAL1端,输入给内部时钟电路,而XTAL2端浮空即可,如图2-15所示。
图2-15外部时钟电路图2.5.2时序1.振荡周期振荡周期指由单片机片内或片外振荡器所产生的,为单片机提供时钟源信号的周期(其值为1/fosc)。
2.时钟周期时钟周期又称为状态周期S,由内部时钟电路产生,是振荡周期的二倍。每个时钟周期分为P1和P2两个节拍,前半周期P1节拍信号有效,后半周期P2节拍信号有效,每个节拍完成不同的逻辑操作。3.机器周期一个机器周期由六个状态周期(12个振荡周期)组成,六个状态周期用S1~S6表示,每一状态周期的两个节拍
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度个人独资协议书3篇
- 离心式排风机安装施工方案及技术措施
- 2024-2030年中国互联网+筒仓监测设备行业发展创新模式及投资战略建议报告
- 2024-2030年中国互联网+大数据平台行业发展创新模式及投资战略建议报告
- 2024-2030年中国cvt无级变速箱行业前景预测及发展策略研究报告
- 2024-2030年新版中国橡塑制项目可行性研究报告(甲级资质)
- 2024-2030年“一带一路”背景下中国液化石油气罐车产业未来发展趋势及投资策略分析报告
- 大学生国际交流合作协议书
- 科技展览会场地租赁合同
- 经营权转让协议书
- 星级酒店组织架构图
- 七年级数学上有理数的乘方练习题40道带答案
- 脱硫液提盐操作规程
- 结婚函调报告表(A4双面打印)
- (完整word版)餐券模板
- 清水砖墙面修复专项施工方案
- 设备操作三好四会四项要求五项原则培训教材
- CCTV《开门大吉》选手报名表VM
- 乒乓球比赛用表
- 硕士开题报告和文献综述模板-北京理工大学研究生院
- 砖基础工程量计算PPT课件
评论
0/150
提交评论