第一章 51单片机的结构_第1页
第一章 51单片机的结构_第2页
第一章 51单片机的结构_第3页
第一章 51单片机的结构_第4页
第一章 51单片机的结构_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机技术基础教程与实践第 1章 51单片机的结构1.1 51内核单片机简介单片机是将微处理器 (CPU)、 存储器、 I/O接口电路和相应实时控制器件集成在一块芯片上,称其为单片微型计算机,简称单片机。在世界上其他国家,人们又称单片机为微控制器( MCU), 单片机的结构框图如图 1-1所示。 单片机常根据其内部的 CPU来分类,例如, 51内核的单片机、ARM内核的单片机等等。所谓 51内核单片机,就是具有 8051 CPU的单片机。目前单片机有几千种, 51内核的单片机是其中的一类,约有几十家厂商生产,产品有几百种。Keil公司支持 65家公司生产的 51内核单片机产品,在我国市场上常见到的 51内核单片机生产厂商与部分产品为:单片机技术基础教程与实践SST 公司, 51内核产品为:SST89C54, SST89C58, SST89C59, SST89E554RC, SST89E564RD等STMicroelectronics公司, 51内核产品为:uPSD3212A, uPSD3212C, uPSD3212CV, uPSD3233B, uPSD3233BV等TI公司, 51内核产品为:MSC1200Y2, MSC1200Y3, MSC1201Y2, MSC1201Y3等Winbond公司, 51内核产品为:W78C51D, W78C52D, W78C54, W78C58, W78E516B, W78E51B等 由于 51内核产品众多,所以得到了人们的喜爱,特别是具有大量的资料,使初学者能够收到事倍功半的学习效果。虽然除了 51内核单片机外还有很多种类的单片机,但人们还是青睐 51单片机,特别是钟情于功能最少的 51单片机 AT89S51 单片机技术基础教程与实践1.2 51单片机的结构特点51内核系列单片机被广泛应用于从家用电器到武器装备等各种应用系统,尤其是 Philips、 Infineon、 Silicon Laboratories, Inc.、 Analog Devices等制造商给 51内核系列单片机加入了大量的外围模块,例如 I2C总线接口、 ADC模数转换、 PWM、 DMA、 DAC等,而且不少芯片的工作频率达到 40M, 工作电压下降到 1.5V, 这些功能的增加使得 51内核单片机得到了新生,形成新一代 51内核系列单片机产品。51单片机的基本结构如下( 1)一个 8 位算术逻辑单元( 2) 4 组,共 32 个 I/O 口,每组 8个引脚,可单独寻址(每个引脚有专用指令,可以单独读写操作)( 3)两个 16 位定时 /计数器( 4)全双工串行通信口( 5) 6个中断源两个中断优先级( 6) 128 字节内置 RAM( 7) 独立的 4k 字节可寻址数据和代码区(该区容量随单片机型号不同而不同,例如8052单片机就具有 8k的容量) 单片机技术基础教程与实践 每个 51单片机处理周期包括 12个振荡周期,每 12个振荡周期用来完成一项操作如取指令和计算指令执行时间可把时钟频率除以 12 取倒数然后指令执行所须的周期数,如果系统时钟是 11.059MHz, 则除以 12 后就得到了每秒执行的指令个数为 921583条指令,取倒数将得到每条指令所需要的时间 1.085s。 51单片机的结构框图如图所示。单片机技术基础教程与实践单片机技术基础教程与实践1.3 详细内部结构框图 51单片机的详细内部结构框图。从图 1-3中可看出, 51单片机组成结构中包含运算器、控制器、片内存储器、 4个 I/O口、串行口、定时器 /计数器、中断系统、振荡器等功能部件。 单片机技术基础教程与实践( 1) I/O端口PORT 0 DRIVERS, PORT 0 LATCH 端口 0驱动器与锁存器PORT 1 DRIVERS, PORT 1 LATCH 端口 1驱动器与锁存器PORT 2 DRIVERS, PORT 2 LATCH 端口 2驱动器与锁存器PORT 3 DRIVERS, PORT 3 LATCH 端口 3驱动器与锁存器通过这些端口,数据可以输出到单片机外,也可以从单片机外输入到单片机。( 2)存储器RAM, RAM ADDR REGISTER 片内随机存储器与随机存储器的地址寄存器,51单片机具有 128字节的片内 RAM, 用于保存变量、中间运算结果等,部分 RAM具有位寻址能力。FLASH 片内 ROM, 用于保存代码等片内 ROM采用 FLASH存储器构成,具有ISP功能,容量随型号不同而不同,对于 AT89S51单片机, ROM容量为 4k。STACK POINTER 栈指针,堆栈是保存工作现场数据、地址、指令等的寄存器,栈指针用于指向堆栈的栈顶。单片机技术基础教程与实践( 3)算术与逻辑运算B REGISTER 用于乘除等操作的寄存器,常作为运算的第 2操作数。ACC 累加器,大部分单操作数指令均以 ACC作为其操作数,多数双操作数指令也以累加器作为第一个操作数,通常操作结果也保存在累加器中。TMP1、 TMP2 暂存器,用于暂时保存数据 ALU 8位算术逻辑单元 ALU, 用于处理各种算术运算和逻辑运算,在 12MHz时钟时,多数指令的执行时间为 1s。PSW 程序状态字,用于记录与控制程序运行的的相关信息,可以位寻址。( 4)指令处理PROGRAM ADDRESS REGISTER 程序地址存储器BUFFER 总线缓冲器PC INCREMENTER 程序计数器加 1处理PROGRAM COUNTER 保存下一条指令的 16位地址寄存器,可寻址范围为 64k。DUAL DPTR 双数据指针, DPTR为两个 8位缓存器( DPH和 DPL) 组成的 16位缓存器,主要功能是存储 16位地址,作为存取 ROM和 RAM的地址指针用,读写 RAM用MOVX指令,读写 ROM用 MOVC指令。单片机技术基础教程与实践( 4)时序控制与指令寄存TIMING AND CONTROL 定时与控制单元INSTRUCTION REGISTER 指令寄存器WATCH DOG 看门狗OSC 时钟振荡器,与外接晶体一起组成时钟振荡器( 5) ISP部分ISP PORT ISP端口,通过该端口与 PC通信,实现 ISPPROGRAM LOGIC 编程逻辑,控制 ISP操作单片机技术基础教程与实践1.4 51单片机外部引脚说明1主电源引脚VCC(40脚 ):接 +5 V电源正端。VSS(20脚 ):接 +5 V电源地端。电源电压范围是 45.5V, 最高电源电压为 6.6V。任何引脚对地的电压范围是1V7V单片机技术基础教程与实践2. 外接晶体引脚石英晶体与内部的反相器组成 Pierce振荡器,接线如图所示。XTAL1(19脚 ):接外部石英晶体的一端,在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,该引脚作为外部振荡信号的输入端。XTAL2( 18引脚)接外部石英晶体的另外一端。在单片机内部,它是反相放大器的输出端。单片机技术基础教程与实践3. 输入 / 输出引脚( 1) P0口( P0.0P0.7) 引脚3932:具有漏极开路结构,作为输出端使用,需要外接上拉电阻(在作为 I/O口使用时, T1管夹断);若作为输入端使用,需要先将“1”写入端口(使 T2管夹断);P0口可作为地址总线( AB0-AB7), 也可作为数据总线( DB0-DB7);P0可驱动 8个 LSTTL, 其它 P口可以驱动 4个 LSTLL。( 1个 LSTTL负载为 0.4mA)。单片机技术基础教程与实践( 2) P1口( P1.0P1.7) (引脚18):内部有上拉电阻,因此可以作为准双向 I/O口使用。作为输入端使用时,需要先将 “1”写入端口(使 T2管夹断); 单片机技术基础教程与实践( 3) P2口 (P2.0P2.7)引脚 2128:内部有上拉电阻,因此可以作为准双向 I/O口使用。作为输入端使用时,需要先将 “1”写入端口(使 T2管夹断);在接有片外存储器时, P2口作为高 8位地址总线( AB8-AB15);单片机技术基础教程与实践( 4) P3口 (P3.0P3.7) 引脚 1017: P3口具有上拉电阻,可作为准双向输入输出端口使用;作为输入端使用时,需要先将 “1”写入端口(使 T1管夹断);P3口的每个引脚还有第 2功能:P3_0 串行输入口 (RXD)P3_1 串行输出口 (TXD)P3_2 外中断 0(INT0)P3_3 外中断 1(INT1)P3_4 定时 /计数器 0的外部输入口 (T0)P3_5 定时 /计数器 1的外部输入口 (T1)P3_6 外部数据存储器写选通 (WR)P3-7 外部数据存储器读选通 (RD)单片机技术基础教程与实践有关 I/O口的说明:( 1)注意读端口与读引脚的区别,读引脚时需要首先向引脚的锁存器置 “1”,使输出场效应晶体管夹断,不影响输入电平的时候才能将引脚电平读入内部总线,因此,必须在读引脚之前做准备工作。( 2)负载能力在保证输出低电平情况下, P0口的负载能力为 8个 LSTTL负载, P1、 P2和 P3口的负载能力为 4个 LSTTL, 这里所说的负载能力是灌电流能力,或者说是输出低电平时的驱动能力;由于输出高电平时电流是通过上拉电阻提供的,因此输出高电平时的驱动能力更小,在保证输出电压为 2.4V( Vcc=5V) 时, P1、 P2和 P3口的拉电流能力只有 0.06mA。( 3) 复位后,端口的场效应管夹断,可以直接作为输入引脚使用。 单片机技术基础教程与实践4. RST 引脚该引脚为单片机的上电复位引脚,高电平有效。当单片机电源电压达到单片机工作电压、同时单片机振荡器正常工作后,该引脚上必须持续两个机器周期的高电平,就可实现复位操作,使单片机恢复到初始状态。单片机技术基础教程与实践1.5 51单片机的存储器1. 程序存储器51单片机具有 64kB程序存储器寻址空间,这些空间用于存放用户程序、数据和表格等信息,程序存储器都是用 U盘相同 FLASH存储器构成,其特点是去掉电源后不会丢失所存内容。如果使用 51单片机内部的存储器保存用户程序,要单片机正常运行,需要 EA引脚接高电平,使 CPU先从内部的程序存储中读取程序,当 PC值超过内部 ROM的容量时,才会转向外部的程序存储器读取程序,例如,内部存储器为 4k, 则 EA=1时,前面 4k( 0000H0FFFH) 使用内部存储器,而其后的 60k(1000HFFFFH) 使用外部存储器。AT89S51单片机片内有 4kB的程序存储单元,其地址为 0000H0FFFH , 单片机启动复位后,程序计数器的内容为 0000H, 所以系统将从 0000H单元开始执行程序。但在程序存储中有些特殊的单元,使用中应加以注意:0000H0002H 单元:当第 9脚为高电平时,单片机复位,程序计数器 PC值为0000H, 所以单片机从 0000H单元开始执行程序。单片机技术基础教程与实践单片机技术基础教程与实践03H000AH 外部中断 0中断地址区,当 INT0( 引脚 12)从高电平跳变到低电平时, CPU接受外部中断 0, PC将指向地址 03H地址执行程序。0BH0012H 定时 /计数器 0中断地址区,当 CPU接受定时器 /计数器 0溢出中断时, PC将指向地址 0BH地址执行程序。13H001AH 外部中断 1中断地址区,当 INT1( 引脚 13)从高电平跳变到低电平时, CPU接受外部中断 1, PC将指向地址 13H地址执行程序。1BH0022H 定时 /计数器 1中断地址区,当 CPU接受定时器 /计数器 1溢出中断时, PC将指向地址 1BH地址执行程序。23H002AH 串行中断地址区,当 CPU接受串行口发送数据与接收数据完毕中断时, PC将指向地址 23H地址执行程序。 单片机技术基础教程与实践2. 数据存储器数据存储器用于保存程序中的变量以及一些不怕断电后丢失的数据。51单片机的具有 256字节的内部数据存储器,并可以扩展到 64k字节外部数据存储器。数据存储器在电源关闭时,会丢失所有内容。256字节存储单元分为两部分。一部分是地址从 00H7FH 单元(共 128个字节)为用户数据 RAM。 另一部分从 80HFFH 地址单元(也是 128个字节)为特殊寄存器( SFR) 单元。地址 30H7FH之间的数据存储器供用户自由使用,常用作堆栈,所以堆栈指针指向这块区域。地址 20H2FH共 16字节的数据存储器具有位寻址能力,共有 128位,位地址为 00H7FH。 所谓位寻址能力就是每一个位都可以单独设定为 1或 0。位寻址区既可以用字节寻址,也可以位寻址。位地址分配如表 1-1所示, CPU能直接寻址这些位,执行例如置 “1”、清 “0”、求 “反 ”、转移,传送和逻辑等操作。 51单片机具有布尔处理功能,布尔处理的存储空间指的就是这些位寻址区。 单片机技术基础教程与实践图 1-12 51单片机的数据存储器单片机技术基础教程与实践单元地址 位地址2FH 7FH78H2EH 77H70H2DH 6FH68H2CH 67H60H2BH 5FH58H2AH 57H50H29H 4FH48H28H 47H40H27H 3FH38H26H 37H30H25H 2FH28H24H 27H20H23H 1FH18H22H 17H10H21H 0FH08H20H 07H00H单片机技术基础教程与实践在 00H1FH 共 32个单元中被均匀地分为四块( BANK0BANK4), 每块包含八个 8位寄存器,均以 R0R7 来命名,通常称为通用寄存器。这四块中的寄存器都称为 R0R7 , 用程序状态字寄存器( PSW) 来区别,只要定义 PSW寄存器的第 3和第 4位( RS0和 RS1), 即可对这四组通用寄存器进行选择。RS1 RS0 寄存器组 地址0 0 BANK0 00H07H0 1 BANK1 08H0FH1 0 BANK2 10H17H1 1 BANK3 18H1FH用户可以选任意一组通用寄存器作为工作寄存器,系统复位后, BANK0为预设的工作寄存器,通常主程序应该与子程序分别使用不同的工作寄存器组。 单片机技术基础教程与实践3. 特殊功能寄存器特殊功能寄存器( SFR) 也称为专用寄存器,特殊功能寄存器反映了 51单片机的运行状态。很多功能也通过特殊功能寄存器来定义和控制程序的执行。 51单片机有 21个特殊功能寄存器,分布在内部 RAM的 80HFFH 地址中,这些寄存的功能已作了专门的规定,用户不能修改其结构。 符号 地址 注释*ACC E0H 累加器*B F0H 乘法寄存器*PSW D0H 程序状态字SP 81H 堆栈指针DPL 82H 数据存储器指针低 8位DPH 83H 数据存储器指针高 8位*IE A8H 中断允许控制器*IP D8H 中断优先控制器*P0 80H 端口 0*P1 90H 端口 1*P2 A0H 端口 2*P3 B0H 端口 3单片机技术基础教程与实践PCON 87H 电源控制及波特率选择*SCON 98H 串行口控制器SBUF 99H 串行数据缓冲器*TCON 88H 定时器控制TMOD 89H 定时器方式选择TL0 8AH 定时器 0低 8位TL1 8BH 定时器 1低 8位TH0 8CH 定时器 0低 8位TH1 8DH 定时器 1高 8位带 *号的特殊功能寄存器都是可以位寻址的寄存器 单片机技术基础教程与实践( 1)程序计数器 PC(program Counter)程序计数器在物理上是独立的,它不属于特殊内部数据存储器块中。 PC是一个16位的计数器,用于存放一条要执行的指令地址,寻址范围为 64kB, PC有自动加 1功能,即完成了一条指令的执行后,其内容自动加 1。 PC本身并没有地址,因而不可寻址,用户无法进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序按我们的要求去执行。( 2)累加器 ACC(Accumulator)累加器 ACC是一个最常用的专用寄存器,大部分单操作数指令的操作数取自累加器,很多双操作数指令中的一个操作数也取自累加器。加、减、乘、除法运算的指令,运算结果都存放于累加器 ACC中。大部分的数据操作都会通过累加器 A进行。 ( 3)寄存器 BB寄存器用于乘除运算,但不做乘除运算时,也可以做一般寄存器使用。 单片机技术基础教程与实践( 4)程序状态字 (Program Status Word)程序状态字( PSW) 是一个 8位寄存器,用于存放程序运行的状态信息,该寄存器的各位定义如下,其中 PSW.1是保留位,未使用。 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0CY AC F0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论