福建专升本电子信息类《单片机原理及应用》_第1页
福建专升本电子信息类《单片机原理及应用》_第2页
福建专升本电子信息类《单片机原理及应用》_第3页
福建专升本电子信息类《单片机原理及应用》_第4页
福建专升本电子信息类《单片机原理及应用》_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上福建专升本 电子信息类单片机原理及应用 了解 MCS-51 单片机的 CPU 的结构,掌握几种地址指针 PC 、 DPTR 、 SP 的功能、运用。单片机的内部结构 八大功能部件:(1)微处理器(8位CPU)(2)程序存储器(ROM、EPROM或Flash等)(3)数据存储器(RAM、E2PROM)(4)四个8位并行可编程I/O端口(P0、P1、P2、P3)(5)一个串行口(UART)(6)两个16位定时器/计数器(T0/T1)(7)中断系统(含8个中断源、2个优先级)(8)特殊功能寄存器(SFR) 单片机核心部分是CPU,可分为运算器、控制器、布尔(位)处理器运算器

2、包括:累加器(ACC)、程序状态字(PSW)、暂存器、B寄存器等部件控制器包括:定时控制逻辑、指令寄存器、数据指针(DPTR)、程序计数器(PC)、堆栈指针(SP)、地址寄存器地址缓冲器1. PC是用于存放下一条要执行指令的地址寄存器,PC内容为将要执行的指令地址。改变PC内容,即改变程序执行的流向。 由两个8位计数器PCH、PCL组成。 2. 堆栈指针(Stack Pointer,SP)是指在片内RAM的l28B(52子系列为256B)空间中开辟的堆栈区的栈顶地址,并随时跟踪栈顶地址变化。 堆栈是按先进后出的原则存取数据的,开机复位后,单片机栈底地址为07H。 3.指令寄存器和指令译码器(I

3、nstruction Register,IR)的功能是对将要执行的指令进行存储和译码。当指令送入指令寄存器后,对该指令进行译码,即把指令转变成所需的电平信号,CPU根据译码输出的电平信号,使定时控制电路产生执行该指令所需的各种控制信号,以便计算机能正确地执行指令所要求的操作。 4. 数据指针由于8051系列单片机可以外接64KB的数据存储器和I/O接口电路,故在单片机内设置了l6位的数据指针寄存器(Data Pointer,DPTR)。它可以对64KB的外部数据存储器和I/O进行寻址,DPTR可分为高8位数据指针寄存器(DPH)和低8位数据指针寄存器(DPL),地址分别为83H和82H。 掌握

4、 MCS-51 单片机的存储器配置、堆栈定义、生成方式和运用操作。8051单片机存储器采用哈佛结构;从物理结构上分四种:片内程序存储器(只读存储器ROM)、 片外程序存储器 、片内数据存储器(读写存储器RAM)、片外数据存储器;从寻址空间分布上分三种: 程序存储器、内部数据存储器外部数据存储器。从功能作用上可五种: 程序存储器、内部数据存储器、特殊功能寄存器、位地址空间存储器和外部数据存储器。从逻辑上:片内外统一编址的64KB的程序存储器地址空间;片内数据存储器地址空间,寻址范围:00FFH;64KB片外数据存储器地址空间。程序存储器:用于存放编好的程序或表格常数。51子系列片内有4KB RO

5、M(地址为0000H0FFFH),52子系列片内有8KB ROM,二者片外地址线均为16位,最多可扩展64KB ROM,片内片外统一编址。 若EA端保持低电平,则所有取指令操作均在片外程序存储器中进行,0000H地址在片外。 若EA端保持高电平,0000H地址在片内,所有取指令操作均在片内程序存储器中进行。 片内数据存储器: 数据存储器分为片外数据存储器、片内数据存储器、特殊功能存储器; 片内通用数据存储器有工作寄存器区、位寻址区、数据缓冲区堆栈是一种数据项按序排列的数据结构,采用后进先出,这种后进先出操作的缓冲器区称为堆栈。堆栈指针总是指向栈顶。堆栈特点:后进先出;堆栈有3个具体功能: 保护

6、断点、现场保护、临时暂存数据堆栈。使用方式两种:自动方式和指令方式。程序存储器空间的7个特殊单元的功能掌握 MCS-51 单片机的寻址方式及各种寻址方式可用的存贮空间。 寻址方式1.立即寻址是将操作数直接写在指令中,作为指令的一部分存放在代码段里,位置在程序存储器中。立即寻址中的操作数,称为立即数。例如:MOV A, #30H ;30HA2.直接寻址是将操作数的地址直接存放在指令中。这种寻址方式的操作数指的是内部数据存储器中存放数据的地址,或存放数据的一个特殊功能寄存器地址。例如:MOV A, 30H ;(30H)A直接寻址方式可访问的范围1) 特殊功能寄存器这部分存储单元既可以用单元地址给出

