第二章4优秀文档.ppt
第二章第二章 80C51 80C51单片机的硬件结构单片机的硬件结构2-180C51单片机内部结构及引脚单片机内部结构及引脚2-280C51存储器配置存储器配置2-380C51的中断系统的中断系统2-480C51定时器定时器计数器计数器2-580C51的串口通信的串口通信2-180C51单片机内部结构及引脚单片机内部结构及引脚一、系统资源及主要性能特点一、系统资源及主要性能特点1、系统资源MCS-51单片机是Intel公司1980推出的高档8位单片机,采用40脚双列直插封装或44脚方形封装,51、52系列功能兼容。8031内包括:1个8位CPU;128个字节RAM;21个特殊功能寄存器;4个8位并行I/O口;1个全双工串行口(二根线);2个16位定时计数器器;1个片内振荡器和时钟电路;5个中断源2个中断优先级;8051/8751:带有4KBROM/EPROM52子系列子系列的RAM/ROM容量为:256B/8KB2、性能特点单片机为哈佛结构的计算机,除上述基本资源外,还具有如下特点:外部程序存储器:可扩展到64KB;外部数据存储器:可扩展到64KB;堆栈:最深128B/256B;输入/输出口线:32根;寄存器区:划出RAM中32B作为通用寄存器;具有位寻址功能;单一“+5V”电源;系统时钟112MHz,常用12MHz、11.0592MHz和6MHz。二、二、MCS-51单片机基本结构单片机基本结构1、内部结构框图、内部结构框图结构简图如图2-1所示包括:CPU、存储器(ROM、RAM)、I/O接口等计算机的基本组成。2、外部引脚、外部引脚共40个引脚,大致可分为四类,其逻辑符号如图2-2所示。1)电源引脚)电源引脚VCC和和VSSVCC:40脚,电源端,+5VVSS:20脚,接地端(GND)2)时钟电路引脚)时钟电路引脚XTAL1:19脚,外接晶振输入引脚。XTAL2:18脚,外接晶振输出引脚。3)控制线引脚)控制线引脚共4根,其中3根为双功能RST/VPD:9脚,复位/备用电源。RST-通过外接复位电路实现上电复位或按键复位。VPD-可外接备用电源,在VCC掉电时向RAM供电。/VPP:31脚,内外ROM的选择/EPROM编程电源。=0:访问外部ROM;=1:访问内部ROM;PC值超过0FFFH(4KB)时,自动转向外ROM。VPP-在8751片内EPROM编程期间,为21V编程电源输入端。ALE/:30脚,地址锁存允许/编程脉冲。ALE-访问外ROM或RAM时,用来驱动地址锁存器锁存P0口分时送出的低8位地址(下降沿有效)。不访问外存储器时,该端以1/6时钟频率输出正脉冲,可用作为外部时钟。带8个LS型TTL门电路。-8751片内EPROM编程期间,此引脚输入编程脉冲。:29脚,读外部ROM选通信号,即该脚有效时(上升沿),外ROM允许输出。每个机器周期2次有效。从内部ROM取指时不产生。可带8个LS型TTL门电路。4)I/O引脚引脚P0口:P0.0P0.7,3932脚,外接存储器时作地址/数据分时使用口线;不接外部存储器时,可用作为8位准双向I/O口。P1口:P1.0P1.7,18脚,8位准双向I/O口。P2口:P2.0P2.7,2128脚,8位准双向I/O口。外接存储器时作为高8位地址总线。P3口:P3.0P3.7,1017脚,8位准双向I/O口,出于芯片引脚数的限制,P3口具有第二输出、输入功能。三、微处理器(三、微处理器(CPU)(一)运算器(一)运算器组成:ALU、TMP1、TMP2、A、B、PSW、DAA和布尔处理机等。DA A:BCD码十进制修正,由专用电路实现。布尔处理机:进位位CY,被称作“位累加器”,可在任何可寻址的位与CY间进行逻辑运算操作。与通用CPU相比,增加了暂存寄存器和B寄存器(二)控制器(二)控制器组成:PC、SP、DPTR、IR、ID、PLA等1、时钟电路、时钟电路(1)振荡源()振荡源(oscillation)MCS-51的HMOS芯片内部时钟电路的振荡源有两种方式提供,即内部自激振荡方式、外部振荡脉冲源方式。(1)振荡源()振荡源(oscillation)内部方式内部方式在XTAL1、XTAL2跨接定时元件和两个电容就构成了自激振荡器。如图2-3.1所示。C1、C2取530PF,起微调和稳定作用。晶振频率:fosc=1.212MHZ常用频率为6、12、11.0592MHz。外部方式外部方式外部振荡脉冲信号直接由XTAL2端输入,此时,XTAL1应接地,而片内振荡电路不起作用,如图2-3.2所示。常用于多块8051同时工作,以便同步,要求信号频率低于12MHz。(2)时序)时序振荡脉冲并不直接使用,由XTAL2端送往内部时钟电路:时钟电路:经过2分频,向CPU提供2相时钟信号P1和P2;再经3分频,产生ALE时序;经过12分频,成为机器周期信号,如图2-3.3所示。需要指出的是,CPU的运算操作在P1期间,数据传送在P2期间。时钟周期时钟周期:振荡器输出的时钟脉冲频率的倒数。为单片机中最小、最基本的时间单位。状状态态周周期期:振荡信号经2分频后获得的信号周期,称S,显然,S为时钟周期的2倍。机器周期:机器周期:12个时钟周期为一个机器周期,对应计算机执行一个基本操作所需的时间。指令周期:指令周期:执行一条指令所需的时间,至少包含一个机器周期。指令字节:指令字节:指令占用存储空间的字节数,有单字节、双字节、三字节三类。当时钟频率为12MHz和6MHz时,时钟周期分别为1/12us和1/6us,机器周期分别为1us和2us。ALE时序:时序:地址锁存信号,每个机器周期2次有效,分别在S1、S4状态。每次出现,CPU进行一次取指操作。2、复位电路、复位电路 MCS-51单片机的复位信号,高电平有效。电路结构如图2-4,RST/VPD引脚至少保持2个机器周期的高电平,才能复位。(1)复位工作状态)复位工作状态复位时,各SFR寄存器的状态为:(PC)=0000H;(SP)=07H;(P0P3)=FFH;其余SFR寄存器内容均为0;RAM的内容保持不变;外部引脚,ALE=0,=1。(2)复位电路)复位电路复位方式有上电自动复位、按键手动复位两种。如图2-4所示。在按键手动电平复位电路中,具有上电和按键双重功能。3、指针、指针程序计数器PC 16位计数器,指向程序存储器中被执行的指令所在的地址。本身没有地址,在物理上独立。寻址范围0000FFFFH的64KB空间。数据指针DPTR 16位地址指针,可寻址范围0000FFFFH的64KB空间,可指向程序、数据存储器。堆栈指针SP8位地址寄存器,SP用来管理堆栈。它指向内部RAM的一个存储单元,且总是指向栈顶单元。MCS-51的堆栈是内部RAM中的一个部分,符合“先进后出、后进先出”原则。四、存储器四、存储器MCS-51的程序存储器与数据存储器是分开的,地址空间重迭,最大可扩展到64KB。1、程序存储器、程序存储器ROM(1)8031内部无程序存储器由于8031无片内程序存储器,需外接,因此,端必须外接低电平,如图2-6所示。(2)8051、8751内部有4KBROM/EPROM=0,使用外部程序存储器;=1,使用内部程序存储器4KB空间,当PC的值超过4KB范围时,自动转向外部程序存储器。2、数据存储器、数据存储器RAM(1)内部RAM中低128B,007FH;(2)外部RAM,可扩至64KB,0000FFFFHMCS-51的程序存储器与数据存储器是分开的,地址空2、应用举例LCALLDELAY6,外部数据存储器写选通信号DJNZR6,DL2、输入移位寄存器和控制第二章80C51单片机的硬件结构分时送出的低8位地址(下降沿有效)。52系列的SFR可寻址为93位,共221位。起作用,如图2-3.作8位定时器。作为高8位地址总线。发光管驱动额定电流:1040mA,静态取下限。五、并行输入五、并行输入/输出口输出口MCS-51单片机有4个8位并行I/O口,P0P3,共32根口线。每个端口都包括:锁存器(即SFR:P0-P3)、输出驱动器、两个三态缓冲器以及控制电路。结构如下图所示。1、P1口(口(90H)特点:(1)准双向口:作为I/O输入时,口锁存器必须置“1”,使T截止,输入信号通过“读引脚”三态缓冲器进入内部总线。(2)内部有上拉电阻(20K40K);(3)CPU读P1口的二种情况:读P1口的锁存器状态值:“读改写”指令。例ANLP1,#0FH;读P1口的引脚(外部输入)。例MOVA,P1;2、P3口(口(B0H)特点:(1)准双向口:条件为第二功能输出端常“1”,与门开锁;(2)第二功能口:作为第二功能口使用时,(P3)=FFH;某位作为第二功能输入时,第二功能输出也必须置“1”。第二功能输出:P3.0TXD,串行输出口;P3.6,外部数据存储器写选通信号P3.7,外部数据存储器读选通信号第二功能输入:P3.1RXD,串行输入口;P3.2,外部中断输入0;P3.3,外部中断输入1;P3.4T0,外部计数输入0P3.5T1,外部计数输入1;3、P2口(口(A0H)特点:(1)控制端高电平时,作为高8位地址输出口。(2)控制端低电平时,最小系统(8051、8751)作准双向口。P2口结构4、P0口(口(80H)特点:(1)控制端高电平时,作为低8位地址和8位数据分时使用口,供扩展时使用。(2)控制端低电平时,T1截止,使T2漏极开路,输出“1”时须外接上拉电阻,最小系统(8051、8751)作准双向。P0口结构注意:P0口作地址/数据总线输出时,通过反相器、与门工作。P0口作外部数据输入时,CPU使T1、T2均截止,引脚浮空,第三态,数据经“读引脚”输入缓冲器进入内部总线-是真正的双向口。端口小结:端口小结:(1)系统总线:地址总线(16位):P0(地址低8位)、P2口(地址高8位)数据总线(8位):P0口(地址/数据分时使用);控制总线(6根):P3口的第二功能、和9、29、30、31脚;(2)供用户使用的端口:P1口、部分未作第二功能的P3口;(3)P0口作地址/数据时,是真正的双向口,三态,负载能力为8个LSTTL电路;P1P3是准双向口,负载能力为4个LSTTL电路。(4)P0P3在用作输入之前必须先写“1”,即:(P0)=FFH(P3)=FFH。六、六、MCS-51单片机最小应用系统结构单片机最小应用系统结构1、8751/8051最小应用系统外接时钟电路和复位电路,即构成应用系统,如图2-6.1。特点:1)不扩展外ROM、外RAM,接高电平,P0P3口都可用作I/O口;2)128BRAM、4KBROM,容量有限;3)开发时、应用时P0、P2口的环境差异较大;4)8051系统应用软件需厂家置入,一般用作为大批量产品。2、8031最小应用系统外接时钟电路和复位电路,需外扩一片程序存储器,一般为EPROM,构成应用系统,如图2-6.2。特点:1)P0、P2口只能作总线用,剩下P1、P3口作I/O口。2)接地,ALE、作为地址锁存和读ROM信号。2-380C51存储器配置存储器配置MCS-51存储器可分为五类:程序存储器、内部数据存储器、特殊功能存储器、位寻址区、外部扩展的数据存储器和扩展I/O口。如图2-7所示。一、程序存储器一、程序存储器 1、程序存储器作用及寻址范围作用:存放指令(程序)的存储器,用PC作地址指针。寻址范围:0000FFFFH,共64KB;片内、片外统一编址。片内:PC=00000FFFH;片外:PC=1000FFFFH;2、ROM低端的几个特殊入口地址0000H:CPU开始执行指令时的第一个取指单元,每次执行时PC的内容总是0000H;0003H002B:中断专用固定入口地址(系统规定);一般:我们总是从ROM的0030H单元开始存放用户指令。二、内部数据存储器二、内部数据存储器 字节地址:007FH;有128个8位单元字节。按功能划分为三个部分:1、工作寄存器区:、工作寄存器区:001FH(1)共分4个区,0007,080F,1017,181F;(2)每区有8个工作寄存器:R0R7;(3)当前工作寄存器区:由PSW中的第三、第四位选择,具有快速保护现场数据的作用,也可作为一般的数据缓冲器。PSW4(RS1)PSW3(RS0)当前区字节地址工作寄存器000区0007H(R0R7)011区080FH(R0R7)102区1017H(R0R7)113区181FH(R0R7)2、位寻址区:、位寻址区:20H2FH共16个字节,168=128个位,位地址:007FH。51系列整个位地址空间为:00FFH,共211位。1)007FH为片内RAM中202FH的16个字节单元中的128个位。2)80FFH中11个SFR的可寻址位,83位。它们是:A、B、PSW、P0P3、TCON、SCON、IE、IP52系列的SFR可寻址为93位,共221位。3、数据缓冲区:、数据缓冲区:30H7FH(1)作为通用的按字节操作的数据缓冲区。(2)常开辟为堆栈区。堆栈主要为子程序和中断操作而设立,是一种数据结构,它只允许在其一端进行数据的插入和删除操作,又称为入栈和出栈,MCS-51的堆栈是向上生长型的。堆栈的特点:是一个符合“先进后出、后进先出”的RAM区域SP总是指向堆栈的顶部(保存有数据);堆栈可以设在内部RAM中的任意区域,一般开辟在307FH中。堆栈的功能:保护断点-保护从主程序转向子程序、中断时的断点,发生转移时自动完成。保护现场-对子程序、中断程序中要用到的、现场的某些寄存器的内容进行保护,以保证返回时确恢复。软件指令方式实现。数据的临时存放。三、特殊功能寄存器区:三、特殊功能寄存器区:80FFH即SFR,包括I/O锁存器、定时器、串行口、中断、状态、控制寄存器等共21个。离散地分布在80FFH中(不包括PC)。如下所示:算术运算寄存器:A、B、PSW指针寄存器:SP、DPTR(DPH,DPL)并行口:P0、P1、P2、P3串行口:SCON、SBUF、PCON中断系统:IP、IE定时/计数器:TMOD、TCON、TH0、TL0、TH1、TL1特别需要指出的是,51系列内部RAM,80FFH中未定义的单位为不可访问单元。四、外部扩展数据存储器和扩展四、外部扩展数据存储器和扩展I/O口口外部扩展数据存储器:最大可扩展到64KB,由P3口的第二功能、控制其读、写,并通过MOVX指令访问。扩展I/O口:MCS-51单片机将其看作外RAM的一个单元,与外RAM统一编址,提供16位寻址能力,寻址范围也是64K,但需要注意的是,为区别于外RAM地址,扩展I/O口一般用高端地址。2-380C51的中断系统的中断系统一、中断概述1、中断源中断源指引起正在执行的程序中断,转而执行中断服务程序的设备或事件。可分为硬中断、软中断。MCS-51单片机的5个中断源:外部中断2个:、,中断请求信号分别由P3.2、P3.1输入,低电平有效、脉冲下降沿有效可选。入口地址:0003H,0013H。定时/计数溢出中断2个:T0、T1,计数溢出时置“1”TF0、TF1位,从而发出内部中断请求。入口地址:000BH,001BH。CJNER0,#0AH,LOOP作定时器:TMOD=00000000=00H在按键手动电平复位电路中,具有上T0方式3时的T0、T1电路逻辑结构,如图所示000区0007H(R0R7)由SFR寄存器IE设置,分二级允许控制。16位计数器,指向程序存储器中被执行的指令所在的地址。常用于多块8051同时工作,以便同步,要求信号频率低于12MHz。JP1:MOVA,#01H从内部ROM取指时不产生。LCALLDELAY2-380C51的中断系统三、微处理器(CPU)此时:RXD(P3.MOVTH1,#0FFH(2)通用异步接收/发送器(UART):用于数据串、并转换的串行接口电路。ORG0000H串行中断1个:串行接收或发送完一帧数据时就产生一个内部中断请求RI或TI。入口地址:0023H。2、中断处理过程包含:中断请求、中断响应、中断服务、中断返回四个阶段.中断请求:中断源将相应请求中断的标志位置“1”,表示发出请求,并由CPU查询。中断响应:在一条指令的最后一个周期按优先级顺序查询中断标志,为“1”并满足响应条件时响应。响应操作:断点压栈撤除中断标志关闭低同级中断允许中断入口地址送PC。实际上响应中断的主要操作是有硬件自动产生一条长调用指令LCALL。中断服务:根据入口地址转中断服务程序,包含保护现场、执行中断主体、恢复现场。中断返回:断点出栈开放中断允许返回原程序。3、中断优先级及其嵌套优先级2个-高优先级、低优先级,可通过SFR寄存器IP设置。中断嵌套原则为高优先级的中断不能被低优先的中断所中断,同级中断不能相互中断。4、中断控制的特点中断是随机发生的,并且是可编程的。通过执行特定功能的程序段而获得预定目的。5、MCS-51中断汇集二、中断控制通过对特殊功能寄存器TCON、SCON、IE、IP等四个寄存器的设定而实现。1、中断请求控制(1)定时中断、外中断请求控制寄存器TCON字节地址88H,位地址8FH88H,与中断请求有关的各位表示如下:TF1、TF0:T1/T0溢出中断请求标志。IE1、IE0:外中断/请求标志。IT1、IT0:外中断/触发方式定义位,“1”后沿触发(2)串行中断请求控制寄存器SCON串行中断请求由TI、RI的逻辑“或”得到。即不论是发送标志还是接收标志,都将发生串行中断请求。字节地址98H,位地址9FH98H,与中断请求有关的各位表示如下:TI为发送中断,RI为接收中断,为“1”时,请求中断,响应后必须由用户软件清零。(3)中断请求的撤销中断响应后,必须及时清除TCON、SCON中的已响应中断请求标志,否则,会引起中断的重复查询和响应。外中断请求的撤销:对于边沿触发方式:由于触发信号过后就消失,撤销自然也就是自动的。对于电平触发方式:需通过软硬件结合的方法来实现撤销。定时中断请求的撤销:定时中断后,硬件自动清“0”。串行中断请求的撤销:不能自动清“0”,须用软件的方法在中断服务子程序中进行清“0”。2、中断允许控制由SFR寄存器IE设置,分二级允许控制。以EA位作为总控,以各中断源的允许位作为分控。IE字节地址A8H,位地址AFHA8H,与中断允许有关的各位表示如下:单片机复位后,(IE)=00H,因此,整个中断系统为禁止状态。3、中断优先级控制由SFR寄存器IP设置,有2个优先级,相应位置“1”,为高优先级。相应位置“0”,为低优先级。IP字节地址B8H,位地址BFHB8H,与中断允许有关的各位表示如下:注意:5个中断允许位全部置“1”时,和全部清0效果一样,为同优先级中断,按自然优先级处理,即为T0T1串行口,优先级依次从高到低。三、中断应用1、中断应用的准备工作(1)中断初始化设置:定义SP、IP、IE和外中断触发方式选择;(2)中断服务程序:中断入口、现场保护、中断主体程序、恢复现场返回。2、应用举例例例2-1通过P1.0P1.7控制发光二极管,输出两种节日灯,并利用外中断P3.2,在两种状态之间切换。分析:主程序中状态:亮1灯左移循环,中断程序中的状态:以1秒间隔8灯依次亮起,再依次熄灭,循环3次后返回。主流程图(略),程序如下:ORG0000HLJMPMAINORG0003H;中断入口LJMP0100HORG0030HSTART:MOVSP,#60HSETBIT0;设定下跳有效SETBEX0;开中SETBEAMOVIP,#01HMOVA,#01HLOOP:MOVP1,ARLALCALLDELAYAJMP LOOP中断服务程序流程图:中断服务程序:ORG0100HPUSHACCCLRAMOVR0,#00HLOOP1:SETBCRLCAMOVP1,ALCALL DELAYJNBACC.7,LOOP1LOOP2:CLRCRLCAMOVP1,ALCALLDELAYJBACC.7,LOOP2INCR0CJNER0,#03H,LOOP1POPACCRETDELAY:(略);1秒延时2-480C51的定时器的定时器/计数器计数器一、定时/计数器构成1、定时方法软件延时通过执行循环而获得延时,短时间延时;硬件延时由硬件电路实现延时,长时间延时;可编程定时通过对系统时钟脉冲的计数而获得延时。2、MCS-51单片机的定时/计数器16位定时/计数器T0、T1,分别由4个8位计数器组成,均属SFR寄存器。T0由TH0、TL0构成,字节地址为8CH、8AH;T1由TH1、TL1构成,字节地址为8DH、8BH;MCS-51单片机定时器结构示意图3、MCS-51单片机定时/计数器的功能归根结底是计数器。(1)定时功能对片内机器周期进行计数,即每个机器周期产生一个计数脉冲,计数加1。(2)计数功能对片外从T0(P3.4)、T1(P3.5)引脚输入的外部脉冲信号进行计数,下降沿计数加1。二、定时/计数器的控制寄存器与定时/计数器有关的控制寄存器有3个:1、定时器控制寄存器TCON(88H)SFR寄存器TCON既参与定时控制又参与中断控制,有关定时控制的有4位,表示如下:TF1/TF0:当T1/T0的计数器计数溢出时,该位置“1”。TR1/TR0:T1/T0运行控制位。软件将其置“1”时,启动T1/T0工作。2、设定定时器工作方式寄存器TMOD(89H)SFR寄存器TMOD用于2个定时器/计数器T1/T0的工作方式设定,各位的含义表示如下:GATE:门控位,定义T1/T0的启动方式,逻辑如图:C/:定时/计数功能选择位。为“0”,作定时器用;为“1”,作计数器用。M1M0:工作方式选择位。00方式013位计数器01方式116位计数器10方式2 初值自动重装8位计数器11方式32个8位计数器,仅适用于T03、中断允许控制寄存器IE(A8H)三、定时器/计数器工作方式1、工作方式、工作方式0M1M0=0013位计数器位计数器(1)结构由TH0的全部8位和TL0的低5位构成,如下页图。当TL0低5位计数满时直接向TH0进位,并当全部13位计数满溢出时,TF0置“1”。(2)TMOD值:作定时器:TMOD=00000000=00H作计数器:TMOD=00000100=04H(3)计数初值最大计数值为213=8192T=(213计数初值)机器周期(12/fosc)计数初值=213欲计数脉冲数=213T/机器周期2、工作方式、工作方式1M1M0=0116位计数器位计数器方式1时的电路逻辑结构如图所示作定时器,TMOD=01H;作计数器,TMOD=05H;T=(216计数初值)机器周期(12/fosc)计数初值=216欲计数脉冲数=216T/机器周期例如:定时500us,fosc=6MHz时,初值=216500/2=65536-250=65286=FF06H那么:TH0=FFH,TL0=06H3、工作方式、工作方式2M1M0=10自动复位的自动复位的8位计数器位计数器以TL0作计数器,而TH0作为预置寄存器。当计数满溢出时,TF0置“1”,同时TH0将计数初值以硬件方法自动装入TL0。逻辑结构,如图所示:作定时器,TMOD=02H;作计数器,TMOD=06H;最大计数值为28=256,若fosc=12MHz,则方式2的最大定时时间为256us。当作为定时器用时,定时时间的计算公式:T=(28计数初值)机器周期(12/fosc)计数初值=28欲计数脉冲数=28T/机器周期例如:定时500,fosc=6MHz时,初值=28500/2=6=06H则:TH0=TL0=06H4、工作方式、工作方式3M1M0=112个个8位位计计数数器器(仅仅限限于于T0)在T0方式3下,T0、T1的设置和使用是不同的。(1)T0方式3TL0:使用T0原有控制资源,功能与方式0、1相同。TH0:借用T1的TR1、TF1,只能对片内机器周期脉冲计数,作8位定时器。T0方式3时的T0、T1电路逻辑结构,如图所示T0方式3时的T0初值计算完全同方式2(2)T0方式3下的T1T0方式3时,T1仍然可工作于方式0方式2,如上页图所示。C/控制位仍可使T1工作在定时器或计数器方式,只是由于其TR1、TF1被T0的TH0占用,因而没有计数溢出标志可供使用,计数溢出时只能将输出结果送至串行口,即用作串行口波特率发生器。T0方式3下的T1方式2,因定时初值能自动恢复,用作波特率发生器更为合适。四、定时/计数器的应用【例2-2】已知fosc=6MHz,利用T1定时500us口输出周期为1ms的方波脉冲,使用方式0方式2编程。解:1)方波波形如图所示:2)计数初值:方式0:计数初值=213欲计数脉冲数=213T/机器周期=213-500/2=1F06HTH1=F8H,TL1=06H方式1:计数初值=216欲计数脉冲数=216T/机器周期=216-500/2=FF06HTH1=FFH,TL1=06H方式2:计数初值=28欲计数脉冲数=28T/机器周期=28-500/2=06HTH1=TL1=06H3)定时到达P1.0的翻转方法:查询方式、中断方式4)流程、程序如下:方式方式0:采用查询方式:采用查询方式程序:流程:ORG0030HSTART:MOV TMOD,#00HMOV TH1,#0F8HMOV TL1,#06HMOV IE,#00HSETB TR1WT:JNBTF1,WTCLRTF1MOV TH1,#0F8HMOV TL1,#06HSJMP WT方式方式1:采用中断方式:采用中断方式ORG0000HLJMPSTARTORG001BHLJMP0100HORG0030HSTART:MOVTMOD,#10HMOVTH1,#0FFHMOVTL1,#06HMOVIE,#88HMOVIP,#00001000BSETBTR1SJMP中断服务程序:ORG0100HCPLP1.0MOVTH1,#0FFHMOVTL1,#06HRETI方式方式2:采用中断方式:采用中断方式ORG0000HLJMPSTARTORG001BHLJMP0100HORG0030HSTART:MOVTMOD,#20HMOVTH1,#06HMOVTL1,#06HMOVIE,#88HMOVIP,#08HSETBTR1SJMP 中断服务程序:ORG0100HCPLP1.0RETI【例2-3】用软件延时和定时器中断方式、查询方式定时的方法编程,试设计控制六盏LED灯的程序,设晶振fosc=12MHZ,要求:1)K合上后,L1L6轮流点亮1秒,如此循环2)K断开后,全灭,等待下次启动3)要求用T0定时器、软件程序延时两种方案实现解:(1)硬件原理图及I/O分配,如图所示;(2)用定时器T0方式1实现延时:定时器T0初值:定时时间:tmax=655361us=65.536ms,取50ms1秒延时实现:50ms延时20次T0的初值:=216-50000us/1us=15536=3CB0H TMOD=(00000001)B=01H控制流程查询方式:通过对TF0的查询,获得50ms延时,并循环20次,获得1S延时中断方式:通过T0溢出中断,获得50ms延时,并循环20次,获得1S延时指令代码(略)(3)用软件程序延时)用软件程序延时ORG0000HLJMPSTARTORG0030HSTART:MOVP3,#04HMOVA,#01HLOOP1:MOVP1,#00HWT:JBP3.2,WTLOOP2:MOVP1,AMOVR7,#10DL3:MOVR6,#200DL2:MOVR5,#125DL1:JNBP3.2,LOOP1DJNZR5,DL1DJNZR6,DL2DJNZR7,DL3JBACC.5,JP1RLAAJMPLOOP2JP1:MOVA,#01HAJMPLOOP2 2-580C51的串口通信的串口通信一、串行通信基本概念1、并行通信和串行通信通信的基本方式:并行通信:数据的各位同时送出。传送距离:小于30米。串行通信:数据的各位逐位送出,只需一对传送线即可完成传送。传送距离:几米几千公里。不访问外存储器时,该端以1/6时钟频率输出正脉冲,MCS-51单片机的串作定时器,TMOD=02H;保护断点-保护从主程序转向子程序、中断时的内部方式在XTAL1、XTAL2跨接定时元件和两个电DBB0H,99H,92H1、工作寄存器区:001FH数据指针DPTR四、外部扩展数据存储器和扩展I/O口LCALLDELAY包含:中断请求、中断响应、中断服务、中断返中的128个位。LOOP2:MOVP1,A(1)准双向口:条件为第二功能输出端常“1”,与门开锁;常用于多块8051同时工作,以便同步,要求信号频率低于12MHz。当时钟频率为12MHz和6MHz时,时钟周期分别为2、串行通信(1)串行通信的数据传送方向。单工、半双工、全双工三种方式(2)串行通信的工作方式同步方式:数据按块传送,包括同步字符、数据块。异步方式:数据按字符传送,每一个字符均按固定的字符格式传送,又被称为帧,如图。包含字符的起始位、数据位、校验位、停止位四个部分。3、串行通信的波特率(Baudrate)(1)波特率:传送数据位的速率,一般指每秒种传送二进制代码的位数。单位:bps。(2)通用异步接收/发送器(UART):用于数据串、并转换的串行接口电路。包括串行化电路(发送器)、并行化电路(接收器)、控制电路3部分。二、MCS-51单片机的串行口全双工的串行口(全双工的串行口(P3.0、P3.1):能同时进行发送和接收。既可作UART用,也可作同步移位寄存器使用,还可用于网络通信,其帧格式可有8位、10位和11位,并能设置各种波特率。1、串行口的结构MCS-51单片机的串行口主要由2个物理上独立的串行数据缓冲器SBUF、输入移位寄存器和控制器等组成。还有2个SFR寄存器SCON和PCON,用于串行口的初始化编程。结构如图所示。串行口的发送和接收是以SBUF的名义进行读或写,它们共用一个地址99H。发送:执行写命令MOVSBUF,A指令,发送完后使中断标志TI置“1”。接收:当RI=0时,置“1”允许接收位时,即启动接收,并时使RI=1。执行读命令MOVA,SBUF时,即可从接收SBUF取出信息并由内部总线送CPU。2、串行口控制寄存器SCON用于存放串行口的控制和状态信息,PCON用于改变串行口的通信波特率,波特率发生器可由定时器T1方式2构成。(1)串行控制寄存器SCON单元地址98H,位地址9FH98H。寄存器及位地址表示如下:SCON:(2)电源控制寄存器PCON字节地址87H,不可位寻址。它的D7位SMOD为串行口波特率控制位,可由软件置位或清零。若SMOD=1,则使工作在方式1、2、3时的波特率加倍。3、串行工作方式0同步移位寄存器方式方式设定:SM0SM1=00,通过执行MOVSCON,#00H。此时:RXD(P3.0):数据的发送或接收口。TXD(P3.1):输出同步移位脉冲。发送、接收的是8位数据,不设起始位和停止位,低位在前,波特率固定为fosc/12。在串行方式0时,是将串行口变成并行口使用。并要有串并转换芯片74LS164、74LS165转换。三、MCS-51串行口方式0驱动数码管1、LED数码管(1)结构COM:显示器位选线adp:显示器段选线发光管驱动额定电流:1040mA,静态取下限。(2)静态显示及其段码静态显示:利用8位锁存功能的I/O口线驱动一个数码管,多个数码管同时显示,需增加I/O口线。段码形成:在COM送入低电平或高电平,然后控制个各笔段引脚电平,即可形成相应段码。【例2-4】:利用P1口并行输出控制八段数码管,设小数点暗,采用共阳顺序、共阴顺序、共阴逆序确定09的显示程序为:解:1)共阳顺序显示硬件结构如图:2)共阳顺序、共阴顺序、共阴逆序的段码如下:共阳顺序段码:C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H共阴顺序段码:3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH(Dpa)共阴逆序段码:FCH,60H,DAH,F2H,66H,B6H,BEH,E0H,FEH,F6H(aDp)2)并行输出,循环显示09秒的显示程序:DIR:MOV R0,#0MOV DPTR,#TABLOOP:MOVA,R0MOVCA,A+DPTRMOV P1,ALCALLDELAYINCR0CJNE R0,#0AH,LOOPAJMP DIRTAB:DBC0H,F9H,A4HDBB0H,99H,92HDB82H,F8H,80H,90H2、串行口方式0驱动数码管(1)串行口与并行口转换控制串入并出移位寄存器74LS164图(a)并入串出移位寄存器74LS165图(b)(2)利用74LS164驱动共阴数码管【例2-5】:利用8031串行口控制八段数码管,设小数点暗,采用共阴逆序,设计循环显示09秒的程序。解:1)硬件结构图(共阴逆序、小数点暗)2)控制流程、程序START:MOVSCON,#00HMOVR0,#00HCLRES;禁止中断MOVDPTR,#TABLELOOP:MOVA,R0MOVCA,A+DPTRCLRTIMOVSBUF,ALCALLDELAYINCR0CJNER0,#10,LOOPMOVR0,#00HAJMPLOOPTABLE:DB0FCH,60H,0DAH,0F2H,66HDB0B6H,0BEH,0E0H,0FEH,0F6HORG0100HDELAY:1秒延时程序(略)RET本章小结1、单片机结构框图、硬件资源、引脚功能2、CPU、存储器配置、P0P3口3、内部数据存储器、特殊功能存储器、位地址空间、程序存储器、数据存储器和外部扩展端口4、定时器/计数器的工作方式和初值设定、方式0方式2应用和定时编程举例5、中断及中断请求源、特殊功能寄存器IP,IE、简单应用6、串行口的组成和功能、串行口的工作方式及波特率方式0 应用及简单编程举例重点:引脚功能、存储器空间结构。掌握定时器/计数器的初值计算及定时程序编制,串行口工作于方式0的发送/接收数据。难点:存储器地址和存储器的内容难以区别,字节地址和位地址难以理解对TMOD、SCON等特殊功能寄存器参数设定,中断系统现场保护。