《51单片机原理.ppt》由会员分享,可在线阅读,更多相关《51单片机原理.ppt(72页珍藏版)》请在优知文库上搜索。
1、2023-3-10151单片机原理与应用单片机原理与应用主要内容: 典型单片机( MCS-51, AT89C51)的性能,MCS-51内部结构、特点、工作方式、时序和最小应用系统。为后续学习AVR单片机应用系统设计、利用单片机解决工程实际问题打下坚实的基础。重点在于基本概念、组成原理、特点及MCS-51的最小应用系统,难点在于时序、ISP下载技术。预备知识:元器件实物图预备知识:元器件实物图单片机芯片单片机芯片AT89C51AT89S51AT89S52AT89C2051通信芯片MAX232CPE 时钟芯片 DS1302EEPROM24C02温度传感器18B20AD变换器0832稳压片78L05
2、晶 振电阻和排电阻瓷片小电容零压力插座零压力插座万用焊接板仪器盒仪器盒液晶字符显示屏液晶图形点阵显示屏拨动开关拨动开关红外遥控用 发射接受一体管 继电器三极管各类接插件各类接插件遥控组件超声波发射接受头双路遥控组件88二极管点阵 八段数码管超声波发射和接收一体化机电子万年历 MCS-51系列单片机都是以Intel公司最早的典型产品8051为核心,增加了一定的功能部件后构成的,因此,本章以8051为主介绍MCS-51系列单片机 。 1.1.1 MCS-51单片机的内部结构 MCS-51单片机的组成: CPUCPU( (进行运算、控制进行运算、控制) )、RAMRAM( (数据存数据存储器储器)
3、)、ROMROM( (程序存储器)、程序存储器)、I/OI/O口口( (串口、并口)、串口、并口)、内部总线内部总线 和中断系统和中断系统等。等。组成框图如下:组成组成:运算器、控制器。80518051的的CPUCPU包含以下功能部件包含以下功能部件: (1)8位CPU。(2)布尔代数处理器,具有位寻址能力。(3)128B内部RAM数据存储器,21个专用寄存器。(4)4KB内部掩膜ROM程序存储器。(5)2个16位可编程定时器/计数器。(6)32个(48位)双向可独立寻址的I/O口。(7)1个全双工UART(异步串行通信口)。(8)5个中断源、两级中断优先级的中断控制器。(9)时钟电路,外接晶
4、振和电容可产生1.2MHz12 MHz的时钟频率。(10)外部程序/数据存储器寻址空间均为64KB。(11)111条指令,大部分为单字节指令。(12)单一+5V电源供电,双列直插40引脚DIP封装。 1. 中央处理器(CPU)(1)运算器组成:组成:8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累加器A(Accumulator)、8位寄存器B、程序状态字寄存器PSW(Program Status Word)、8位暂存寄存器TMP1和TMP2等。功能:功能:完成算术运算和逻辑运算。(2)控制器组成:组成:程序计数器PC(Program Counter)、指令寄存器
5、IR(Instruction Register)、指令译码器ID(Instruction Decoder)、堆栈指针SP、数据指针DPTR、定时控制逻辑和振荡器OSC等电路。功能:功能:CPU根据PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,以产生执行本条指令所需的全部信号。 系列片内存储器(字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无有ROM有EPROMIntel51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x
6、8位15Intel52子系列803280C32805280C52(8K字节)875287C52(8K字节)256字节3x164x8位16ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(20条引脚DIP封装)1282151589C51(4K)/89C52(8K)(40条引脚DIP封装)128/2562/33215/6 MCS-51的存储器可分为程序存储器和数据存储器,又有片内和片外之分。(1)程序存储器 一般将只读存储器(ROM)用做程序存储器。可寻址空间为64KB,用于存放用户程序、数据和表格等信息。 MCS-51单片机按程序存储器可分为内部无ROM型(如8
7、031)和内部有ROM型(如8051)两种,连接时 引脚 有区别。程序存储器结构如右图所示: 一般将随机存储器(RAM)用做数据存储器。可寻址空间为64KB。MCS-51数据存储器可分为片内和片外两部分。片外片外RAM: 最大范围:0000HFFFFH,64KB;用指令MOVX访问。片内片内RAM: 最大范围:00HFFH,256B;用指令MOV访问。又分为两部分:低128B(007FH)为真正的RAM区,高128B(80FFH)为特殊功能寄存器(SFR)区。如右图所示。 内部RAM的20H2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位地址为00H7FH。 CPU
8、能直接寻址这些位(称MCS-51具有布尔处理功能),位地址分配如右表所示。 MCS-51有21个特殊功能寄存器(也称为专用寄存器),包括算术运算寄存器、指针寄存器、I/O口锁存器、定时器/计数器、串行口、中断、状态、控制寄存器等,它们被离散地分布在内部RAM的80HFFH地址单元中(不包括PC) ,共占据了128个存储单元,构成了SFR存储块。其字节地址可被8整除的SFR可位寻址。SFR反映了MCS-51单片机的运行状态。特殊功能寄存器分布如右表所示。(2)累加器A (Accumulator) 累加器A是8位寄存器,又记做ACC,是一个最常用的专用寄存器。在算术/逻辑运算中用于存放操作数或结果
9、。(3)寄存器B 寄存器B 是8位寄存器,是专门为乘除法指令设计的,也作通用寄存器用。(1)程序计数器PC(Program Counter) 程序计数器PC在物理上是独立的,它不属于SFR存储器块。 PC是一个16位的计数器,专门用于存放CPU将要执行的指令 地址(即下一条指令的地址),寻址范围为64KB,PC有自动 加1功能,不可寻址,用户无法对它进行读写,但是可以通过 转移、调用、返回等指令改变其内容,以控制程序执行的顺序。(4)工作寄存器 内部RAM的工作寄存器区00H1FH共32个字节被均匀地分成四个组(区),每个组(区)有8个寄存器,分别用R0R7表示,称为工作寄存器或通用寄存器,其
10、中,R0、R1还经常用于间接寻址的地址指针。在程序中通过程序状态字寄存器(PSW)第3、4位设置工作寄存器区。(5)程序状态字PSW (Program Status Word) 程序状态字PSW是8位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。其定义格式如下页表所示。其中:Cy:进借位标志; AC:辅助进借位标志; F0 :用户标志; RS1、RS0:工作寄存器组(区)选择(如下表所示); OV:溢出标志位,有溢出时置1; P:奇偶标志位。A中有奇数个1时置1。(6)数据指针DPTR(Data Pointe
11、r) 数据指针DPTR是16位的专用寄存器,即可作为16位寄存器使用,也可作为两个独立的8位寄存器DPH (高8位) 、DPL (低8位)使用。 DPTR主要用作16位间址寄存器,访问程序存储器和片外数据寄存器。(7)堆栈指针SP(Stack Pointer) 堆栈是一种数据结构,是内部RAM的一段区域。堆栈存取数据的原则是“后进先出后进先出”。堆栈指针SP是一个8位寄存器,用于指示堆栈的栈顶,它决定了堆栈在内部RAM中的物理位置。 MCS-51单片机的堆栈地址向大的方向变化(与微机堆栈地址向小的方向变化相反)。系统复位后,SP初值为07H,实际应用中通常根据需要在主程序开始处对堆栈指针SP进
12、行初始化,一般设置SP为60H。 设立堆栈的目的是用于数据的暂存,中断、子程序调用时断点和现场的保护与恢复。(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位寄存器来使用。(10)串行
13、数据缓冲器(SBUF) 串行数据缓冲器SBUF用于存放需要发送和接收的数据,它由两个独立的寄存器组成(发送缓冲器和接收缓冲器),要发送和接收的操作其实都是对串行数据缓冲器SBUF进行的。(11)其他控制寄存器 除上述外,还有IP, IE, TCON, SCON和PCON等几个寄存器,主要用于中断、定时和串行口的控制, I/O接口是MCS-51单片机对外部实现控制和信息交换的必经之路,用于信息传送过程中的速度匹配和增加它的负载能力。 8051内部有4个8位并行接口P0, P1, P2, P3,有1个全双工的可编程串行I/O接口。 5定时器定时器/计数器计数器 8051内部有两个16位可编程序的定
14、时器/计数器,均为二进制加1计数器,分别命名为T0和T1。 T0和T1均有定时器和计数器两种工作模式。在定时器模式下,T0和T1的计数脉冲可以由单片机时钟脉冲经12分频后提供。在计数器模式下,T0和T1的计数脉冲可以从P3.4和P3.5引脚上输入。对T0和T1的控制由定时器方式选择寄存器TMOD和定时器控制寄存器TCON完成。 中断:中断:指CPU暂停原程序执行,转而为外部设备服务(执行中断服务程序),并在服务完后返回到原程序执行的过程。 中断系统:中断系统:指能够处理上述中断过程所需要的硬件电路。 中断源:中断源:指能产生中断请求信号的源泉。 8051可处理5个中断源(2个外部,3个内部)发
15、出的中断请求,并可对其进行优先权处理。外部中断的请求信号可以从P3.2, P3.3(即 和 )引脚上输入,有电平或边沿两种触发方式;内部中断源有3个,2个定时器/计数器中断源和1个串行口中断源。 8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成。1电源线 GNDGND:接地引脚。 V VCCCC:正电源引脚。接5V电源。 MCS-51系列单片机中,各类单片机都是相互兼容的,只是引脚功能略有差异。8051单片机有40个引脚,分为端口线、电源线和控制线三类。2端口线 P0P0P3P3口:口:48=32条。(1)P0口( P0.0P0.7 ) 8位双向三态I/O口,可作为外
16、部扩展时的数据总线/低8位地址总线的分时复用口。又可作为通用I/O口,每个引脚可驱动8个TTL负载。 对EPROM型芯片(如8751)进行编程和校验时,P0口用于输入/输出数据。 8位准双向I/O口,内部具有上拉电阻,可作为通用I/O口。每个引脚可驱动4个TTL负载。 (3)P2口(P2.0P2.7) 8位准双向I/O口,内部具有上拉电阻,可作为外部扩展时的高8位地址总线。又可作为通用I/O口,每个引脚可驱动4个TTL负载。 对EPROM型芯片(如8751)进行编程和校验时,用来接收高8位地址。 (4)P3口( P3.0P3.7 ) 8位准双向I/O口,内部具有上拉电阻。它是双功能复用口,作为通用I/O口时,功能与P1口相同,常用第二功能。每个引脚可驱动4个TTL负载。作为第二功能使用时,各位的作用如下页表所示。1:准双向一般只能用于数字输入输出,输入时为弱上拉状态(约50K上拉),端口只有两种状态:高或低高或低。2:双向除用于数字输入输出外还可用于模拟输入输出,模拟输入时端口通过方向控制设置成为高阻输入状态。双向端口有三种状态:高、低高、低或高阻。或高阻。3:初始状态和复位状态下准双