7、,也可以用寄存器符号的形式给出。如:MOV A, 90H 或 MOV A, P1为同一条指令的两种写法(特殊功能寄存器只能用直接寻址方式访问)。2) 内部数据存储器的低128个字节单元直接以单元地址的形式给出对于8032/8052等单片机,其内部高128字节RAM(80HFFH)不能用直接寻址方式访问。直接寻址方式可访问的范围3) 位地址空间片内RAM中20H2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址(可位寻址的特殊功能寄存器有B、ACC、PSW、IP、IE、SCON、TCON、P0P3)。4) 在一些程序控制指令中,可采用直接寻址方式提供程序转移的目标地址。

8、3.寄存器寻址是指操作数存放在寄存器中,并且寻址时的寄存器已隐含在指令的操作码中。例如:MOV A, R5寄存器寻址方式的寻址范围:(1) 4个工作寄存器组共32个通用寄存器(在指令中只能使用当前寄存器组)(2) 部分特殊功能寄存器。如A,B,DPTR。4.寄存器间接寻址的寻址范围:1) 内部低128字节单元(只能使用R0、R1作间址寄存器)。2) 外部数据存储器(64KB字节,使用DPTR作间址寄存器。另外,外部低128B单元也可用R0、R1作间址寄存器寻址)。3) 在堆栈操作指令(PUSH、POP)中,以堆栈指针SP作间址寄存器,寻址空间为片内RAM。5.基址变址寻址是指操作数存放在以变址

9、寄存器和基址寄存器的内容相加形成的数为地址的单元中。其中累加器A作变址寄存器、程序计数器PC或寄存器DPTR作基址寄存器。基址加变址寻址方式常用于查表操作。如:MOVC A, A+PC ;PC+1PC,(A+PC)AMOVC A, A+DPTR ;(A+DPTR)A6.相对寻址是将程序计数器PC的当前值与指令第二字节给出的偏移量相加,从而形成转移的目标地址。例如:JC 80H ;C=1则跳转7.位寻址是指对片内RAM中20H2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址寻址(可位寻址的特殊功能寄存器有B、ACC、PSW、IP、IE、SCON、TCON、P0P3)。

10、例如:MOV C, 20H此指令是将RAM中位寻址区20H位地址中的内容,送给位累加器Cy。位寻址指令不同于字节地址寻址指令,例如:MOV A, 20H 掌握 MCS-51 单片机的特殊功能寄存器及其用法。(1)程序状态字寄存器(PSW)是8位寄存器,存放程序运行状态的标志,字节地址为D0H。可以进行位寻址。CY:进位标志。AC:辅助进位标志。当低4位数向高4位数进位或借位时,AC将被硬件置1,否则就被清除。RS0,RS1:用软件置位或清除来确定工作寄存器区。OV:溢出标志。P:奇偶标志。每个指令周期都由硬件来置位或清零。A中值为1的位数为奇数,则P置位,否则清零。(2)累加器(ACC)是8位

11、寄存器,用于算术或逻辑操作的输入和运算结果的输出。在指令系统中累加器的助记符为A,作为直接地址时助记符为ACC。(3)数据指针寄存器(DPTR)16位的专用地址指针寄存器。可对外部存储器和I/O口进行寻址,也可拆成高字节DPH和低字节DPL两个独立的8位寄存器,在CPU内分别占据83H和82H两个地址。当对64KB外部数据存储器寻址时,DPTR可作为间接寻址寄存器使用:从外部数据存储器取数 MOVX A, DPTR送数到外部数据存储器 MOVX DPTR, A (4)B寄存器在乘、除法运算中用B寄存器暂存数据。乘法指令的两个操作数分别取自A和B,结果再存于B和A中,即A存低字节,B存高字节。除

12、法指令中被除数取自A,除数取自B,结果商存于A中,余数存放在B中。在其他指令中,B寄存器可作为RAM中的一个单元使用。B寄存器的地址为B0H。(5)堆栈指针(SP)是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。它的特点是按照先进后出的原则存取数据,这里的进与出是指进栈与出栈操作。(7)定时器/计数器TL0、TH0、TL1、TH1M。SC-51单片机中有两个16位的定时器/计数器T0和T1,它们由4个8位寄存器(TH0、TL0、TH1和TL1)组成。两个16位定时器/计数器是完全独立的,可以单独对这4个寄存器寻址。 (8)串行数据缓冲器(SBUF)功能:存放需要发送和接

13、收的数据。组成:由两个独立的寄存器构成,一个是发送缓冲器,一个是接收缓冲器,但寄存器名称统一为SUBF。 (9)控制寄存器有5种。中断优先级控制寄存器(IP);中断允许控制寄存器(IE);定时器/计数器控制寄存器(TCON);串行口控制寄存器(SCON);电源控制寄存器(PCON)了解 MCS-51 单片机的工作寄存器的分区结构及选择方法。 掌握 MCS-51 单片机的引脚功能,尤其注意引脚复用的特点。 芯片引脚按功能分成3类:数据总线、地址总线、控制总线单片机芯片引脚功能1主电源引脚: GND 接地; VCC正常操作时为十5V电源。2时钟电路引脚 : XTAL1;XTAL2 3控制线与电源复

