欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    AT89S51单片机知识说明.doc

    • 资源ID:808750       资源大小:1.06MB        全文页数:19页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    AT89S51单片机知识说明.doc

    AT89S51AT89S51 AT89S51 单片机的硬件组成 单片机内硬件组成结构如图 2-1 所示。有如下功能部件和特性: (1)8 位微处理器(CPU) ; (2)数据存储器(128B RAM) ; (3)程序存储器(4KB Flash ROM) ; (4)4 个 8 位可编程并行 I/O 口(P0 口、P1 口、P2 口和 P3 口) ; (5)1 个全双工的异步串行口; (6)2 个可编程的 16 位定时器/计数器; (7)1 个看门狗定时器; (8)中断系统具有 5 个中断源、5 个中断向量; (9)特殊功能寄存器(SFR)26 个; (10)低功耗模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式; (11)3 个程序加密锁定位。 与 AT89C51 相比,AT89S51 有更突出的优点: (1)增加在线可编程功能 ISP(In System Program) ,字节和页编程,现场程序调试和修改更加方便灵活; (2)数据指针增加到两个,方便了对片外 RAM 的访问过程; (3)增加了看门狗定时器,提高了系统的抗干扰能力; (4)增加断电标志; (5)增加掉电状态下的中断恢复模式。 单片机内各功能部件通过片内单一总线连接而成(见图 2-1) ,基本结构依旧是 CPU 加上外围芯片的传统 微机结构。 CPU 对各种功能部件的控制是采用特殊功能寄存器(SFR,Special Function Register)的集中控制方式。 单片机内部件功能 1)CPU(微处理器) 8 位的 CPU,与通用 CPU 基本相同,同样包括了运算器和控制器两大部分,还有面向控制的位处理功能。 2)数据存储器(RAM) 片内为 128B(52 子系列为 256B) ,片外最多可扩 64KB。片内 128B 的 RAM 以高速 RAM 的形式集成, 可加快单片机运行的速度和降低功耗。图图2-12-1 AT89S51AT89S51单片机片内结构单片机片内结构3)程序存储器(Flash ROM) 片内集成有 4KB 的 Flash 存储器(AT89S52 则为 8KB;AT89C55 片内 20KB) ,如片内容量不够,片外可 外扩至 64KB。 4)中断系统 具有 5 个中断源,2 级中断优先权。 5)定时器/计数器 2 个 16 位定时器/计数器(52 子系列有 3 个) ,4 种工作方式。 6)1 个看门狗定时器 WDT 当 CPU 由于干扰使程序陷入死循环或跑飞时,WDT 可使程序恢复正常运行。 7)串行口 1 个全双工的异步串行口,4 种工作方式。可进行串行通信,扩展并行 I/O 口,还可与多个单片机构成多机 系统。 8)P0 口、P1 口、P2 口和 P3 口 4 个 8 位并行 I/O 口。 9)特殊功能寄存器(SFR) 26 个,对片内各功能部件管理、控制和监视。是各个功能部件的控制寄存器和状态寄存器,映射在片内 RAM 区 80HFFH 内。 AT89S51 完全兼容 AT89C51,在充分保留原来软、硬件条件下,完全可以用 AT89S51 直接代换。 AT89S51 的引脚功能 AT89S51 与 51 系列中各种型号芯片的引脚互相兼容。目前多采用 40 只引脚双列直插,如图 2-2 所示。引脚按其功能可分为如下 3 类: 1)电源及时钟引脚VCC、VSS;XTAL1、XTAL2。 2)控制引脚 、ALE/ 、 /VPP、RST(RESET) 3)I/O 口引脚P0、P1、P2、P3,为 4 个 8 位 I/O 口 电源及时钟引脚 1电源引脚 1)VCC(40 脚):+5V 电源。 2)VSS(20 脚):数字地。 2时钟引脚 1)XTAL1(19 脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石 英晶体和微调电容。外接时钟源时,该脚接外部时钟振荡器的信号。 2)XTAL2(18 脚):片内振荡器反相放大器的输出端。当使用片内振荡器,该脚连接外部石英晶体和微 调电容。当使用外部时钟源时,本脚悬空。 3控制引脚 1)RST (RESET,9 脚) 复位信号输入,在引脚加上持续时间大于 2 个机器周期的高电平,可使单片机复位。正常工作,此脚电平 应 0.5V。 当看门狗定时器溢出输出时,该脚将输出长达 96 个时钟振荡周期的高电平。 2) /VPP (Enable Address/Voltage Pulse of Programing,31 脚) 引脚第一功能:外部程序存储器访问允许控制端。 =1:在 PC 值不超出 0FFFH(即不超出片内 4KB Flash 存储器的地址范围)时,单片机读片内程序存储器 (4KB)中的程序,但 PC 值超出 0FFFH (即超出片内 4KB Flash 地址范围)时,将自动转向读取片外 60KB(1000H-FFFFH)程序存储器空间中的程序。 =0:只读取外部的程序存储器中的内容,读取的地址范围为 0000HFFFFH,片内的 4KB Flash 程序存储 器不起作用。VPP:引脚第二功能,对片内 Flash 编程,接编程电压。 3)ALE/ (Address Latch Enable/PROGramming,30 脚) ALE 为 CPU 访问外部程序存储器或外部数据存储器提供地址锁存信号,将低 8 位地址锁存在片外的地址 锁存器中。此外,单片机正常运行时,ALE 端一直有正脉冲信号输出,此频率为时钟振荡器频率 fosc 的PSENPROGEAEAPROGEAEA1/6。可用作外部定时或触发信号。 注意,每当 AT89S51 访问外部 RAM 时(执行 MOVX 类指令) ,要丢失一个 ALE 脉冲。 如需要,可将特殊功能寄存器 AUXR(地址为 8EH,将在后面介绍)的第 0 位(ALE 禁止位)置 1,来禁 止 ALE 操作,但执行访问外部程序存储器或外部数据存储器指令“MOVC”或“MOVX”时,ALE 仍然 有效。即 ALE 禁止位不影响对外部存储器的访问。:引脚第二功能,对片内 Flash 编程,为编程脉冲输入脚。4) (Program Strobe ENable,29 脚) 片外程序存储器读选通信号,低电平有效。 并行 I/O 口引脚 1)P0 口:8 位,漏极开路的双向 I/O 口 当外扩存储器及 I/O 接口芯片时,P0 口作为低 8 位地址总线及数据总线的分时复用端口。 P0 口也可用作通用的 I/O 口,需加上拉电阻,这时为准双向口。作为通用 I/O 输入,应先向端口写入 1。 可驱动 8 个 LS 型 TTL 负载。 2)P1 口:8 位,准双向 I/O 口,具有内部上拉电阻。 准双向 I/O 口,作为通用 I/O 输入时,应先向端口锁存器写 1。 P1 口可驱动 4 个 LS 型 TTL 负载。 P1.5/MOSI、P1.6/MISO 和 P1.7/SCK 可用于对片内 Flash 存储器串行编程和校验,它们分别是串行数据输入、输出和移位脉冲引脚。 3)P2 口:8 位,准双向 I/O 口,具有内部上拉电阻。 当 AT89S51 扩展外部存储器及 I/O 口时,P2 口作为高 8 位地址总线用,输出高 8 位地址。 P2 口也可作为普通的 I/O 口使用。当作为通用 I/O 输入时, 应先向端口输出锁存器写 1。P2 口可驱动 4 个 LS 型 TTL 负载。 4)P3 口:8 位,准双向 I/O 口,具有内部上拉电阻。 可作为通用的 I/O 口使用。作为通用 I/O 输入,应先向端口输出锁存器写入 1。可驱动 4 个 LS 型 TTL 负载。图图2-2 AT89S51双列直插封装方式的引脚PROGPSENP3 口还可提供第二功能。第二功能定义见表 2-1,应熟记。表 2-1 P3 口的第二功能定义综上所述,P0 口可作为总线口,为双向口。作为通用的 I/O 口使用时,为准双向口,这时需加上拉电阻。 P1 口、P2 口、P3 口均为准双向口。 注意:准双向口与双向口的差别。准双向口仅有两个状态。而 P0 口作为总线使用,口线内无上拉电阻, 处于高阻“悬浮”态。故 P0 口为双向三态 I/O 口。 为什么 P0 口要有高阻“悬浮”态? 准双向 I/O 口则无高阻的“悬浮”状态。 另外,准双向口作通用 I/O 的输入口使用时,一定要向该口先写入“1” 。以上的准双向口与双向口的差别, 读者在阅读 2.5 节后,将会有深刻的理解。 至此,40 个引脚已介绍完,应熟记每一引脚功能对应用系统硬件电路设计十分重要。 AT89S51AT89S51 的 CPU(p41)CPU(p41) 由图 2-1 可见,CPU 由运算器和控制器构成。 一、运算器 对操作数进行算术、逻辑和位操作运算。主要包括算术逻辑运算单元 ALU、累加器 A、位处理器、程序状 态字寄存器 PSW 及两个暂存器等。 1算术逻辑运算单元 ALU 可对 8 位变量逻辑运算(与、或、异或、循环、求补和清零) ,还可算术运算(加、减、乘、除) ALU 还有位操作功能,对位变量进行位处理,如置“1” 、清“0” 、求补、测试转移及逻辑“与” 、 “或”等。2累加器 A 使用最频繁的寄存器,可写为 Acc。 “A”与“Acc” 书写上的差别,将在第 3 章介绍。 作用如下: 1)ALU 单元的输入数据源之一,又是 ALU 运算结果存放单元。 2)数据传送大多都通过累加器 A,相当于数据的中转站。为解决“瓶颈堵塞”问题,AT89S51 增加了一 部分可以不经过累加器的传送指令。 A 的进位标志 Cy 是特殊的,因为它同时又是位处理机的位累加器 3程序状态字寄存器 PSW PSW(Program Status Word)位于片内特殊功能寄存器区,字节地址为 D0H。 包含了程序运行状态的信息,其中 4 位保存当前指令执行后的状态,供程序查询和判断。格式如图 2-3 所 示。引脚第二功能说明P3.0RXD串行数据输入口P3.1TXD串行数据输出口P3.2INT0外部中断 0 输入P3.3INT1外部中断 1 输入P3.4T0定时器 0 外部计数输入P3.5T1定时器 1 外部计数输入P3.6WR外部数据存储器写选通输出P3.7RD外部数据存储器读写通输出图 2-3 PSW 的格式 PSW 中各个位的功能: 1)Cy(PSW.7)进位标志位可写为 C。在算术和逻辑运算时,若有进位/借位,Cy1;否则,Cy0。在位处理器中,它是位累加 器。 2)Ac(PSW.6)辅助进位标志位在 BCD 码运算时,用作十进位调整。即当 D3 位向 D4 位产生进位或借位时,Ac1;否则,Ac0。 3)F0(PSW.5)用户设定标志位由用户使用的一个状态标志位,可用指令来使它置 1 或清 0,控制程序的流向。用户应充分利用。 4)RS1、RS0(PSW.4、PSW.3)4 组工作寄存器区选择 选择片内 RAM 区中的 4 组工作寄存器区中的某一组为当前工作寄存区见表 2-2。 5)OV(PSW.2)溢出标志位 当执行算术指令时,用来指示运算结果是否产生溢出。如果结果产生溢出,OV=1;否则,OV=0。 6)PSW.1 位 保留位 7)P(PSW.0)奇偶标志位 指令执行完,累加器 A 中“1”的个数是奇数还是偶数。P=1,表示 A 中“1”的个数为奇数。 P=0,表示 A 中“1”的个数为偶数。 此标志位对串行通信有重要的意义,常用奇偶检验的方法来检验数据串行传输的可靠性。表 2-2 RS1 RS0 与四组寄存器区的对应关系二、控制器任务识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动协调地工作。控制器包括:程序计数器、指令寄存器、指令译码器、定时及控制逻辑电路等。功能是控制指令的读入、 译码和执行,从而对各功能部件进行定时和逻辑控制。程序计数器 PC 是一个独立的 16 位计数器,不可访问。单片机复位时,PC 中内容为 0000H,从程序存 储器 0000H 单元取指令,开始执行程序。PC 工作过程是:CPU 读指令时,PC 的内容作为所取指令的地址,程序存储器按此地址输出指令字节, 同时 PC 自动加 1。RS1 RS0所选的四组寄存器0 00 区(内部 RAM 地址 00H-07H)0 11 区(内部 RAM 地址 08H-0FH)1 0 2 区(内部 RAM 地址 10H-17H)1 1 3 区(内部 RAM 地址 18H-1FH)PC 中内容变化轨迹决定程序流程。当顺序执行程序时自动加 1;执行转移程序或子程序、中断子程序调用 时,自动将其内容更改成所要转移的目的地址。PC 的计数宽度决定了程序存储器的地址范围。PC 为 16 位,故可对 64KB(=216B)寻址。 基本工作方式: 1)程序计数器自动加 1 2)执行有条件或无条件转移指令时,程序计数器将被置入新的数值,从而使程序的流向发生变化。 3)执行子程序调用或中断调用时完成下列操作: PC 的当前值保护 将子程序入口地址或中断向量的地址送入 PC。PC 变化的轨迹决定程序的流程。 AT89S51 存储器的结构 存储器的结构特点之一是将程序存储器和数据存储器分开(哈佛结构) ,并有各自的访问指令。 存储器空间可分为 4 类。 .程序存储器空间 片内和片外两部分。 片内 4KB Flash ,编程和擦除完全是电气实现。可用通用编程器对其编程,也可在线编程。 当片内 4KB Flash 存储器不够用时,可片外扩展,最多可扩展至 64KB 程序存储器。 .数据存储器空间 片内与片外两部分。 片内有 128 B RAM(52 子系列为 256B) 。 片内 RAM 不够用时,在片外可扩展至 64KB RAM 。 .特殊功能寄存器 SFR (Special Function Register) 片内各功能部件的控制寄存器及状态寄存器。SFR 综合反映了整个单片机基本系统内部实际的工作状态及 工作方式。 .位地址空间 共有 211 个可寻址位,构成了位地址空间。它们位于内部 RAM(共 128 位)和特殊功能寄存器区(共 83 位)中。 程序存储器空间 存放程序和表格之类的固定常数。片内为 4KB 的 Flash ,地址为 0000H0FFFH。16 位地址线,可外扩 的程序存储器空间最大为 64KB,地址为 0000HFFFFH。使用时应注意以下问题: 1)分为片内和片外两部分,访问片内的还是片外的程序存储器,由引脚电平确定。=1 时,CPU 从片内 0000H 开始取指令,当 PC 值没有超出 0FFFH 时,只访问片内 Flash 存储器,当 PC 值超出 0FFFH 自动转向读片外程序存储器空间 1000HFFFFH 内的程序。=0 时,只能执行片外程序存储器(0000HFFFFH)中的程序。不理会片内 4KB Flash 存储器。 2)程序存储器某些固定单元用于各中断源中断服务程序入口。 64KB 程序存储器空间中有 5 个特殊单元分别对应于 5 个中断源的中断入口地址,见表 2-3。 通常这 5 个中断入口地址处都放一条跳转指令跳向对应的中断服务子程序,而不是直接存放中断服务子程 序。 表 2-3 五个中断源的中断入口地址中断源入口地址外部中断 00003H定时器 T0000BH外部中断 10013H定时器 T1001BH串行口0023H数据存储器空间 片内与片外两部分。 .片内数据存储器 片内数据存储器(RAM)共 128 个单元,字节地址为 00H7FH。图 2-4 为片内数据存储器的结构。 00H1FH 的 32 个单元是 4 组通用工作寄存器区,每区包含 8B,为 R7R0。可通过指令改变 RS1、RS0 两位来选择。 20H2FH 的 16 个单元的 128 位可位寻址,也可字节寻址。 30H7FH 的单元只能字节寻址,用作存数据以及作为堆栈区。 .片外数据存储器 当片内 128B 的 RAM 不够用时,需外扩,最多可外扩 64KB 的 RAM。注意,片内 RAM 与片外 RAM 两个 空间是相互独立的,片内 RAM 与片外 RAM 的低 128B 的地址是相同的,但由于使用的是不同的访问指令, 所以不会发生冲突。 特殊功能寄存器(SFR) 采用特殊功能寄存器集中控制各功能部件。特殊功能寄存器映射在片内 RAM 的 80HFFH 区域中,共 26 个。表 2-4 SFR 的名称及其分布。有些还可位寻址,位地址见表 2-4。 与 AT89C51 相比,新增 5 个 SFR:DP1L、DP1H、AUXR、AUXR1 和 WDTRST,已在表 2-4 中标出。 凡是可位寻址的 SFR,字节地址末位只能是 0H 或 8H。另外,若读/写未定义单元,将得到一个不确定的 随机数。 下面介绍某些 SFR,余下的 SFR 将在后面介绍。1堆栈指针 SP 指示堆栈顶部在内部 RAM 块中的位置。 堆栈结构向上生长型。单片机复位后,SP 为 07H,使得堆栈实际上从 08H 单元开始,由于 08H1FH 单元分别是属于 13 组的工作寄存器区,最好在复位后把 SP 值改置为 60H 或更大的值,避免堆栈与工作 寄存器冲突。 堆栈是为子程序调用和中断操作而设,主要用来保护断点和现场。 1)保护断点。无论是子程序调用操作还是中断服务子程序调用,最终都要返回主程序。应预先把主程序 的断点在堆栈中保护起来,为程序正确返回做准备。 2)现场保护。执行子程序或中断服务子程序时,要用到一些寄存器单元,会破坏原有内容。要把有关寄 存器单元的内容保存起来,送入堆栈,这就是所谓的“现场保护” 。 两种操作:数据压入(PUSH)堆栈,数据弹出(POP)堆栈。数据压入堆栈,SP 自动加 1;数据弹出堆 栈,SP 自动减 1。 2寄存器 B 为执行乘法和除法而设。在不执行乘、除法操作的情况下,可把它当作一个普通寄存器来使用。 乘法,两乘数分别在 A、B 中,执行乘法指令后,乘积在 BA 中 除法,被除数取自 A,除数取自 B,商存放在 A 中,余数存 B 中。 3AUXR 寄存器 AUXR 是辅助寄存器,其格式如图 2-5 所示:其中: DISALE:ALE 的禁止/允许位。 0:ALE 有效,发出脉冲;1:ALE 仅在执行 MOVC 和 MOVX 类指令时有效,不访问外部存储器时,ALE 不输出脉冲信号。DISRTO:禁止/允许 WDT 溢出时的复位输出。 0:WDT 溢出时,在 RST 引脚输出一个高电平脉冲; 1:RST 引脚仅为输入脚。 WDIDLE:WDT 在空闲模式下的禁止/允许位。0: WDT 在空闲模式下继续计数;1: WDT 在空闲模式下暂停计数。图图2-52-5 AUXRAUXR寄存器的格式寄存器的格式4. 数据指针 DPTR0 和 DPTR1 双数据指针寄存器,便于访问数据存储器。 DPTR0:AT89C51 单片机原有的数据指针; DPTR1:新增加的数据指针。 AUXR1 的 DPS 位用于选择两个数据指针。当 DPS=0 时,选用 DPTR0;当 DPS=1 时,选用 DPTR1。 数据指针可作为一个 16 位寄存器来用,也可作为两个独立的 8 位寄存器 DP0H(或 DP1H)和 DP0L(或 DP1L)来用。 5. AUXR1 寄存器 AUXR1 是辅助寄存器,格式如图 2-6 所示: DPS:数据指针寄存器选择位。 0:选择数据指针寄存器 DPTR0; 1:选择数据指针寄存器 DPTR1。6. 看门狗定时器 WDT WDT 包含一个 14 位计数器和看门狗定时器复位寄存器(WDTRST) 。 当 CPU 由于干扰,程序陷入死循环或跑飞状态时,WDT 提供了一种使程序恢复正常运行的有效手段。 有关 WDT 在抗干扰设计中的应用以及低功耗模式下运行的状态,将在相应的章节中具体介绍。 上面介绍的特殊功能寄存器,除了前两个 SP 和 B 以外,其余的均为 AT89S51 在 AT89C51 基础上新增加 的 SFR。 位地址空间 211 个寻址位的位地址,位地址范围为 00HFFH,其中 00H7FH 这 128 位处于片内 RAM 字节地址 20H2FH 单元中,如表 2-5 所示。其余的 83 个可寻址位分布在特殊功能寄存器 SFR 中,见表 2-6。 可被位寻址的特殊寄存器有 11 个,共有位地址 88 个,5 个位未用,其余 83 个位的位地址离散地分布于片 内数据存储器区字节地址为 80HFFH 的范围内,其最低的位地址等于其字节地址,且其字节地址的末位 都为 0H 或 8H。位 地 址特殊功能 寄存器D7D6D5D4D3D2D1D0字 节 地 址BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCH BBH BAH B9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACH ABH AAH A9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H作为对 AT89S51 存储器结构的总结,图 2-7 为各类存储器的结构图。从图中可清楚看出各类存储器在存储 器空间的位置。AT89S51 的并行 I/O 端口 4 个双向的 8 位并行 I/O 端口,分别记为 P0、P1、P2 和 P3,其中输出锁存器属于特殊功能寄存器。端口 的每一位均由输出锁存器、输出驱动器和输入缓冲器组成,4 个端口按字节输入/输出外,也可位寻址。 P0 口 P0 口是一个双功能的 8 位并行端口,字节地址为 80H,位地址为 80H87H。端口的各位具有完全相 同但又相互独立的电路结构,P0 口某一位的位电路结构如图 2-8 所示。1位电路结构 P0 口某一位的电路包括: 1)一个数据输出的锁存器,用于数据位的锁存。 2)两个三态的数据输入缓冲器,分别是用于读锁存器数据的输入缓冲器 BUF1 和读引脚数据的输入缓冲 器 BUF2。 3)一个多路转接开关 MUX,它的一个输入来自锁存器的 端,另一个输入为地址/数据信号的反相输出。 MUX 由“控制”信号控制,实现锁存器的输出和地址/数据信号之间的转接。 4)数据输出的控制和驱动电路,由两个场效应管(FET)组成。 2工作过程分析图图2-72-7 AT89S51AT89S51单片机的存储器结构单片机的存储器结构图图2-82-8 P0P0口某一位的位电路结构口某一位的位电路结构1)P0 口用作地址/数据总线 外扩存储器或 I/O 时,P0 口作为单片机系统复用的地址/数据总线使用。 当作为地址或数据输出时, “控制”信号为 1,硬件自动使转接开关 MUX 打向上面,接通反相器的输 出,同时使与门处于开启状态。 当输出的地址/数据信息为 1 时,与门输出为 1,上方的场效应管导通,下方的场效应管截止,P0.x 引 脚输出为 1;当输出的地址/数据信息为 0 时,上方的场效应管截止,下方的场效应管导通,P0.x 引脚输出 为 0。 输出电路是上、下两个场效应管形成的推拉式结构,大大提高了负载能力,上方的场效应管这时起到 内部上拉电阻的作用。 当 P0 口作为数据输入时,仅从外部存储器(或 I/O)读入信息,对应的“控制”信号为 0,MUX 接 通锁存器的端。 由于 P0 口作为地址/数据复用方式访问外部存储器时,CPU 自动向 P0 口写入 FFH,使下方场效应管 截止,上方场效应管由于控制信号为 0 也截止,从而保证数据信息的高阻抗输入,从外部存储器输入的数 据信息直接由 P0.x 引脚通过输入缓冲器 BUF2 进入内部总线。 具有高阻抗输入的 I/O 口应具有高电平、低电平和高阻抗 3 种状态的端口。因此,P0 口作为地址/数据 总线使用时是一个真正的双向端口,简称双向口。 2)P0 口用作通用 I/O 口 当 P0 口不作为系统的地址/数据总线使用时,此时 P0 口也可作为通用的 I/O 口使用。 作通用的 I/O 口时,对应的“控制”信号为 0,MUX 打向下面,接通锁存器的 端, “与门”输出为 0,上方场效应管截止,形成的 P0 口输出电路为漏极开路输出。 P0 口作输出口时,来自 CPU 的“写”脉冲加在 D 锁存器的 CP 端,内部总线上的数据写入 D 锁存器, 并由引脚 P0.x 输出。 当 D 锁存器为 1 时, 端为 0,下方场效应管截止,输出为漏极开路,此时,必须外接上拉电阻才能 有高电平输出;当 D 锁存器为 0 时,下方场效应管导通,P0 口输出为低电平。 P0 口作输入口使用时,有两种读入方式:“读锁存器”和“读引脚” 。 当 CPU 发出“读锁存器”指令时,锁存器的状态由 Q 端经上方的三态缓冲器 BUF1 进入内部总线; 当 CPU 发出“读引脚”指令时,锁存器的输出状态=1(即 端为 0) ,而使下方场效应管截止,引脚 的状态经下方的三态缓冲器 BUF2 进入内部总线。 3P0 口的特点 P0 口为双功能口地址/数据复用口和通用 I/O 口。 1)当 P0 口用作地址/数据复用口时,是一个真正的双向口,输出低 8 位地址和输出/输入 8 位数据。 2)当 P0 口用作通用 I/O 口时,由于需要在片外接上拉电阻,端口不存在高阻抗(悬浮)状态,因此是一 个准双向口。 为保证引脚信号的正确读入,应首先向锁存器写 1。单片机复位后,锁存器自动被置 1;当 P0 口由原 来输出转变为输入时,应先置锁存器为 1,方可执行输入操作。 P0 口大多作为地址/数据复用口使用,就不能再作为通用 I/O 口使用。 P1 口 单功能的 I/O 口,字节地址为 90H,位地址为 90H97H。P1 口某一位的位电路结构如图 2-9 所示。 1位电路结构 P1 口位电路结构由以下三部分组成: 1)一个数据输出锁存器,用于输出数据位的锁存。2)两个三态的数据输入缓冲器 BUF1 和 BUF2,分别用于读锁存器数据和读引脚数据的输入缓冲。 3)数据输出驱动电路,由一个场效应管(FET)和一个片内上拉电阻组成。 2工作过程分析 P1 口只能作为通用的 I/O 口使用。 1)P1 口作输出口时,若 CPU 输出 1,Q=1, =0,场效应管截止,P1 口引脚的输出为 1;若 CPU 输出 0,Q=0, =1,场效应管导通,P1 口引脚的输出为 0。 2)P1 口作为输入口时,分为“读锁存器”和“读引脚”两种方式。 “读锁存器”时,锁存器的输出端 Q 的状态经输入缓冲器 BUF1 进入内部总线;“读引脚”时,先向锁存器写 1,使场效应管截止,P1.x 引脚 上的电平经输入缓冲器 BUF2 进入内部总线。 3P1 口的特点 由于内部上拉电阻,无高阻抗输入状态,故为准双向口。P1 口“读引脚”输入时,必须先向锁存器写入 1。P2 口 双功能口,字节地址为 A0H,位地址为 A0HA7H。P2 口某一位的位电路结构如图 2-10 所示。1位电路结构 P2 口某一位的电路包括: 1)一个数据输出锁存器,用于输出数据位的锁存。 2)两个三态数据输入缓冲器 BUF1 和 BUF2,分别用于读锁存器数据和读引脚数据的输入缓冲。图图2-92-9 P1P1口某一位的位电路结构口某一位的位电路结构图图2-102-10 P2P2口某一位的位电路结构口某一位的位电路结构3)一个多路转接开关 MUX,一个输入是锁存器的 Q 端,另一个输入是高 8 位地址。 4)输出驱动电路,由场效应管(FET)和内部上拉电阻组成。 2工作过程分析 1)P2 口用作地址总线 在控制信号作用下,MUX 与“地址”接通。当“地址”为 0 时,场效应管导通,P2 口引脚输出为 0;当 “地址”线为 1 时,场效应管截止,P2 口引脚输出 1。 2)P2 口用作通用 I/O 口 在内部控制信号作用下,MUX 与 锁存器的 Q 端接通。CPU 输出 1 时,Q=1,场效应管截止,P2.x 引脚输 出 1;CPU 输出 0 时,Q=0,场效应管导通,P2.x 引脚输出 0。 P2 口输入时,分 “读锁存器”和“读引脚”两种方式: “读锁存器”时,Q 端信号经输入缓冲器 BUF1 进入内部总线 “读引脚”时,先向锁存器写 1,使场效应管截止,P2.x 引脚上的电平经输入缓冲器 BUF2 进入内部总线。3P2 口的特点 作为地址输出线时,P2 口高 8 位地址,P0 口输出的低 8 位地址寻址 64KB 地址空间。 作为通用 I/O 口时,P2 口为准双向口。功能与 P1 口一样。 一般情况下,P2 口大多作为高 8 位地址总线口使用,这时就不能再作为通用 I/O 口。 P3 口 由于引脚数目有限,在 P3 口增加了第二功能。每 1 位都可以分别定义为第二输入功能或第二输出功能。 P3 口字节地址为 B0H,位地址 B0HB7H。P3 口某一位的位电路结构见图 2-11。 1位电路结构 P3 口某一位的电路包括: 1)1 个数据输出锁存器,锁存输出数据位。 2)3 个三态数据输入缓冲器 BUF1、BUF2 和 BUF3,分别用于读锁存器、读引脚数据和第二功能数据的输 入缓冲。 3)输出驱动,由与非门、场效应管(FET)和内部上拉电阻组成。2工作过程分析 1)P3 口用作第二输入/输出功能 当选择第二输出功能时,该位的锁存器需要置 1,使与非门为开启状态。 当第二输出为 1 时,场效应管截止,P3.x 引脚输出为 1; 当第二输出为 0 时,场效应管导通,P3.x 引脚输出为 0。 当选择第二输入功能时,该位的锁存器和第二输出功能端均应置 1,保证场效应管截止,P3.x 引脚的信息图图2-112-11 P3P3口某一位的位电路结构口某一位的位电路结构由输入缓冲器 BUF3 的输出获得。 2)P3 口用作第一功能通用 I/O 口 用作第一功能通用输出时,第二输出功能端应保持高电平,与非门开启。CPU 输出 1 时,Q=1,场效 应管截止,P3.x 引脚输出为 1;CPU 输出 0 时,Q=0,场效应管导通,P3.x 引脚输出为 0。 用作第一功能通用输入时,P3.x 位的输出锁存器和第二输出功能均应置 1,场效应管截止,P3.x 引脚 信息通过输入 BUF3 和 BUF2 进入内部总线,完成“读引脚”操作。 当 P3 口第一功能通用输入时,也可执行“读锁存器”操作,此时 Q 端信息经过缓冲器 BUF1 进入内 部总线。 3P3 口的特点 P3 口内部有上拉电阻,无高阻抗输入态-准双向口。P3 口作为第二功能的输出/输入,或第一功能通用 输入,均须将相应位的锁存器置 1。实际应用中,由于复位后 P3 口锁存器自动置 1,满足第二功能所需的 条件,所以不需任何设置工作,就可以进入第二功能操作。 当某位不作为第二功能用时,可作为第一功能通用 I/O 使用。 引脚输入部分有两个缓冲器,第二功能的输入信号取自缓冲器 BUF3 的输出端,第一功能的输入信号 取自缓冲器 BUF2 的输出端。 P3 口的第二功能定义见表 2-1,读者应熟记。 P1P3 口驱动 LED 发光二极管 P0 口与 P1、P2、P3 口相比,P0 口的驱动能力较大,每位可驱动 8 个 LSTTL 输入,而 P1、P2、P3 口的 每一位的驱动能力,只有 P0 口的一半。 当 P0 口某位为高电平时,可提供 400A 的电流;当 P0 口某位为低电平(0.45V)时,可提供 3.2mA 的灌电流。 如低电平允许提高,灌电流可相应加大。所以,任何一个口要想获得较大的驱动能力,只能用低电平 输出。 例如,使用单片机的并行口 P1P3 直接驱动发光二极管,电路如图 2-12。由于 P1P3 内部有 30k 左右的上拉电阻。 如高电平输出,则强行从 P1、P2 和 P3 口输出的电流 Id 会造成单片机端口的损坏,如图 2-12(a)所 示。 如端口引脚为低电平,能使电流 Id 从单片机外部流入内部,则将大大增加流过的电流值,如图 2- 12(b)所示。 所以,当 P1P3 口驱动 LED 发光二极管时,应该采用低电平驱动。时钟电路与时序 时钟电路产生 AT89S51 工作时所必需的控制信号,在时钟信号的控制下,严格按时序执行指令。 执行指令时,CPU 首先到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一 系列控制信号完成指令所规定的操作。(a)不恰当的连接:高电平驱动不恰当的连接:高电平驱动 (b)恰当的连接:低电平驱动恰当的连接:低电平驱动 图图2-122-12 发光二极管与发光二极管与AT89S51AT89S51并行口的直接连接并行口的直接连接CPU 发的时序信号两类,一类用对片内各个功能部件控制,用户无须了解;另一类用于对片外存储器 或 I/O 口的控制,这部分时序对于分析、设计硬件接口电路至关重要。 时钟电路设计 时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路 有两种方式,一种是内部时钟方式,另一种是外部时钟方式。 1内部时钟方式 AT89S51 内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚 XTAL1,输出端为引脚 XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,图 2-13 是 AT89S51 内部时钟方式的电路。C1 和 C2 的典型值通常选择为 30pF。电容大小会影响振荡器频率高低、振荡器的稳定性和起振的快速性。 晶振频率范围通常是 1.212MHz。晶体频率越高,单片机速度就越快。速度快对存储器的速度要求就高, 印制电路板的工艺要求也高,即线间的寄生电容要小。晶体和电容应尽可能与单片机靠近,以减少寄生电 容,保证振荡器稳定、可靠地工作。为提高温度稳定性,采用温度稳定性能好的电容。 常选 6MHz 或 12MHz 的石英晶体。随着集成电路制造工艺技术的发展,单片机的时钟频率也在逐步提高, 已达 33MHz。 2外部时钟方式 用现成的外部振荡器产生脉冲信号,常用于多片 AT89S51 同时工作,以便于多片 AT89S51 单片机之间 的同步,一般为低于 12MHz 的方波。外部时钟源直接接到 XTAL1 端,XTAL2 端悬空,见图 2-14。 机器周期、指令周期与指令时序 各种指令时序与时钟周期相关。 1时钟周期 时钟控制信号的基本时间单位。若晶振频率为 fosc,则时钟周期 Tosc=1/fosc。如 fosc=6MHz,Tosc=166.7ns。 2机器周期CPU 完成一个基本操作所需时间为机器周期。执行一条指令分为几个机器周期。每个机器周期完成一个 基本操作,如取指令、读或写数据等。每 12 个时钟周期为 1 个机器周期。 1 个机器周期包括 12 个时钟周期,分 6 个状态:S1S6。每个状态又分两拍:P1 和 P2。因此,一个机器 周期中的 12 个时钟周期表示为 S1P1、S1P2、S2P1、S2P2、S6P2,如图 2-16 所示。图图2-13 内部时钟方式电路内部时钟方式电路图图2-142-14 AT89S51AT89S51的外部时钟方式电路的外部时钟方式电路图图2-162-16 AT89S51AT89S51的机器周期的机器

    注意事项

    本文(AT89S51单片机知识说明.doc)为本站会员(一***)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开