欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > PPT文档下载  

    51单片机原理及应用.ppt

    • 资源ID:236073       资源大小:5.04MB        全文页数:122页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    51单片机原理及应用.ppt

    51单片机原理及应用,第一讲 单片机结构及原理第二讲 中断系统第三讲 定时/计数器第四讲 串口通信第五讲 工具软件介绍、流水灯实验,创新认知与实践,-实践环节,51单片机原理及应用,什么是单片机单片机能做什么,什么是单片机单板机 将CPU芯片、存储器芯片、I/O接口芯片和简单的I/O设备(小键盘、LED显示器)等装配在一块印刷电路板上,再配上监控程序(固化在ROM中),就构成了一台单板微型计算机(简称单板机)。,单板机,单板机的I/O设备简单,软件资源少,使用不方便。主要用于早期微型计算机原理的教学及简单的测控系统。,单板机,单片机,单片机 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。,单片机能做什么,工业控制 用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电机转速控制、温度控制、自动生产线等。智能仪器仪表提高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构。如各种智能电气测量仪表、智能传感器等。,机电一体化产品机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。分布式系统的前端模块 在较复杂的工业系统中,经常要采用分布式测控系统完成大量的分布参数的采集。在这类系统中,采用单片机作为分布式系统的前端采集模块,系统具有运行可靠,数据采集方便灵活,成本低廉等一系列优点。家用电器家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。,1.1 电子计算机的发展概述,1.1.1 电子计算机的问世及其经典结构,1946年2月15日,第一台电子数字计算机问世,这标志着计算机时代的到来。(CALCULATOR)ENIAC(“埃尼阿克”),与现代的计算机相比,有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。,ENIAC是电子管计算机,时钟频率仅有100 KHz,但能在1秒钟的时间内完成5000次加法运算。,匈牙利籍数学家冯诺依曼在方案的设计上做出了重要的贡献。1946年6月,他又提出了“程序存储”和“二进制运算”的思想,进一步构建了计算机由运算器、控制器、存储器、输入设备和输出设备组成这一计算机的经典结构。(EDVAC-ELECTRONIC DISCRETE VARIABLE AUTOMATIC COMPUTER),电子技术的发展,相继经历了五个时代:,电子管;晶体管;集成电路;大规模集成电路;超大规模集成电路。,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-1 MCS-51单片机的组成2-2 MCS-51单片机的引脚及其功能2-3 MCS-51单片机的存储器配置2-4 振荡器与时钟电路及CPU时序2-5 并行I/O端口2-6 MCS-51单片机基本工作系统的组成,MCS-51单片机结构原理,2-1 MCS-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,XTAL1 XTAL2,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/PROG PSEN及Vpp/EA4、I/O管脚 P0,P1,P2,P3,2-2 MCS-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-3 MCS-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。,MOV SP,#60H,PUSH A,.,PUSH B,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(Program State Word)程序状态字;,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、中断源入口地址,具体入口如下:中断源 入口地址INT0 0003T0 000BHINT1 0013HT1 001BHRI/TI 0023H在这些单元中往往是一些跳转指令,跳到真正的中断服务程序,这是因为给每个中断源安排的空间只有8个单元。,三、中断控制的寄存器,与中断控制有关的控制寄存器有四个:,TCON-定时控制寄存器,IE-中断允许控制寄存器,IP-中断优先级控制寄存器,SCON-及串行口控制寄存器。,定时控制寄存器TCON,中断请求标志,触发方式选择,0 低电平1 下降沿,串行口控制寄存器SCON,串行中断请求标志,中断允许控制寄存器IE,中断优先级控制寄存器(IP),0 禁止,1允许,0 低级别,1高级别,同一优先级的优先权排队如下表:,IP=09H=0000 1001PT1、PX0高INT0、T1、T0、INT1、串行口IP=55H=0101 0101PS、PX1、PX0 同级别,都为1PT0、PT1 同级别,都为0处理顺序为 PX0 PX1 PS PT0 PT1 INT0 INT1 RX/TX T0 T1,例:,1、中断请求标志,IT0,外中断0触发方式控制位。=0,电平触发方式。=1,边沿触发方式(下降沿有效)。IE0,外中断0中断请求标志位。TF0,T0溢出中断请求标志位。IT1、IE1、TF1类同,TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0,TCON(88H),TCON的中断标志,2、SCON的中断标志,RI,接收中断标志位。TI,发送中断标志位。,TI RI,SCON(98H),注意:RI和TI由硬件置位、由软件清除。,3、中断允许控制,EX0,外中断0允许位;ET0,T0中断允许位;EX1,外中断0允许位;ET1,T1中断允许位;ES,串口中断允许位;EA,CPU中断允许(总允许)位。,EA ES ET1 EX1 ET0 EX0,IE(A8H),4、中断优先级控制,PX0,外中断0优先级设定位;PT0,T0优先级设定位;PX1,外中断0优先级设定位;PT1,T1优先级设定位;PS,串口优先级设定位。,PS PT1 PX1 PT0 PX0,IP(B8H),中断优先级三条原则:,同时收到几个中断时,响应优先级别最高的 中断过程不能被同级、低优先级所中断 低优先级中断服务,能被高优先级中断,有2个优先级状态触发器:高优先级状态触发器 低优先级状态触发器,中断响应条件 有中断请求;对应中断允许位为1,开中断(即EA=1)同时满足时,才可能响应中断。,一、中断响应条件和时间,80C51单片机中断处理过程,硬件受阻,不产生LCALL的几种情况:正在处理同级或高优先级中断;当前查询的机器周期不是所执行指令的最后一个机器周期。正执行的指令为RET、RETI或任何访问IE或IP的指令(只有在这些指令后面至少再执行一条指令时才能接受中断请求)。,受阻未得到响应的中断,若条件消失时该中断标志已不再有效,该中断将不被响应。,相应优先级状态触发器置1 执行硬件LCALL指令 把PC的内容入栈 相应中断服务程序的入口送PC 执行中断服务程序。,二、中断响应过程,中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。,三、中断程序举例,例1:单外中断源,P1口,外部中断信号,INT0,数据,80C51,char Data;void main()EA=1;EX0=1;while(1)-,主程序:,void IRQ()interrupt 0 Data=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 计数值N x Tcy,计数模式,对外部事件脉冲计数 计数脉冲周期要大于2 Tcy,计数值:溢出时计数器值计数初值。,计数器全1时,再输入1个脉冲就回零,并发生 溢出(TCON中TF0或TF1置1),发中断请求。,二、定时器计数器的控制寄存器,与定时器计数器有关的控制寄存器有:,定时器控制寄存器TCON,中断请求标志,触发方式选择,启动定时/计数器,0 低电平1 下降沿,0 停止1 启动,工作方式控制寄存器TMOD,T1控制,T0控制,GATE门控位,M1 M0工作方式选择,计数脉冲输入,三、定时器计数器的工作方式,1.方式013位方式。由TL0的低5位和TH0的8位组成。TH0溢出时,置位TF0标志,向CPU发出中断请求。,13位计数器,定时器,计数器,定时=(213 X)*12*1/fosc 8*10-3=(213-x)*12*1/(12*106)X=213 8000=192=0 xC0,计数初值:X213N,2.方式116位方式,16位计数,由TL0作为低8位、TH0作为高8位。16位计数,由TL1作为低8位、TH1作为高8位,初值:X216N定时=(216 X)*12*1/fosc1*10-3=(216-X)*12*1/(6*106)1000=(65536-X)*2X=65036 FE0CH,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=1 1110 000 0 1100 F0H 0CH即将F0H装入TH0,0CH装入TL0。TMOD=GATE C/T M1M0 GATE C/T M1M0 0 0 0 0 0 0 00 00H 采用方式1:500*10-6=(216-X)*12*1/foscx=65036=FE0CH即将FEH装入TH1,0CH装入TL1。TMOD=GATE C/T M1M0 GATE C/T M1M0 0 0 01 0 0 0 0 10H,main()函数中:MOD=0 x01;/设置定时器0为工作方式1TH0=0 xFE;/定时器0高8位给初值TL0=0 xC0;/定时器0低8位给初值EA=1;/开总中断ET0=1;/开定时器0中断TR0=1;/启动定时器0,程序编写,中断服务程序中重新装入定时初值,void timer0()interrupt 1 TH0=0 xFE;/定时器0高8位给初值TL0=0 xC0;/定时器0低8位给初值,51单片机的串口通信,51单片机的串行接口,一、串行通信的基本概念,并行 和 串行 并行通信的优点是速度快,效率高,确点是不适合远距离通信。串行通信刚好相反。,单工:信息只能沿着一个方向传播半双工:信息沿一条线双向传播,不能同时实 现双向传播。全双工:使用两条独立的数据通道,收发可同时进行。,单工、半双工 和 全双工,同步方式和异步方式(1)同步方式是将一大批数据分成几个数据块,数据块之间用同步字符予以隔开,而传输的各位二进制码之间都没有间隔。其基本特征是发送与接收时钟始终保持严格同步。(2)异步通信是按帧传送数据,它利用每一帧的起、止信号来建立发送与接收之间的同步,每帧内部各位均采用固定的时间间隔,但帧与帧之间的时间间隔是随机的。其基本特征是每个字符必须用起始位和停止位作为字符开始和结束的标志,它是以字符为单位一个个地发送和接收的。,同步方式和异步方式,二、与串行口有关的特殊功能寄存器,1.数据缓冲器SBUF 串行口缓冲器SBUF是可直接寻址的特殊功能寄存器,其内部RAM字节地址是99H。在物理上,它对应着两个独立的寄存器,一个发送寄存器,一个接收寄存器。发送时,就是CPU写 SBUF的时候;接收时,就是读取SBUF的过程,接收寄存器是双缓冲的,以避免在接收下一帧数据之前,CPU未能及时响应接收器的中断,没有把上一帧数据读走,而产生两帧数据重叠的问题。,2.串行口控制寄存器SCON SCON用于控制和监视串行口的工作状态,其各位定义如图 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,完成一次接收过程。否则,所接收到的一桢信息将丢失,接收器复位,并从新开始检测负跳变,以便接收下一桢信息。注意:接收中断标志RI应由软件清除。,3.模式 2 和模式 3。串行口工作于模式 2 和模式 3 时,被定义为 9 位异步通信接口。它们的每帧数据结构是 11 位的:最低位是起始位(0),其后是 8 位数据位(低位在先),第 10 位是用户定义位(SCON中的 TB8或 RB8),最后一位是停止位(1)。模式 2 和模式3 工作原理相似,唯一的差别是模式 2 的波特率是固定的,即为 f/32或 fOSC/64;而模式 3的波特率是可变的,与定时器 T1的溢出率有关。,6.5.5 波特率 串行口每秒钟发送或接收的数据位数称为波特率。假设发送一位数据所需时间为T,则波特率为 1/T。(1)模式 0 的波特率等于单片机晶振频率的 1/12,即每个机器周期接收或发送一位数据。(2)模式 2 的波特率与电源控制器PCON的最高位SMOD的写入值有关:即SMOD=0,波特率为(1/64)fOSC;SMOD=1,波特率为(1/32)fOSC。,(3)模式 1 和模式 3 的波特率除了与SMOD位有关之外,还与定时器 T1 的溢出率有关。定时器 T1 作为波特率发生器,常选用定时方式 2(8 位重装载初值方式),并且禁止 T1 中断。此时 TH1 从初值计数到产生溢出,它每秒钟溢出的次数称为溢出率。于是,表 6.3 定时器T1产生的常用波特率,6.6 串行口的应用,一、串行口的编程 串行口需初始化后,才能完成数据的输入、输出。其初始化过程如下:(1)按选定串行口的操作模式设定SCON的SM0、SM1两位二进制编码。(2)对于操作模式 2 或 3,应根据需要在 TB8 中写入待发送的第 9 位数据。(3)若选定的操作模式不是模式 0,还需设定接收/发送的波特率。设定SMOD的状态,以控制波特率是否加倍。若选定操作模式1或3,则应对定时器 T1进行初始化以设定其溢出率。,串口通信例子,功能:将串口接收的数据回传-Char a,flag=0;void main()TMOD=0 x20;/设置定时器1工作方式为2TH1=0 xfd;/设置波特率9600TL1=0 xfd;,REN=1;/允许接收SM0=0;SM1=1;/设置串口工作方式TR1=1;EA=1;/开总中断ES=1;/开串口中断while(1),if(flag=1)ES=0;/关串口中断 flag=0;/清零SBUF=a;/设置待发送数据while(!TI);/等待发送完成TI=0;/清除发送中断标志ES=1;,中断服务程序,void serail()interrupt 4RI=0;/软件清除接收中断标志a=SBUF;/读数据flag=1;,单片机流水灯系统原理图,单片机流水灯程序,#include/包含头文件,其中有对P0P3、TCON/SCON、IE、IP等的定义void delay(uint x);/软件延时子函数声明sbit LED1=P20;/将P2口的第0位命名为LED1sbit LED2=P21;sbit LED3=P22;sbit LED4=P23;uchar num;/定义一个变量uchar d;,void main()while(1)d=0 x01;for(num=0;num4;num+)dnum;/d向左移 num 位P2=d;delay(20);,延时子程序,void delay(uint x)uint a,b;for(a=x;a0;a-)for(b=100;b0;b-);,

    注意事项

    本文(51单片机原理及应用.ppt)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开