14、用引脚(1)RST/VPD:RST是复位信号,高电平有效。 VPD为第二功能,即备用电源输入端。 (2)ALE/:ALE为地址锁存允许信号输出引脚。 PROG为编程信号,第二功能,低电平有效。 (3)PSEN:片外ROM选通信号输出端,低电平有效。 (4)EAVPP:EA为内部和外部ROM控制端(当EA1时,从内ROM开始访问;当EA0时,只访问外部ROM; VPP是编程电源输入端4并行输入/输出引脚P0端口(P0.0P0.7)第一功能:是一个8位漏极开路型的双向I/O口,这时P0口可看成用户数据总线;第二功能:是在访问外部存储器时,分时提供低8位地址和8位双向数据总线,这时先用做地址总线再用

15、做数据总线。P1口(P1.0P1.7):内部带上拉电阻的8位准双向I/O口。P2口(P2.0P2.7)第一功能:一个内部带上拉电阻的8位准双向I/O口。第二功能:在访问外部存储器时,输出高8位地址。P3口(P3.0P3.7)第一功能:内部带上拉电阻的8位准双向I/O口。在系统中,这8个引脚都有各自的第二功能。了解 MCS-51 单片机的振荡电路,以及一般工作时序概念。 时序若外接晶振为12MHz时,则单片机的四个周期的具体值为: 时钟周期1/12MHz1/12s0.0833s 状态周期1/6s0.167s 机器周期1s 指令周期14s时钟周期:也称为振荡周期,定义为时钟脉冲频率(fosc)的倒

16、数,它是单片机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。为方便描述,振荡周期用P表示。状态周期:时钟周期经2分频后成为内部的时钟信号,用作单片机内部各功能部件按序协调工作的控制信号,称为状态周期,用S表示。这样,一个状态周期就有两个时钟周期,前半状态周期相应的时钟周期定义为P1,后半状态周期相应的时钟周期定义为P2。 机器周期:执行一条指令分为几个机器周期。每个机器周期完成一个基本操作。MCS-51单片机每12个时钟周期为一个机器周期。如果使用6MHz的时钟频率,一个机器周期就是2s,而如果使用12MHz的时钟频率,一个机器周期就是1s。 指令周期:指令周期是

17、执行一条指令所需要的时间,一般由若干个机器周期组成,指令不同,所需要的机器周期数也不同。 掌握 MCS-51 单片机的复位条件、复位电路和复位状态。 复位是单片机的初始化操作。单片机系统在上电启动运行时,都需要先复位。其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。复位方式:单片机的外部复位电路有上电自动复位和按键手动复位两种。复位条件:RST引脚为复位信号输入端。当RST引脚为高电平,且有效时间持续24个振荡周期以上,才能复位。(1)上电复位上电复位利用电容器的充电实现。在时钟电路工作后,在RST端连续给出2个机器周期的高电平就可完成复位操作。(2)上电加按键

18、复位当复位按键按下后,复位端通过51的小电阻与+5V电源接通,迅速放电,使RST引脚为高电平;当复位按键弹起后,+5V电源通过2K电阻对22F电容重新充电,RST引脚端出现复位正脉冲。其持续时间取决于RC电路的时间常数。 复位状态掌握 MCS-51 单片机的 PSW 各位的定义。 程序状态字寄存器PSW ,它的内容反映CPU对数据处理的一些状态结果和对工作寄存器区的选择标志位 。P:奇偶标志位。当累加器ACC中的处理结果数据中有奇数个“1”时为1;否则为0。 OV:溢出标志位。当CPU对数据处理结果发生溢出时,该位为1;否则为0。 RS1 RS0:工作寄存器区选择位。当(RS1RS0)=00B

19、时,第0工作寄存器区为当前区。 当(RS1RS0)=01B时,第1工作寄存器区为当前区。当(RS1RS0)=10B时,第2工作寄存器区为当前区。 当(RS1RS0)=11B时,第3工作寄存器区为当前区。 F0:用户标志位,通过指令可将其置1或清0。AC:辅助进位标志位。数据处理过程中低4位向高4位有进位或借位时,该位为1;否则为0。Cy:进位标志位,当数据处理过程中最高位有进位或借位时,该位为1;否则为0。 掌握 MCS-51 单片机指令系统,学会基本的编程方法。传送指令 算术运算类指令逻辑运算类指令控制转移类指令位操作指令rel:补码表示的8位地址偏移量。范围:-128-+127D。bit:

20、片内RAM或SFR的直接寻址位地址。:间接寄存器的符号。/:位操作指令中对该位先取反再参与操作,不影响原值。():中的内容。():指出的地址单元中的内容。:将左边的内容送于右边的单元。多一个,则其右边的()少一个。$:当前指令的地址。 学会简单的单片机应用程序的设计方法。Rn(n=0-7):当前选中的工作寄存器组R0-R7。Ri(I=0,1):作为地址指针的两个工作寄存器R0,R1。#data:8位立即数。#data16:16位立即数。direct:8位片内RAM单元(包括SFR)的直接地址。addr11:11位目的地址,用于ACALL和AJMP指令中。addr16:16位目的地址。用于LCA

21、LL和LJMP指令中。掌握 MCS-51 单片机的并行 I/O 的结构特点,及控制接口操作两类指令的用法。接口的主要功能包括:缓冲与锁存数据、地址译码、信息格式转换、传递状态(外设状态)和发布命令等。I/O接口有:并行接口、串行接口、定时/计数器、A/D、D/A等。根据外设的不同情况和要求选择不同的接口。 并行输入/输出接口:MCS-51单片机有P0、P1、P2、P3四个8位双向并行I/O口,每个端口可以按字节输入或输出,也可以按位进行输入或输出,4个并行口共有32根端口线,用做位控制十分方便。并行I/O口特点:(1)4个并行I/O口都是双向的。P0口为漏极开路驱动;P1、P2、P3口均具有内

22、部上拉电阻驱动,它们有时称为准双向口。(2)32根端口线都可用做输入或输出,还可进行位操作。(3)当并行I/O口作为输入时,该口的锁存器必须先写入“1”,这是一个重要条件。否则,该口不能读入正确数据。P1口:MCS-51单片机的Pl口只有一种功能,即通用输入/输出接口。 1. 输出方式:当CPU执行写P1口的指令(如MOV Pl, #data)时,P1口工作于输出方式,此时数据data经内部总线送入锁存器锁存。2. 输入方式:当CPU执行读P1口的指令(如MOV A, P1)时,P1口工作于输入方式。P2口 用途:通用I/O口或高8位地址总线。-P2口用作地址线/通用I/O口MOVX A, R

23、i 或 MOVX Ri, A此时,Ri寄存器提供的是8位地址,由P0口送出,不需要P2口,P2口引脚原有的数据在访问片外RAM期间不受影响,故P2口仍可用做通用I/O口。当片外RAM容量较大需要由P2口和P0口送出16位地址时,P2口不再用做通用I/O口。 P3口是双功能口,默认为第一功能(通用I/O),通过编程可设定为第二功能。1. 通用I/O口状态P3口用做准双向通用I/O口时,其功能与P1口相同。2. 第二功能状态-P3口使用P3口的每一位都可独立地定义为第一功能I/O或第二功能使用。P0口功能:地址/数据分时复用总线;通用I/O口。P0口内部无上拉电阻,作为I/O口时,必须外接上拉电阻

24、;P0口作为地址/数据总线的工作原理(输出);P0口作为输入端口的工作原理(输入);P0口作为通用I/O口时的工作原理。4个并行口使用注意事项(1)如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的4个口均可作为I/O口使用;(2)4个口在作为输入口使用时,均应先对其写“1”,以避免误读;(3)P0口作为I/O口使用时应外接10K的上拉电阻,其它口则可不必;(4)P2口某几根口线作地址使用时,剩下的口线不能作为I/O口线使用;(5)P3口的某些口线作第二功能时,剩下的口线可以单独作为I/O口线使用。(6)只有P0口是一个真正的双向口,P1P3口都是准双向口。 掌握 MCS-

25、51 单片机的定时器 / 计数器的可编程结构及其应用方法,如工作方式的选择、初始值的计算与装入、启停控制及编程的一般步骤等。 单片机有2个可编程的定时器/计数器T1、T0。2种工作模式:计数器工作模式、定时器工作模式。4种工作方式 (方式0-方式3)结构:TMOD:选择定时器/计数器T0、T1的工作模式和工作方式。TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。T0、T1都是16位加1计数器,TH0、TL0构成定时/计数器T0加1计数器的高8位和低8位。定时控制寄存器(TCON)TF0、TF1:计数溢出标志位。TF0=1或TF1=1是计数溢出;TF0=0或TF1=0是计数

26、未满。TR0、TR1:启/停控制位。TR0=1或TR1=1,使T0或T1启动计数;TR0=0或TR1=0,使T0或T1停止计数。工作方式控制寄存器(TMOD)GATE:门控信号。当GATE=0时,TRx=1即可启动定时器工作;当GATE=1时,要求同时有TRx=1和INTx=1才可启动定时器工作(x是1、2)。C/T:定时/计数器选择位。 C/T =1,为计数器工作方式;C/T =0,为定时器工作方式。方式0当TMOD中M1M0=00时,选定方式0 (13位状态)进行工作。C/T=1时,图中电子开关S1切至下端,13位定时/计数器处于计数器状态,加法计数器对T0引脚上的外部输入脉冲计数。计数值

27、:N=8192-x。x是由TH0、TL0设定的初值。x=8191时为最小计数值l,x=0时为最大计数值8192,即计数范围为18192(213)。C/T=0时,图中电子开关S1切至上端,加法计数器对机器周期计数,13位定时/计数器处于定时器状态。定时时间:Td=(8192-x)Tcy。如果晶振频率fosc=12MHz,即机器周期为1s,则定时范围为1s8192s。方式1当TMOD中M1M0=01时,选定方式1 (16位状态)进行工作。 当作为计数器使用时,计数范围是165536(216);当作为定时器使用时,定时器的定时时间为:Td=(216-Count)Tcy。如果晶振频率fosc=12MH

28、z,则定时范围为:165536s。方式2当M1M0=10时,定时/计数器选定方式2进行工作。该方式下,16位计数器被分为两个8位寄存器TL0和TH0,其中TL0作为计数器,TH0作为计数器TL0的初值预置寄存器,并始终保持为初值常数。当TL0计数溢出时,系统将TF0置位,并向CPU申请中断,同时将TH0的内容重新装入TL0,继续计数。 方式3在方式3下,T0和T1的功能完全不同。当M1M0=11时:T0定时/计数器处于方式3工作模式。T1定时/计数器只能工作在方式0、1、2下定时器作用当MCS-5l内部的定时/计数器被选定为定时器工作模式时,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲

29、位,计数器增l,因此定时/计数器的输入脉冲的周期与机器周期一样,为时钟振荡频率的l/12。当采用12MHz频率的晶振时,计数速率为1MHz,输入脉冲的周期间隔为1s。由于定时的精度决定于输入脉冲的周期,因此当需要高分辨率的定时时,应尽量选用频率较高的晶振。计数器作用当定时/计数器用作计数器时,计数脉冲来自外部输入引脚T0或T1。当输入信号产生由1至0的跳变(即负跳变)时,计数器的值增l。由于确认一次负跳变需要用2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为振荡器频率的1/24,例如,选用6MHz频率的晶振,允许输入的脉冲频率为250kHz,如果选用12MHz频率的晶振,则可

30、输入500kHz的外部脉冲。对于外部输入信号的占空比并没有什么限制,但为了确保某一给定的电平在变化之前能被采样一次,则这一电平至少要保持一个机器周期。定时/计数器初始化(1)初始化步骤1) 设置工作方式2) 计算加1计数器的计数初值Count,并将计数初值Count送入TH、TL中3) 启动计数器工作,即将TRx置14) 若采用中断方式,则应设置T0、T1及CPU开中断(2)计数方式初始化假设T0工作于计数方式1,计数值N = 1,即每当T0引脚输入一个计数脉冲就使加1计数器产生溢出,通常可以使用这种方法扩展外中断。为了使加1计数器每加一次1就溢出,加1计数器的初值Count=0FFFFH=2

