1 / 63

单片机原理与应用

单片机原理与应用. 四川文理学院 Email : ycfwsm@gmail.com 2014年10月10日. 第 1 章 MCS-51 单片机的结构与原理. 主要内容: 典型单片机( MCS-51, MSP430, EM78, PIC, Motorola, AVR )的性能, MCS-51 内部结构、特点、工作方式、时序和最小应用系统。为学生后续学习单片机应用系统设计、利用单片机解决工程实际问题打下坚实的基础。重点在于基本概念、组成原理、特点及 MCS-51 的最小应用系统 ,难点在于时序。. 1.1 典型单片机性能概览.

ugo
Download Presentation

单片机原理与应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 单片机原理与应用 四川文理学院 Email:ycfwsm@gmail.com 2014年10月10日

  2. 第1章MCS-51单片机的结构与原理 主要内容: 典型单片机( MCS-51, MSP430, EM78, PIC, Motorola, AVR )的性能,MCS-51内部结构、特点、工作方式、时序和最小应用系统。为学生后续学习单片机应用系统设计、利用单片机解决工程实际问题打下坚实的基础。重点在于基本概念、组成原理、特点及MCS-51的最小应用系统,难点在于时序。

  3. 1.1 典型单片机性能概览 典型单片机有MCS-51、MSP430、EM78、PIC、Motorola、AVR等。 MCS-51为主流产品,性能如表1.1.1。 MSP430为低功耗产品,功能较强,性能如表1.1.2。 EM78为低功耗产品,价格较低,性能如表1.1.3。 PIC为低电压、低功耗、大电流LCD驱动、低价格产品,性能如表1.1.4。 Motorola是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。性能如表1.1.5。 AVR为高速、低功耗产品,支持ISP、IAP,I/O口驱动能力较强。性能如表1.1.6。

  4. 1.1 典型单片机小系统概览

  5. 1.2 MCS-51单片机硬件结构及引脚 1.2.1 MCS-51单片机的内部结构 MCS-51单片机的组成: CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线 和中断系统等。组成框图如下:

  6. 1.2 MCS-51单片机硬件结构及引脚

  7. 内部结构如下:

  8. 1. 中央处理器(CPU) 组成:运算器、控制器 (1)8位CPU。 (2)布尔代数处理器,具有位寻址能力。 (3)128B内部RAM数据存储器,21个专用寄存器。 (4)4KB内部掩膜ROM程序存储器。 (5)2个16位可编程定时器/计数器。 (6)32个(4×8位)双向可独立寻址的I/O口。

  9. 1. 中央处理器(CPU) (7)1个全双工UART(异步串行通信口)。 (8)5个中断源、两级中断优先级的中断控制器。 (9)时钟电路,外接晶振和电容可产生1.2MHz~12 MHz的时钟频率。 (10)外部程序/数据存储器寻址空间均为64KB。 (11)111条指令,大部分为单字节指令。 (12)单一+5V电源供电,双列直插40引脚DIP封装。

  10. 1. 中央处理器(CPU) (1)运算器 组成:8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累加器A(Accumulator)、8位寄存器B、程序状态字寄存器PSW(Program Status Word)、8位暂存寄存器TMP1和TMP2等。 功能:完成算术运算和逻辑运算。

  11. 1. 中央处理器(CPU) (2)控制器 组成:程序计数器PC(Program Counter)、指令 寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)、堆栈指针SP、数据指针DPTR、定时控制逻辑和振荡器OSC等电路。 功能:CPU根据PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,以产生执行本条指令所需的全部信号。

  12. MCS-51系列单片机配置一览表

  13. 2. 存储器 MCS-51的存储器可分为程序存储器和数据存储器,又有片内和片外之分。 (1)程序存储器 一般将只读存储器(ROM)用做程序存储器。可寻址空间为64KB,用于存放用户程序、数据和表格等信息。

  14. 2. 存储器 MCS-51单片机按程序存储器可分为内部无ROM型(如8031)和内部有ROM型(如8051)两种,连接时 引脚有区别。程序存储器结构如下图所示:

  15. (2)数据存储器 2. 存储器 • 一般将随机存储器(RAM)用做数据存储器。可寻址空间为64KB。MCS-51数据存储器可分为片内和片外两部分。片外RAM: • 最大范围:0000H~FFFFH,64KB;用指令MOVX访问。 • 片内RAM: 最大范围:00H~FFH,256B;用指令MOV访问。又分为两部分:低128B(00~7FH)为真正的RAM区,高128B(80~FFH)为特殊功能寄存器(SFR)区。

  16. 2. 存储器

  17. 2. 存储器 内部RAM的20H~2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位地址为00H~7FH。 CPU能直接寻址这些位(称MCS-51具有布尔处理功能),位地址分配如右表所示。

  18. 2. 存储器

  19. 片内RAM--特殊功能寄存器(SFR) MCS-51有21个特殊功能寄存器(也称为专用寄存器),包括算术运算寄存器、指针寄存器、I/O口锁存器、定时器/计数器、串行口、中断、状态、控制寄存器等,它们被离散地分布在内部RAM的80H~FFH地址单元中(不包括PC) ,共占据了128个存储单元,构成了SFR存储块。其字节地址可被8整除的SFR可位寻址。SFR反映了MCS-51单片机的运行状态。特殊功能寄存器分布如右表所示。

  20. 片内RAM--特殊功能寄存器(SFR)

  21. 片内RAM--特殊功能寄存器(SFR) (1)程序计数器PC(Program Counter) 程序计数器PC在物理上是独立的,它不属于SFR存储器块。PC是一个16位的计数器,专门用于存放CPU将要执行的指令地址(即下一条指令的地址),寻址范围为64KB,PC有自动加1功能,不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序执行的顺序。

  22. 片内RAM--特殊功能寄存器(SFR) (2)累加器A (Accumulator) 累加器A是8位寄存器,又记做ACC,是一个最常用的专用寄存器。在算术/逻辑运算中用于存放操作数或结果。 (3)寄存器B 寄存器B 是8位寄存器,是专门为乘除法指令设计的,也作通用寄存器用。

  23. 片内RAM--特殊功能寄存器(SFR) (4)工作寄存器 内部RAM的工作寄存器区00H~1FH共32个字节被均匀地分成四个组(区),每个组(区)有8个寄存器,分别用R0~R7表示,称为工作寄存器或通用寄存器,其中,R0、R1还经常用于间接寻址的地址指针。在程序中通过程序状态字寄存器(PSW)第3、4位设置工作寄存器区。

  24. 片内RAM--特殊功能寄存器(SFR) (5)程序状态字PSW (Program Status Word) 程序状态字PSW是8位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。其定义格式如下页表所示。

  25. 片内RAM--特殊功能寄存器(SFR) 其中: Cy:进借位标志; AC:辅助进借位标志; F0:用户标志; OV:溢出标志位,有溢出时置1; P:奇偶标志位。A中有奇数个1时置1。 RS1、RS0:工作寄存器组(区)选择(如下页表所示);

  26. 片内RAM--特殊功能寄存器(SFR)

  27. 片内RAM--特殊功能寄存器(SFR) (6)数据指针DPTR(Data Pointer) 数据指针DPTR是16位的专用寄存器,即可作为16位寄存器使用,也可作为两个独立的8位寄存器DPH (高8位) 、DPL (低8位)使用。 DPTR主要用作16位间址寄存器,访问程序存储器和片外数据寄存器。

  28. 片内RAM--特殊功能寄存器(SFR) (7)堆栈指针SP(Stack Pointer) 堆栈是一种数据结构,是内部RAM的一段区域。堆栈存取数据的原则是“后进先出”。堆栈指针SP是一个8位寄存器,用于指示堆栈的栈顶,它决定了堆栈在内部RAM中的物理位置。 MCS-51单片机的堆栈地址向大的方向变化(与微机堆栈地址向小的方向变化相反)。系统复位后,SP初值为07H,实际应用中通常根据需要在主程序开始处对堆栈指针SP进行初始化,一般设置SP为60H。 设立堆栈的目的是用于数据的暂存,中断、子程序调用时断点和现场的保护与恢复。

  29. 片内RAM--特殊功能寄存器(SFR) (8)I/O口专用寄存器(P0, P1, P2, P3) 8051片内有4个8位并行I/O接口P0, P1, P2和P3,在SFR中相应有4个I/O口寄存器P0, P1, P2和P3。 (9)定时器/计数器(TL0, TH0, TL1和TH1) MCS-51单片机中有两个16位的定时器/计数器T0和T1,它们由4个8位寄存器(TL0, TH0, TL1和TH1)组成,2个16位定时器/计数器是完全独立的。可以单独对这4个寄存器进行寻址,但不能把T0和T1当做16位寄存器来使用。

  30. 片内RAM--特殊功能寄存器(SFR) (10)串行数据缓冲器(SBUF) 串行数据缓冲器SBUF用于存放需要发送和接收的数据,它由两个独立的寄存器组成(发送缓冲器和接收缓冲器),要发送和接收的操作其实都是对串行数据缓冲器SBUF进行的。 (11)其他控制寄存器 除上述外,还有IP, IE, TCON, SCON和PCON等几个寄存器,主要用于中断、定时和串行口的控制,

  31. 片内RAM—I/O接口 I/O接口是MCS-51单片机对外部实现控制和信息交换的必经之路,用于信息传送过程中的速度匹配和增加它的负载能力。 8051内部有4个8位并行接口P0, P1, P2, P3,有1个全双工的可编程串行I/O接口。

  32. 片内RAM —定时/计数器 8051内部有两个16位可编程序的定时器/计数器,均为二进制加1计数器,分别命名为T0和T1。 T0和T1均有定时器和计数器两种工作模式。在定时器模式下,T0和T1的计数脉冲可以由单片机时钟脉冲经12分频后提供。在计数器模式下,T0和T1的计数脉冲可以从P3.4和P3.5引脚上输入。对T0和T1的控制由定时器方式选择寄存器TMOD和定时器控制寄存器TCON完成。

  33. 片内RAM —中断系统 中断:指CPU暂停原程序执行,转而为外部设备服务(执行中断服务程序),并在服务完后返回到原程序执行的过程。 中断系统:指能够处理上述中断过程所需要的硬件电路。 中断源:指能产生中断请求信号的源泉。 8051可处理5个中断源(2个外部,3个内部)发出的中断请求,并可对其进行优先权处理。外部中断的请求信号可以从P3.2, P3.3(即 和 )引脚上输入,有电平或边沿两种触发方式;内部中断源有3个,2个定时器/计数器中断源和1个串行口中断源。 8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成。

  34. 1.2.2 MCS-51单片机外部引脚

  35. 1.2.2 MCS-51单片机外部引脚 1.电源线 GND:接地引脚。 VCC:正电源引脚。接+5V电源。 2.端口线: P0~P3口:4×8=32条。 (1)P0口( P0.0~P0.7 ) 8位双向三态I/O口,可作为外部扩展时的数据总线/低8位地址总线的分时复用口。又可作为通用I/O口,每个引脚可驱动8个TTL负载。 对EPROM型芯片(如8751)进行编程和校验时,P0口用于输入/输出数据。

  36. 1.2.2 MCS-51单片机外部引脚 (2)P1口(P1.0~P1.7) 8位准双向I/O口,内部具有上拉电阻,可作为通用I/O口。每个引脚可驱动4个TTL负载。 (3)P2口(P2.0~P2.7) 8位准双向I/O口,内部具有上拉电阻,可作为外部扩展时的高8位地址总线。又可作为通用I/O口,每个引脚可驱动4个TTL负载。 对EPROM型芯片(如8751)进行编程和校验时,用来接收高8位地址。 (4)P3口( P3.0~P3.7 ) 8位准双向I/O口,内部具有上拉电阻。它是双功能复用口,作为通用I/O口时,功能与P1口相同,常用第二功能。每个引脚可驱动4个TTL负载。作为第二功能使用时,各位的作用如下页表所示。

  37. 1.2.2 MCS-51单片机外部引脚

  38. 1.2.2 MCS-51单片机外部引脚 3.控制线 (1)RST/VPD RST/VPD引脚是复位信号/备用电源线引脚。当8051通电时,在RST引脚上出现24个时钟周期以上的高电平,系统即初始复位 (2)ALE/ 地址锁存允许/编程引脚。当访问外部程序存储器时,ALE的输出用于锁存地址的低位字节,以便P0口实现地址/数据复用。当不访问外部程序存储器时,ALE端将输出一个1/6时钟频率的正脉冲信号。 ALE/ 是复用引脚,其第二功能是对EPROM型芯片(如8751)进行编程和校验时,此引脚传送52ms宽的负脉冲选通信号,程序计数器PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令码放到P0口上,由CPU读入并执行。

  39. 1.2.2 MCS-51单片机外部引脚 (3) /VPP 允许访问片外程序存储器/编程电源引脚。对于片内无程序存储器的MCS-51单片机(如8031), 必须接地。片内有程序存储器的MCS-51单片机(如8051), 必须接高电平。 /VPP是复用引脚,其第二功能是片内EPROM编程/校验时的电源线,在编程时,VPP脚需加上21V的编程电压。

  40. 1.2.2 MCS-51单片机外部引脚 (4)XTAL1和XTAL2 XTAL1脚为片内振荡电路的输入端,XTAL2脚为片内振荡电路的输出端。8051的时钟有两种方式,一种是片内时钟振荡方式,但需在XTAL1和XTAL2脚外接石英晶体(频率为1.2~12MHz)和振荡电容,振荡电容的值一般取10~30pF,典型值为30pF;另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入,如下图所示。

  41. 1.2.2 MCS-51单片机外部引脚 (5) 片外ROM选通线。在执行访问片外ROM的指令MOVC时,8051自动在该引脚产生一个负脉冲,用于对片外ROM的选通。其他情况下,该引脚均为高电平封锁状态。

  42. 1.3 MCS-51单片机的工作方式 MCS-51系列单片机的工作方式可分为:复位方式、程序执行方式、单片执行方式、掉电保护方式、节电工作方式和EPROM编程/校验方式。 1.3.1 复位方式 系统开始运行和重新启动靠复位电路来实现,这种工作方式为复位方式。 单片机在开机时都需要复位,以便CPU及其他功能部件都处于一种确定的初始状态,并从这个状态开始工作。 MCS-51单片机在RST引脚产生两个机器周期(即24个时钟周期)以上的高电平即可实现复位。

  43. 1.3 MCS-51单片机的工作方式 复位电路有两种:上电自动复位和上电/按键手动复位,如下图所示。

  44. 1.3 MCS-51单片机的工作方式 复位后,8051的各特殊功能寄存器的初始状态如下表所示。

  45. 1.3.2 程序执行方式 程序执行方式是单片机基本工作方式,可分为连续执行工作方式和单步执行工作方式。 1.连续执行工作方式 这是所有单片机都需要的一种方式。单片机复位后,PC值为0000H,因此单片机复位后立即转到0000H处执行程序。单片机按照程序事先编排的任务,自动连续地执行下去。 2.单步执行工作方式 这是用户调试程序的一种工作方式,在单片机开发系统上有一专用的单步按键(或软件调试环境)。按一次,单片机就执行一条指令(仅仅执行一条),这样就可以逐条检查程序,发现问题进行修改。 单步执行方式是利用单片机外部中断功能实现的。

  46. 1.3.3 节电方式 节电工作方式是一种低功耗的工作方式,可分为空闲(等待)方式和掉电(停机)方式。是针对CHMOS类芯片而设计的,HMOS型单片机不能工作在节电方式,但它有一种掉电保护功能。 1.HMOS单片机的掉电保护 当VCC突然掉电时,单片机通过中断将必须保护的数据送入内部RAM,备用电源VPD可以维持内部RAM中的数据不丢失。 2.CHMOS单片机的节电方式 CHMOS型单片机是一种低功耗器件,正常工作时电流为11~22mA,空闲状态时为1.7~5mA,掉电方式为5~50A。因此,CHMOS型单片机特别适用于低功耗应用场合,它的空闲方式和掉电方式都是由电源控制寄存器PCON中相应的位来控制。

  47. (1)电源控制寄存器PCON PCON各位的定义如下表所示。 IDL:空闲方式控制位,该位为1时,单片机进入空闲待机工作方式。 PD: 掉电方式控制位,为1时,单片机进入掉电工作方式。 上面的IDL、PD同时为1,则进入掉电工作方式,同时为0,则工作在正常运行状态。 GF0, GF1:通用标志位,描述中断是来自正常运行还是来自空闲方式,用户可通过指令设定它们的状态。 SMOD:为串行口波特率倍率控制位,用于串行通信。

  48. (2)空闲工作方式 将IDL位置为1(用指令MOV PCON, #01H),则进入空闲工作方式,其内部控制电路如右图所示。此时,CPU进入空闲待机状态,中断系统、串行口、定时器/计数器,仍有时钟信号,仍继续工作。 退出空闲状态有两种方法:一是中断退出,二是硬件复位退出。

  49. (3)掉电工作方式 • 将PD置为1(用指令MOV PCON, #02H),可使单片机进入掉电工作方式。此时振荡器停振,只有片内的RAM和SFR中的数据保持不变,而包括中断系统在内的全部电路都将处于停止工作状态。退出掉电工作方式,只能采用硬件复位的方法。 • 欲使8051从掉电方式退出后继续执行掉电前的程序,则必须在掉电前预先把SFR中的内容保存到片内RAM中,并在掉电方式退出后恢复SFR掉电前的内容。

  50. 1.3.4 编程和校验方式 编程和校验方式用于内部含有EPROM的单片机芯片(如8751),一般的单片机开发系统都提供实现这种方式的设备和功能。 编程的主要操作是将原始程序、数据写入内部EPROM中。 校验的主要操作是在向片内程序存储器EPROM写入信息时或写入信息后,可将片内EPROM的内容读出进行校验,以保证写入信息的正确性。

More Related