51单片机教程 ppt课件_第1页
51单片机教程 ppt课件_第2页
51单片机教程 ppt课件_第3页
51单片机教程 ppt课件_第4页
51单片机教程 ppt课件_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

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

文档简介

江西环境工程职业学院机械与电子分院张小波时间:2011年9月,51单片机原理及应用,第一讲单片机结构及原理第二讲中断系统第三讲定时/计数器第四讲串口通信第五讲工具软件介绍、流水灯实验,51单片机原理及应用,什么是单片机单片机能做什么,单片机在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。,单片机能做什么,工业控制用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电机转速控制、温度控制、自动生产线等。智能仪器仪表提高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构。如各种智能电气测量仪表、智能传感器等。,机电一体化产品机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。分布式系统的前端模块在较复杂的工业系统中,经常要采用分布式测控系统完成大量的分布参数的采集。在这类系统中,采用单片机作为分布式系统的前端采集模块,系统具有运行可靠,数据采集方便灵活,成本低廉等一系列优点。家用电器家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。,1.2单片机的发展概况,1.2.1单片机的发展过程,单片机技术发展过程可分为三个主要阶段:单芯片微机形成阶段1976年,Intel公司推出了MCS-48系列单片机。8位CPU、1K字节ROM、64字节RAM、27根I/O线和1个8位定时/计数器。,特点是:存储器容量较小,寻址范围小(不大于4K),无串行接口,指令系统功能不强。,性能完善提高阶段1980年,Intel公司推出了MCS-51系列单片机:8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。,特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51已成为公认的单片机经典机种。,微控制器化阶段,特点是:片内面向测控系统外围电路增强,使单片机可以方便灵活地用于复杂的自动测控系统及设备。“微控制器”的称谓更能反应单片机的本质。,1982年,Intel推出MCS-96系列单片机。芯片内集成:16位CPU、8K字节ROM、232字节RAM、5个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K。片上还有8路10位ADC、1路PWM输出及高速I/O部件等。,1.2.2单片机产品近况,ATMEL公司融入Flash存储器技术的AT89系列;Philips公司的80C51、80C552系列;*深圳宏晶科技有限公司的STC89C/S系列;ADI公司的ADC8xx高精度ADC系列;Maxim公司的DS89C420高速(50MIPS)系列;,80C51系列单片机产品繁多,主流地位已经形成,近年来推出的与80C51兼容的主要产品有:,2-1MCS-51单片机的组成2-2MCS-51单片机的引脚及其功能2-3MCS-51单片机的存储器配置2-4振荡器与时钟电路及CPU时序2-5并行I/O端口2-6MCS-51单片机基本工作系统的组成,MCS-51单片机结构原理,2-1MCS-51单片机的组成与结构,8位中央处理单元(CPU)128B/256B的数据存储器RAM4KB/8KB的片内ROM/EPROM4个8位并行I/O口P0-P32个定时器/计数器5个中断源1个全双工的UART(通用异步接收、发送器)片内振荡与时钟产生电路,P0驱动器,P2驱动器,P0锁存器,P2锁存器,RAM地址寄存器,128BRAM,4KBROM,B寄存器,暂存器1,暂存器2,ACC,SP,程序地址寄存器,缓冲器,PC增1,PC,DPTR,中断、串行口和定时器,PSW,P1锁存器,P1驱动器,P3锁存器,P3驱动器,定时控制,指令寄存器,指令译码器,OSC,ALU,P0.0-P0.7,P2.0-P2.7,P3.0-P3.7,P1.0-P1.7,XTAL1XTAL2,PSENALEEARESET,8051单片机内部结构图,运算器,存储器,I/O接口,控制器,中央处理器(CPU),包含运算器和控制器两部分,(1)8位的ALU:,(2)8位累加器ACC(A):,(3)8位寄存器B:,(4)8位程序状态寄存器PSW:,(5)布尔处理器:,(6)2个8位暂存器:,运算器,(1)程序计数器(PC),(2)指令寄存器(IR),(3)指令译码器(ID),(4)振荡器及定时与控制电路,控制器,中央处理器(CPU)控制器,由两个8位的计数器(PCL,PCH)组成,PC存储将要执行的下一条指令的地址,16位可容纳的最大数值为65535,为64KB,因此,MCS-51可寻址64KB的程序存储器。改变PC内的值,就可改变程序执行的方向。,16位程序计数器-PC,由PC内容指定的ROM地址单元中取出的指令,经指令寄存器送至指令译码器进行译码,进而CPU产生相应的控制信号,执行指令所规定的操作。,指令存储器及指令译码器,MCS-51片内有振荡器OSC,通过单片机的XTAL1,XTAL2连接片外的石英晶体及两个频率微调电容,产生单片机工作所需要的基本时钟节拍。,振荡器及定时控制电路,1、电源管脚:Vcc,Vss2、时钟电路管脚:XTAL1,XTAL23、控制信号脚:RST/VPD,ALE/PROGPSEN及Vpp/EA4、I/O管脚P0,P1,P2,P3,2-2MCS-51单片机的引脚及其功能,电源管脚,Vcc:电源端,为5V,允许电源有偏差;GND(VSS):地。注:为了防止电源脉冲对单片机的影响,一般在VCC和GND之间接上一个1uF的电容。,时钟电路管脚,XTAL1:芯片内部反相放大器输入端,使用外部振荡器时需接地。XTAL2:芯片内部反相放大器输出端,使用外部振荡时接振荡器输入的信号。,控制线ALE/PROG,ALE:地址锁存信号端,频率为晶体振荡器的1/6正脉冲信号。当CPU访问片外扩展存储器时,该信号作为锁存低8位地址的控制信号。PROG:当片内有EPROM时,该管脚提供编程写入时的编程脉冲信号输入端。,控制管脚RST/VPD,RST:复位信号输入端,高电平有效。保持两个机器周期以上,并变为低电平,单片机开始从0000地址执行,即可完成单片机复位。单片机复位不改变片内RAM的值。VPD:备用电源。,+5V,RESET,10uF,控制管脚PSEN,PSEN:程序存储器允许输出信号端。在访问片外程序存储器时,CPU控制该端输出负脉冲作为外部存储器的选通信号,允许CPU读出EPROM中被选中单元中的指令码。该管脚一般连程序存储器的选通信号端(OE)。,控制管脚EA/Vpp,EA:外部程序存储器地址允许输入端/固化编程电压输入端。程序存储器允许输出信号端。当EA接高时,前4KB或8KB程序在单片机内,当EA接地时,所有程序均在外存储器。Vpp:对单片机内程序存储器编程时施加的高电平输入端。,2-3MCS-51单片机的存储器配置,计算机存储结构:哈佛结构:程序存储与数据存储分开单片机冯.诺依曼结构:程序与数据存储在一起通用计算机单片机的存储器结构(ROMRAM):ROM:常用于存放程序和需要长时间存放的数据,掉电不丢失;RAM:随时可读可写的存储器,掉电后数据立即丢失。,1、单片机的存储器结构,采用哈佛结构,存在4个物理上相互独立的存储器空间:片内程序存储器片外程序存储器片内数据存储器片外数据存储器,0FFFH,0000H,片内4KROM,EA引脚=0,EA引脚=1,2、单片机的程序存储器,常用单片机的程序存储器容量:,随着单片机制造技术的发展,现在内部ROM有64KB,RAM达几KB的都有。在进行单片机应用系统开发时,应注意选择,能不扩展的尽量不扩展。(片内128B不包含SFR区),单片机的程序存储器,单片机的程序存储器的应用:,上电复位时,PC=0000;,程序存储器有保留单元:,3、单片机的数据存储器,单片机的数据存储器最大寻址为64KB,地址为:,0000FFFFH,片内为128B的数据存储器,片外为64KB,地址有重叠,靠指令区分,低128B的数据RAM,高128B的特殊寄存器区,单片机的数据存储器,数据存储器中的堆栈:,堆栈用于保护中断时程序的断点地址,以便中断返回时程序的继续执行;,堆栈的特点是先进后出,后进先出;,堆栈的指令是:PUSH(压入)和POP(弹出),堆栈寄存器叫SP,其内部的数值叫栈底,初始值为07H,一般应进行设置到50H或60H。,MOVSP,#60H,PUSHA,.,PUSHB,07H,60H,61H,7FH,SP,SP,A,SP,B,单片机的数据存储器,低128B的分区:,工作寄存器区,R0-R7,共四组,由PSW中的RS1,RS0决定;,位寻址区20H-2FH,位地址为:00H-7FH;,一般数据存储区;,堆栈区(由用户进行设置,初始值为07H),高128B的分区:,特殊功能寄存器(SFR):,ACC,B,PSW,P0,P1,P2,P3,IP,IE,TCON,SCON可位寻址(11个)SP,DPTR,TMOD,TH0,TL0,TH1,TL1,SBUF,PCON不可位寻址(共9个),特殊功能寄存器(SFR)的初始值除P0,P1,P2,P3为FFH,SP为07外,其余均为00H。,单片机的特殊功能寄存器(SFR),PSW,PSW(ProgramStateWord)程序状态字;,CY进位位标志位或借位位标志位;,AC半字节进位位标志位或半字节借位标志位;,F0用户标志位;,RS1,RS0工作寄存器组选择位,00-0区,01-1区,10-2区,11-3区;,OV溢出标志位,当进行补码运算时,如有溢出,超出-128127范围时置位;,/未定位位,在52中为F1,用户标志位;,P奇偶标志位,每条指令执行完后,跟踪指示A内的1的个数,如为奇数,则P=1,否则为0,常用于校验串行通信中的数据传送是否出错。,2-4振荡器与时钟电路及CPU时序,1.振荡器与时钟电路:,单片机内部的增益反向放大器通过XTAL1、XTAL2两个引脚外接的反馈石英晶体元件构成自激振荡器。时钟发生器把振荡器的信号进行二分频,向CPU提供了两相时钟脉冲信号P1和P2。时钟信号的周期称为S,它是振荡周期的2倍,在每个时钟周期S的前半周期,P1有效,后半周期,P2有效。,2-4振荡器与时钟电路及CPU时序(续),2.机器周期和指令周期:,单片机的一个机器周期由6个S状态周期组成,即S1-S6,每个状态又持续两个振荡周期,即P1和P2两拍,故一个机器周期包含12个振荡周期,即S1P1,S1P2,S2,P1,S2P2,S6P1,S6P2共12个状态拍。若采用12MHz晶振,则每个机器周期为1us。单片机的指令长度分为1B、2B和3B三种,按CPU执行每条指令的时间分为单周期指令、双周期指令和四周期指令三种。,每一条指令的执行包括取指、执指两个阶段。在每个机器周期内ALE两次有效,第一次出现在S1P2和S2P1之期间,第二次出现在S4P2和S5P1期间。,2-4振荡器与时钟电路及CPU时序(续),3.取指、执指的时序:,2-5并行输入/输出端口,8051单片机有四个8位的I/O端口,分别称为P0,P1,P2,P3,每个端口均为准双向口,共占32只引脚,每个端口可作为8位的总线使用,也可作为单独的I/O应用。每个端口都包含一个锁存器(即特殊寄存器P0-P3),一个输出驱动器和输入缓冲器。作输出线时数据可以锁存,作输入时可以缓冲。当有外部扩展的存储器时,P0作为地址的低8位,P2作为高8位组成16位地址总线,而P0复用为8位的数据总线。,2-5并行输入/输出端口,1、P0口,无外扩存储器时,P0可作为I/O应用。CPU执行传送或改写位内容的指令时,硬件使C=0,开关MUX处于图示位置,P0作为通用I/O口。此时,T1处于截止状态,输出极变为漏极开路,此时需加上拉电阻。,P0口结构,(1)P0用作输出口时,当CPU执行输出指令时,写脉冲加在D锁存器的CP上,输出数据经过锁存器的D端,反相输出在Q非,然后加到T2上,到数据为1是,T2导通,P0.i输出为0,当数据为0时,T2截止,P0.i的数据经上拉电阻拉高,为1。,特殊的单片机“读运算(修改)写”输出指令,其执行过程为先读出锁存器的数据,然后运算再锁存到锁存器,然后输出到引脚,读锁存器中的数据时,Q端数据经过控制开通的三态缓冲器1送入内部数据总线。,P0口结构,(2)P0用作输入口时,读引脚的指令将三态缓冲器2打开,端口引脚上的数据经上图蓝色的线输入内部数据总线。,在读引脚时,由于T2并接在引脚上,如果T2导通它会把引脚上的高电平拉成低电平,从而产生误读。因此,在读端口之前,应先向端口锁存器写“1”,从而是Q非为“0”,使T2截止。,P0口结构,P0口用作数据/地址总线使用时,芯片外部有锁存器:(1)P0口先送出低8位地址再送出数据此时C=1,MUX打到上方,地址/数据位驱动T1,其反相驱动T2,当地址/数据位为“1”时,T1导通,T2截止,P0.i输出为“1”;当地址/数据位为“0”时,T1截止,T2导通,P0.i为“0”。,(2)P0口先送出低8位地址再输入数据送出地址与上相同,但读入数据时,打开缓冲器2,引脚数据经缓冲器2进入内部数据总线。,P1口结构,P1口为准双向口,用作通用I/O口(开关量输入/输出),输出驱动有上拉电阻(实质为由两个场效应管构成的),其余与P0作为I/O口相同。,P2口结构,P2口可作为地址高8位,也可作为通用I/O口。(1)作为高8位地址总线:MUX打向上方,使地址与反相器3连接,由P2.X输出地址信息;(2)作为通用I/O口时:MUX打向下方,输入/输出与P0口相同。,P3口结构,(1)P3口作为通用I/O口:当CPU执行对P3口的I/O操作时,W被置1,P3口变为通用I/O口,与P0、P1、P2作为I/O时的工作原理一致。,P3口除了具有准双向I/O口以外,各引脚还具有另外一项功能,即第二功能。,P3口结构,P3口的第二功能:,(2)P3口用作第二功能时,锁存器的输出Q由硬件设置为1。P3口输出时,数据由W线经反相器3输出;P3口输入时,经同相器4输入至第二功能线。,端口的负载能力和接口要求,P0口:可驱动8个LS型TTL负载;P1-P3:可驱动4个TTL型负载;ALE端:可驱动8个LS型TTL负载;PSEN:可驱动8个LS型TTL负载。,2、端口接口要求,1、端口的驱动能力,作为输入口时,任何TTL或NMOS电路都能以正常的方式驱动8051单片机(HMOS)的P1-P3口,由于其输出级具有上拉电阻,故可被OC门的电路所驱动,无需上拉电阻;注意:由于单片机的端口只提供几毫安的输出电流,因而,当输出口去驱动一个普通晶体管的基极(或TTL电路输入端)时,应在端口与晶体管的基极之间串联一个电阻,以限制高电平输出时的电流。,2-6单片机的基本工作系统组成,洗衣机控制电路板,2-6单片机的基本工作系统组成,复读机控制电路板,2-6单片机的基本工作系统组成,排队机控制电路板,第二讲80C51的中断系统,一、80C51的中断系统结构,中断的概念,看电视,中断处理,中断请求,实际生活,中断返回,电话铃响,接听电话,看电视,主程序,计算机,事件发生,事件处理,主程序,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,中断的概念:,中断请求标志,1,高级,低级,MCS-51单片机的中断系统,内部查询,内部查询,入口地址,入口地址,中断允许控制,中断优先级,EA,中断源,1.中断源共有五个中断源,分别是外部中断两个、定时中断两个和串行中断一个,它们是:外部中断0-INT0,由P3.2提供,外部中断1INT1,由P3.3提供,,外部中断有两种信号方式,即电平方式和脉冲方式。(IT0、IT1),T0溢出中断;由片内定时/计数器0提供T1溢出中断;由片内定时/计数器1提供串行口中断RI/TI;由片内串行口提供,二、中断源,2、中断源入口地址,具体入口如下:中断源入口地址INT00003T0000BHINT10013HT1001BHRI/TI0023H在这些单元中往往是一些跳转指令,跳到真正的中断服务程序,这是因为给每个中断源安排的空间只有8个单元。,三、中断控制的寄存器,与中断控制有关的控制寄存器有四个:,TCON-定时控制寄存器,IE-中断允许控制寄存器,IP-中断优先级控制寄存器,SCON-及串行口控制寄存器。,定时控制寄存器TCON,中断请求标志,触发方式选择,0低电平1下降沿,串行口控制寄存器SCON,串行中断请求标志,中断允许控制寄存器IE,中断优先级控制寄存器(IP),0禁止,1允许,0低级别,1高级别,同一优先级的优先权排队如下表:,IP=09H=00001001PT1、PX0高INT0、T1、T0、INT1、串行口IP=55H=01010101PS、PX1、PX0同级别,都为1PT0、PT1同级别,都为0处理顺序为PX0PX1PSPT0PT1INT0INT1RX/TXT0T1,例:,1、中断请求标志,IT0,外中断0触发方式控制位。=0,电平触发方式。=1,边沿触发方式(下降沿有效)。IE0,外中断0中断请求标志位。TF0,T0溢出中断请求标志位。IT1、IE1、TF1类同,TF1TR1TF0TR0IE1IT1IE0IT0,TCON(88H),TCON的中断标志,2、SCON的中断标志,RI,接收中断标志位。TI,发送中断标志位。,TIRI,SCON(98H),注意:RI和TI由硬件置位、由软件清除。,3、中断允许控制,EX0,外中断0允许位;ET0,T0中断允许位;EX1,外中断0允许位;ET1,T1中断允许位;ES,串口中断允许位;EA,CPU中断允许(总允许)位。,EAESET1EX1ET0EX0,IE(A8H),4、中断优先级控制,PX0,外中断0优先级设定位;PT0,T0优先级设定位;PX1,外中断0优先级设定位;PT1,T1优先级设定位;PS,串口优先级设定位。,PSPT1PX1PT0PX0,IP(B8H),中断优先级三条原则:,同时收到几个中断时,响应优先级别最高的中断过程不能被同级、低优先级所中断低优先级中断服务,能被高优先级中断,有2个优先级状态触发器:高优先级状态触发器低优先级状态触发器,中断响应条件有中断请求;对应中断允许位为1,开中断(即EA=1)同时满足时,才可能响应中断。,一、中断响应条件和时间,80C51单片机中断处理过程,硬件受阻,不产生LCALL的几种情况:正在处理同级或高优先级中断;当前查询的机器周期不是所执行指令的最后一个机器周期。正执行的指令为RET、RETI或任何访问IE或IP的指令(只有在这些指令后面至少再执行一条指令时才能接受中断请求)。,受阻未得到响应的中断,若条件消失时该中断标志已不再有效,该中断将不被响应。,相应优先级状态触发器置1执行硬件LCALL指令把PC的内容入栈相应中断服务程序的入口送PC执行中断服务程序。,二、中断响应过程,中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。,三、中断程序举例,例1:单外中断源,P1口,外部中断信号,INT0,数据,80C51,charData;voidmain()EA=1;EX0=1;while(1)-,主程序:,voidIRQ()interrupt0Data=P1;,中断服务程序:,第三讲80C51的定时/计数器,实现定时常用的三种方法:,软件定时:占用CPU时间,效率低。用555电路:不可编程。可编程芯片:功能强,需要另外扩展。,单片机内部有2个16位的定时/计数器:使用灵活,编程方便。,1、定时/计数器的结构和工作原理,加1计数器(高8位、低8位)TMOD,工作方式设置;TCON,启动、停止及设置溢出标志。,一、定时/计数器的结构,2、定时/计数器的工作原理,计数器脉冲来源:振荡器脉冲经过12分频T0或T1引脚的外部脉冲,计数功能-计数脉冲来自相应的外部输入引脚,T0为P3.4,T1为P3.5。,定时功能-计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值加1。所以,计数频率是振荡频率的1/12。,TMOD中,各有一个控制位(CT),分别用于控制定时/计数器T0和T1工作在定时器方式还是计数器方式。,定时模式,对内部机器周期计数定时时间t计数值NxTcy,计数模式,对外部事件脉冲计数计数脉冲周期要大于2Tcy,计数值:溢出时计数器值计数初值。,计数器全1时,再输入1个脉冲就回零,并发生溢出(TCON中TF0或TF1置1),发中断请求。,二、定时器计数器的控制寄存器,与定时器计数器有关的控制寄存器有:,定时器控制寄存器TCON,中断请求标志,触发方式选择,启动定时/计数器,0低电平1下降沿,0停止1启动,工作方式控制寄存器TMOD,T1控制,T0控制,GATE门控位,M1M0工作方式选择,计数脉冲输入,三、定时器计数器的工作方式,1.方式013位方式。由TL0的低5位和TH0的8位组成。TH0溢出时,置位TF0标志,向CPU发出中断请求。,13位计数器,定时器,计数器,定时=(213X)*12*1/fosc8*10-3=(213-x)*12*1/(12*106)X=2138000=192=0 xC0,计数初值:X213N,2.方式116位方式,16位计数,由TL0作为低8位、TH0作为高8位。16位计数,由TL1作为低8位、TH1作为高8位,初值:X216N定时=(216X)*12*1/fosc1*10-3=(216-X)*12*1/(6*106)1000=(65536-X)*2X=65036FE0CH,3.方式28位自动装入时间常数方式,自动重装初值的8位计数方式,适合于用作较精确的脉冲信号发生器。,初值:X28N,4.方式32个8位方式,仅T0可以工作在方式3,T1处于方式3时停止计数。此时T0分成2个独立的计数器TL0和TH0,前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。(1)TH0由TR1启动/停止,溢出TF1(2)TL0由TR0启动/停止,溢出TF0(3)TH0只能定时,TL0可以定时/计数,且都是8位定时T=(28)*12foscTL0计数初值28,设计数器最大计数值为M,选择不同的工作方式最大计数值不同。12MHZ方式0:M=213=8192,8.192ms方式1:M=216=65536,65.536ms方式2:M=28=256,256us方式3:M=28=256,256us,四、应用举例,计算计数器的计数初值:编程时将计数初值送THi、TLi;,可编程器件在使用前需要进行初始化:,确定TMOD控制字:编程时将控制字送TMOD;,开中断(如果使用中断方式):编程实置位EA、ETi,TRi位置位控制定时器的启动和停止。,【例】若单片机晶振为12MHz,要求产生500s的定时,试计算X的初值。解:采用方式0:500*10-6=(213-X)*12*1/foscx=7692=1E0CH=1111000001100F0H0CH即将F0H装入TH0,0CH装入TL0。TMOD=GATEC/TM1M0GATEC/TM1M00000000000H采用方式1:500*10-6=(216-X)*12*1/foscx=65036=FE0CH即将FEH装入TH1,0CH装入TL1。TMOD=GATEC/TM1M0GATEC/TM1M00001000010H,main()函数中:TMOD=0 x01;/设置定时器0为工作方式1TH0=0 xFE;/定时器0高8位给初值TL0=0 xC0;/定时器0低8位给初值EA=1;/开总中断ET0=1;/开定时器0中断TR0=1;/启动定时器0,程序编写,中断服务程序中重新装入定时初值,voidtimer0()interrupt1TH0=0 xFE;/定时器0高8位给初值TL0=0 xC0;/定时器0低8位给初值,51单片机的串口通信,51单片机的串行接口,一、串行通信的基本概念,并行和串行并行通信的优点是速度快,效率高,确点是不适合远距离通信。串行通信刚好相反。,单工:信息只能沿着一个方向传播半双工:信息沿一条线双向传播,不能同时实现双向传播。全双工:使用两条独立的数据通道,收发可同时进行。,单工、半双工和全双工,同步方式和异步方式(1)同步方式是将一大批数据分成几个数据块,数据块之间用同步字符予以隔开,而传输的各位二进制码之间都没有间隔。其基本特征是发送与接收时钟始终保持严格同步。(2)异步通信是按帧传送数据,它利用每一帧的起、止信号来建立发送与接收之间的同步,每帧内部各位均采用固定的时间间隔,但帧与帧之间的时间间隔是随机的。其基本特征是每个字符必须用起始位和停止位作为字符开始和结束的标志,它是以字符为单位一个个地发送和接收的。,同步方式和异步方式,二、与串行口有关的特殊功能寄存器,1.数据缓冲器SBUF串行口缓冲器SBUF是可直接寻址的特殊功能寄存器,其内部RAM字节地址是99H。在物理上,它对应着两个独立的寄存器,一个发送寄存器,一个接收寄存器。发送时,就是CPU写SBUF的时候;接收时,就是读取SBUF的过程,接收寄存器是双缓冲的,以避免在接收下一帧数据之前,CPU未能及时响应接收器的中断,没有把上一帧数据读走,而产生两帧数据重叠的问题。,2.串行口控制寄存器SCONSCON用于控制和监视串行口的工作状态,其各位定义如图5.3所示。相应的各位功能介绍如下:SM0、SM1:用于定义串行口的操作模式,两个选择位对应4种模式,见表6.2。其中fOSC是振荡器频率,UART为通用异步接收和发送器的英文缩写。SM2:多机通信时的接收允许标志位。在模式2和3中,若SM2=1,且接收到的第9位数据(RB8)是0,则接收中断标志(RI)不会被激活。在模式1中,若SM2=1且没有接收到有效的停止位,则RI不会被激活。在模式0中,SM2必须是0。,特殊功能寄存器PCON中,只有一位(最高位)SMOD与串行口的工作有关,该位是串行口波特率系数的控制位:SMOD=1时,波特率加倍,否则不加倍。PCON的地址为87H,不可位寻址,因此初始化时需要字节传送。,3.电源控制寄存器PCON,串行口操作模式选择,三、串行口的4种工作模式,模式0同步移位寄存器输入输出模式,可外接移位寄存器,以扩展I/O口。,2.模式1串行口工作于模式1时,为波特率可变的8位异步通信接口。数据位由P3.0(RXD)端接收,由P3.1(TXD)端发送。传送一帧信息为10位:一位起始位(0),8位数据位(低位在前)和一位停止位(1)。波特率是可变的,它取决于定时器T1的溢出速率及SMOD的状态。模式1发送过程。用软件清除TI后,CPU执行任何一条以SBUF为目标寄存器的指令,就启动发送过程。数据由TXD引脚输出,此时的发送移位脉冲是由定时器/计数器T1送来的溢出信号经过16或32分频而取得的。一帧信号发送完时,将置位发送中断标志TI=1,向CPU申请中断,完成一次发送过程。,(2)模式1接收过程。用软件清除RI后,当允许接收位REN被置位1时,接收器以选定波特率的16倍的速率采样RXD引脚上的电平,即在一个数据位期间有16个检测脉冲,并在第7、8、9个脉冲期间采样接收信号,然后用三中取二的原则确定检测值,以抑制干扰。并且采样是在每个数据位的中间,避免了信号边沿的波形失真造成的采样错误。当检测到有从“1”到“0”的负跳变时,则启动接收过程,在接收移位脉冲的控制下,接收完一帧信息。当最后一次移位脉冲产生时能满足下列两个条件:RI=0;接收到的停止位为1或SM2=0。,则停止位送入RB8,8位数据进入SBUF,并置RI1,完成一次接收过程。否则,所接收到的一桢信息将丢失,接收器复位

温馨提示

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

评论

0/150

提交评论