31、16-1,其中16为工作方式1时加1计数器的位数,1为计数值x。现用n表示加1计数器的位数,用x表示计数值,则计数初值Count=2n-x,式中,n = 13,16,8和8,分别对应工作方式0,1,2和3。 (3)定时方式初始化若系统主频 fosc=6MHz,则机器周期Tcy=2s,即计数器加一次1所用时间为2s,若计数器加100次产生溢出(计数值N=100),则定时时间为200s,即定时器定时时间Td=NTcy。 计数值N与计数器初值Count的关系是N=2n-Count 所以,定时时间Td =(2n-Count)Tcy 计数初值Count=2n-Td/Tcy (式中,n=13、16、8、8

32、,分别对应方式0、1、2、3)掌握 MCS-51 单片机的中断系统及其应用,如中断源与相关的专用寄存器、中断矢量、外部中断的两种触发方式、中断响应的条件和响应过程、中断优先级控制、中断使能控制等。 能够实现中断处理功能的部件称为中断系统;产生中断的请求源称为中断请求源。中断源向CPU提出的处理请求,称为中断请求(或中断申请)。进入中断保护现场中断处理恢复现场中断返回中断方式优点:大大地提高了CPU的工作效率。五个中断请求源 :(1)INT0*外部中断请求0,由引脚INT0*输入,中断请求标志为IE0。(2)INT1*外部中断请求1,由引脚INT1*输入,中断请求标志为IE1。(3)定时器/计数

33、器T0溢出中断请求,中断请求标志为TF0。(4)定时器/计数器T1溢出中断请求,中断请求标志为TF1。(5)串行口中断请求,中断请求标志为TI或RI。外部中断的响应时间:外部中断的最短的响应时间为3个机器周期,外部中断响应最长时间为8个机器周期。 如果已在处理同级或更高级中断,响应时间无法计算。在一个单一中断的系统里,MCS-51单片机对外部中断请求的响应的时间总是在38个机器周期之间。MCS-51中断系统有4个特殊功能寄存器。这4个特殊功能寄存器是定时/计数器控制寄存器(TCON)、串行口控制寄存器(SCON)、中断允许控制寄存器(IE)和中断优先级控制寄存器(IP)。中断请求控制TCON为

34、定时/计数器控制寄存器,其字节地址为88H,可位寻址,位地址范围为88H8FH。这个寄存器有两个作用,即除了控制定时/计数器T0和T1的溢出中断外,还控制外部中断的触发方式和锁存外部中断请求标志位。IT0:选择外部中断0的中断触发方式。IT0=0,为电平触发方式,低电平有效; IT0=1,为边沿触发方式,P3.2引脚信号出现负跳变有效。IE0:外部中断0的中断请求标志。当INT0输入端口有中断时IE0=1,由硬件置位。IT1:选择外部中断1的中断触发方式。其功能与IT0类同。IE1:外部中断INT1的中断请求标志。功能与IE0类似。TF0:片内定时/计数器0溢出中断请求标志。定时/计数器的核心

35、为加法计数器,当定时/计数器T0发生定时或计数溢出时,由硬件置位TF0或TF1,向CPU申请中断,CPU响应中断后,会自动清零TF0或TF1。TF1:片内定时/计数器1溢出中断请求标志。功能与TF0类同。 SCON为串行口控制寄存器,其字节地址为98H,可以进行位寻址。串行口的接收和发送数据中断请求标志位(RI、TI)被锁存在串行口控制寄存器SCON中。TI:串行口发送中断请求标志位CPU将一个数据写入发送缓冲器SBUF时,就启动发送,每发送完一帧串行数据后,硬件置位TI。但CPU响应中断时,不清除TI中断标志,必须在中断服务程序中由软件对TI清0。RI:串行口接收中断请求标志位:在串行口允许

36、接收时,每接收完一帧数据,由硬件自动将RI位置为1。CPU响应中断时,并不清除RI中断标志,也必须在中断服务程序中由软件对TI标志清0。中断允许控制MCS-51对中断源的开放或屏蔽是由中断允许寄存器IE控制的,IE的字节地址为0A8H,可以按位寻址,当单片机复位时,IE被清为0。通过对IE的各位置1或清0操作,实现开放或屏蔽某个中断。EA:总中断允许控制位。当EA=0时,屏蔽所有的中断;当EA=1时,开放所有的中断。ES:串行口中断允许控制位。当ES=0时,屏蔽串行口中断;当ES=1且EA=1时,开放串行口中断。ET1:定时/计数器T1的中断允许控制位。当ET1=0时,屏蔽T1的溢出中断;当E

37、T1=1且EA=1时,开放T1的溢出中断。EX1:外部中断1的中断允许控制位。当EX1=0时,屏蔽外部中断1的中断;当EX1=1 且 EA=1时,开放外部中断1的中断。ET0:定时/计数器T0的中断允许控制位。功能与ET1相同。EX0:外部中断0的中断允许控制位。功能与EX1相同。单片机复位以后,IE被清0,所有的中断请求被禁止。由用户程序对IE相应的位置1或清0,即可允许或禁止各中断源的中断申请。改变IE的内容,即可由位操作指令来实现(即SETB bit;CLR bit),也可用字节操作指令实现(即MOV IE, #data;ORL IE, #data;MOV IE, A等)。中断优先级控制

38、8051有2个中断优先级,每一个中断请求源均可编程为高优先级中断或低优先级中断,从而实现2级中断嵌套。中断优先规则:1)正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,一直到该中断服务程序结束,返回了主程序且执行了主程序中的一条指令后,CPU才响应新的中断请求。2)正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。3) CPU同时接收到几个中断请求时,首先响应优先级最高的中断请求。在MCS-51内部提供了一个中断优先级控制寄存器(IP)。其字节地址为B8H,既可按字节形式访问,又可按位形式访问,其位地址范围为0B8H0BFH。IP各个位的含义:(1)PS串

39、行口中断优先级控制位 1:高优先级中断; 0:低优先级中断。(2)PT1定时器T1中断优先级控制位 1:高优先级中断; 0:低优先级中断。(3)PX1外部中断1中断优先级控制位 1:高优先级中断; 0:低优先级中断。(4)PT0定时器T0中断优先级控制位 1:高优先级中断; 0:低优先级中断。(5)PX0外部中断0中断优先级控制位 1:高优先级中断; 0:低优先级中断。 中断响应的条件单片机响应中断的条件为中断源有请求且CPU开中断(即EA=1)。(1) 无同级或高级中断正在处理。(2) 现行指令执行到最后1个机器周期且已结束。(3) 若现行指令为RETI或访问特殊功能寄存器IE、IP的指令时

40、,执行完该指令且紧随其后的另一条指令也已执行完毕。由于MCS-51系列单片机的相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,通常是在相应的中断服务程序入口地址中放一条长跳转指令LJMP,这样就可以转到64KB的任何可用区域。若在2KB范围内转移,则可存放AJMP指令。在中断服务程序中,PUSH指令与POP指令必须成对使用,否则不能正确返回断点。而且最后一条指令必须为中断返回指令RETI.。中断触发方式:电平触发方式、边沿触发方式;电平触发方式适合于外部中断输入以低电平输入且中断服务程序能清除外部中断请求源的情况。边沿触发方式适合于以负脉冲形式输入的外部中断请求

41、。中断响应的主要过程:(1)首先由硬件自动生成一条长调用指令: LCALL addr16 (2)置优先级状态:低级=0,高级=1 (3)接着由CPU执行该指令: 将PC的内容压入堆栈以保护断点, 再将中断入口地址装入PC。(4)中断执行完成返回。中断请求的撤消1定时器/计数器中断请求的撤消 中断请求被响应后。硬件会自动清TF0或TF1。2外部中断请求的撤消(1)跳沿方式外部中断请求的撤消是自动撤消的。(2)电平方式外部中断请求的撤消: 中断标志自动撤消,中断请求需软件撤消; 除了IE0/IE1标志位清“0”之外,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。串行口中断请求的撤消响

42、应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。所以串行口中断请求的撤消只能用软件清除CLR TI ;清TI标志位CLR RI ;清RI标志位中断的返回使用指令RETI返回中断,功能如下:1、是清除中断优先级状态触发器,使得后来的中断请求可以被响应;2、是结束中断服务程序,弹出断点地址并送入PC,使CPU从断点处重新执行被中断的程序。 典型的中断服务程序如下:INTP:CLREA;关中断 PUSHPSW;现场保护 PUSHACC SETBEA;开中断 ;中断处理程序段 CLREA;关中断 POPACC;现场恢复

43、 POPPSW SETBEA;开中断RETI;中断返回常用的主程序结构如下:ORG 0000HLJMP MAINORG 中断入口地址LJMP INTP ORG XXXXHMAIN:主 程 序INTP:中断服务程序掌握 MCS-51 单片机的串行口的可编程结构、工作方式、相关的专用寄存器以及了解各种方式下的应用方法。 数据通信的传输方式有:单工方式、半双工方式、全双工方式。波特率及时钟频率波特率(BR):单位时间传输的数据位数。单位:bps 1 bps=1 bit/s。 波特率的倒数即为每位传输所需的时间。发送/接收时钟频率与波特率有关,即 fT/R=nBRT/R(式中,fT/R为发/收时钟频率

44、,单位:Hz); BRT/R为发/收波特率,单位:bps;MCS-51单片机串行口构成:发送缓冲寄存器(SBUF)、发送控制器、发送控制门、接收缓冲寄存器(SBUF)、接收控制寄存器、移位寄存器、中断。串行口控制寄存器SCON(1)SM0、SM1串行口4种工作方式的选择位 (2)多机通信控制位SM2如果SM2=1,当RB8=“1”时,才将接收到的前8位数据送入SBUF,并置“1” RI,产生中断请求;RB8=“0”时,则将接收到的前8位数据丢弃。如果SM2=0,则不论第9位数据是“1”还是“0”,都将前8位数据送入SBUF中,并置“1” RI,产生中断请求。在方式1时,如果SM2=1,则只有收

45、到停止位时才会激活RI。在方式0时,SM2必须为0。(3)REN允许串行接收位;由软件置“1”或清“0”。 REN=1 允许串行口接收数据。 REN=0 禁止串行口接收数据。(4)TB8发送的第9位;数据方式2和3时,TB8是要发送的第9位数据,可作为奇偶校验位使用,也可作为地址帧或数据帧的标志。 =1为地址帧, =0为数据帧 (5)RB8接收到的第9位数据;方式2和3时,RB8存放接收到的第9位数据。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。(6)TI发送中断标志位;方式0时,串行发送第8位数据结束时由硬件置“1”,其它工作方式,串行口发送停止位的开始时置“1

46、”。TI=1,表示一帧数据发送结束,可供软件查询,也可申请中断。CPU响应中断后, 向SBUF写入要发送的下一帧数据。TI必须由软件清0。(7)RI接收中断标志位;方式0时,接收完第8位数据时,RI由硬件置1。其它工作方式,串行接收到停止位时,该位置“1”。RI=1,表示一帧数据接收完毕,并申请中断, CPU从接收SBUF取走数据。该位状态也可软件查询。RI必须由软件清“0”。特殊功能寄存器PCON 字节地址为87H,没有位寻址功能。SMOD:波特率选择位。 例如:方式1的波特率的计算公式为: 方式1波特率=(2SMOD/32)定时器T1的溢出率;也称SMOD位为波特率倍增位。MCS-51串行

47、口波特率方式0时波特率是固定的,为单片机晶振频率的1/12,即BR = fOSC/12(fOSC为晶振频率)。方式0的波特率是一个机器周期进行一次移位。当fOSC=6 MHz时, 波特率为500 kbps, 即2s移位一次;当fOSC=12 MHz时, 波特率为1 Mbps, 即1s移位一次。方式2的波特率也是固定的,且有两种。一种是晶振频率的1/32,即fOSC/32。另一种是晶振频率的1/64,fOSC/64。用公式表示为:BR = 2SMOD fOSC/64(式中,SMOD为PCON寄存器最高位的值,SMOD=1表示波特率加倍。)方式1和方式3的波特率是可变的,其波特率由定时器1的溢出率

48、决定,公式为:BR = 2SMOD fd / 32;式中,SMOD为PCON寄存器最高位的值,SMOD=1表示波特率加倍。而定时器1溢出率计算公式为:fd=fOSC/(12*(256-TH1) 了解 MCS-51 单片机的扩展总线的形成,基本工作时序(外部程序存贮器读周期时序、外部数据存贮器读 / 写周期时序)。 单片机系统总线(三大总线): 数据总线-与外部器件之间传输数据 ; 地址总线-向外发出地址信号 ; 控制总线-是一组控制信号线 。掌握 MCS-51 单片机的程序贮存器的扩展,数据贮存器的扩展。 程序存储器扩展工作时,ROM中的信息只能读出,要用特殊方式写入(固化信息),失电后可保持

49、信息不丢失。1.掩膜ROM:不可改写ROM 由生产芯片的厂家固化信息。在最后一道工序用掩膜工艺写入信息,用户只可读。2.PROM:可编程ROM 用户可进行一次编程。存储单元电路由熔丝相连,当加入写脉冲,某些存储单元熔丝熔断,信息永久写入,不可再次改写。3.EPROM:可擦除PROM 用户可以多次编程。编程加写脉冲后,某些存储单元的PN结表面形成浮动栅,阻挡通路,实现信息写入。用紫外线照射可驱散浮动栅,原有信息全部擦除,便可再次改写。4.EEPROM:可电擦除PROM 既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息,具备RAM、ROM的优点。但写入时间较长。扩展程序存储器电路常用EP

50、ROM芯片:Intel 2716 (2K8位) 2732 (4KB8位) 2764 (8KB8位) 27128(16KB8位) 27256(32KB8位) 27512(64KB8位)EEPROM 2816、2817单片机外接EEPROM电路的存储器电路EEPROM 既能作为程序存储器又能作数据存储器。将程序存储器与数据存储器的空间合二为一。片外存储器读信号= PSEN RD数据存储器扩展扩展数据存储器电路常用RAM芯片:Intel 6116(2KB)、6264(8KB)、62256(32KB)等。掌握 MCS-51 单片机的简单 I/O 口的扩展方法。 1.单片机I/O口扩展方法 (1)总线扩

51、展方法 采用总线扩展的方法是将扩展的并行I/O口芯片连接到 MCS-51单片机的总线上,即数据总线使用P0口,地址总线使用P2和P0口,控制总线使用部分P3口。 (2)串行口扩展方法 MCS-51单片机串行口工作在方式0时,提供一种I/O扩展方法。 串行口方式 0是移位寄存器工作方式,可借助外接串入并出的移位寄存器扩展并行输出口,也可通过外接并入串出的移位寄存器扩展并行输入口。 这种扩展方法不占用并行总线且可以扩展多个并行I/O。由于采用串行输入输出的方法,故数据传输速度较慢。2.I/O扩展常用芯片 (1)TTL/CMOS锁存器/缓冲器芯片: 如74LS377、74LS374、74LS373、

52、74LS273、74LS244、74LS245等; (2)通用可编程I/O接口芯片: 如8255、8155、8729等; (3)可编程阵列: 如GAL16V8、GAL20V8等。3.I/O扩展中应注意的几个问题 (1)访问扩展I/O的方法与访问外部数据存储器完全相同,使用相同的指令。 (2)扩展多片I/O芯片或多个I/O设备时,注意总线的驱动能力问题; (3)扩展I/O口的目的是为了单片机与外部设备进行信息交换而设置的一个输入输出通道,I/O口最终与外设相连。 (4)在软件设计时,I/O口对应初始状态设置、工作方式选择要与外接设备相匹配。 扩展简单并行接口1.扩展并行输出口 (1)用74LS3

53、77扩展并行输出口74LS377 是带有输出允许端的8D锁存器,有8个输入端口、8个输出端口、1个时钟输入端 CLK(上升沿有效)和1个允许控制端OE。(2)用74LS374扩展并行输出口 74LS374是具有三态输出的8D边沿触发器,其功能与74LS377相似,见表9-2。(见教材P190页) 4LS374与单片机接口电路如图9-2所示,74LS374的地址为7FFFH。74LS374具有较强的驱动能力,输出低电平电流IOL最大可达24mA,是74LS377的3倍。 2.扩展并行输入口 并行输入扩展口比较简单,只需采用8位缓冲器即可。 常用的缓冲器有74LS244。74LS244为单向总线缓

54、冲器,只能一个方向传输数据。扩展I/O口和扩展外部RAM一样,因此访问外部I/O口就像访问外部 RAM一样,用的是 MOVX类指令。了解用可编程接口芯片 8155 的扩展 I/O 口的方法,主要掌握基本 I/O 工作方式下的编程应用。(参考教材没有此内容) 8155的内部寄存器及操作 引脚作用:AD0AD7: 地址数据线;IO/M: IO/RAM选择信号端,输入高电平选择I/O操作,低电平选择访问片内RAM; CE: 片选信号输入端,低电平有效; RD: 读选通输入端,低电平有效; WR: 写选通输入端,低电平有效;TI: 计数器计数脉冲输入端;8155的定时/计数器是一个14位的减法计数器。它有两个8位初值寄存器:高8位初值寄存器的低6位存放计数初值的高6位, 最高两位确定定时/计数器的工作方式; 低8位初值寄存器用于存放计数初值的低8位。计数脉冲来自TI引脚.M2和M1决定了8155定时/计数器有4种工作方式,不同的工作方式意味着在TO引脚输出不同信号。例 在左图中, 将单片机片内RAM 40H4FH单元的内容, 送8155芯片内的00H0FH单元。设定8155芯片的工作方式为: A口为基本输入方式, B口为基

温馨提示

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

评论

0/150

提交评论