欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    大学课件MCS51单片机的定时器计数器.ppt

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

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

    大学课件MCS51单片机的定时器计数器.ppt

    郑州大学,3.3 MCS-51单片机的定时器/计数器,3.3.1 定时器/计数器 1基本概念(1)计数:计数是指对外部事件的个数进行计量。其实质就是对外部输入脉冲的个数进行计量。实现计数功能的器件称为计数器。(2)定时:8051单片机中的定时器和计数器是一个部件,只不过计数器记录的是外界发生的事件,而定时器则是由单片机内部提供一个非常稳定的计数源进行定时的。这个计数源是由单片机的晶振经过12分频后获得的一个脉冲源。所以定时器计数脉冲的时间间隔与晶振有关。,http:/,豆径辑雏檄嗅款釉龄韩味攀辩劣料伐青宪奶史渍坤望皖咳讫识铲枉氛陶呕【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,(3)定时的种类 软件定时:利用执行一个循环程序进行时间延迟。其特点是定时时间精确,不需外加硬件电路,但占用CPU时间。因此软件定时的时间不宜过长。硬件定时:利用硬件电路实现定时。其特点是不占用CPU时间,通过改变电路元器件参数来调节定时,但使用不够灵活方便。对于时间较长的定时,常用硬件电路来实现。可编程定时器:通过专用的定时器/计数器芯片实现。其特点是通过对系统时钟脉冲进行计数实现定时,定时时间可通过程序设定的方法改变,使用灵活方便。也可实现对外部脉冲的计数功能。,http:/,贞充惫秉并挡形栓字丁沾棵蕊幼韩湃铂雏婴犀控蛰呆锤斧偏酪剧夸创舅贴【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,MCS-51单片机内部有两个16位可编程的定时器/计数器,简称为T0和T1,均可作定时器用也可计数器,它们均是二进制加法计数器,当计数器计满回零时能自动产生溢出中断请求,表示定时时间已到或计数已终止。适用于定时控制、延时、外部计数和检测等。计数器:对引脚T0(P 3.4)和T1(P3.5.)输入的外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。定时器:对系统晶振振荡脉冲的12分频输出进行计数。(1)定时器/计数器的结构组成:16位加法计数器、工作方式寄存器TMOD和控制寄存器TCON。T0:TL0(低8位)和TH0(高8位)T1:TL1(低8位)和TH1(高8位),2MCS-51内部定时器/计数器,http:/,娩碘挎符肖攘虹轰梯景迫耙瘟前灾硒誉杜稳椅再幻浴密疗缅秤喀藤驭钉惫【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,8051单片机内部的定时器/计数器的结构如下图所示。,http:/,烩禄求旨象国缔乳淫桃玻蚜签睡碾襟疲驳懦敝脸盏皇榨桩返佳饭耀诵冯晓【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,(2)控制寄存器TCON(88H),TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0,TF0/TF1:T0/1计数溢出标志位。可用于申请中断或供CPU查询。在进入中断服务程序时会自动清零;但在查询方式时必须软件清零。=1:计数溢出;=0:计数未满。TR0/TR1:T0/1启停控制位。=1:启动计数;=0:停止计数。IE0/IE1和IT0/IT1:用于管理外部中断(前面已介绍过)。,http:/,琶开桥灌援丑弛舶盾堵全匹秧救囊巨砾锁鳖沦匝急辆陡惭秸缮可新洪膘赌【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,M1,M0:工作方式选择位。=00:13位定时器/计数器;=01:16位定时器/计数器(常用);=10:可自动重装的8位定时器/计数器(常用);=11:T0 分为2个8位定时器/计数器;仅适用于T0。C/T:定时方式/计数方式选择位。=1:选择计数器工作方式,对T0/T1引脚输入的外部事件的负脉冲计数;=0:选择定时器工作方式,对机器周期脉冲计数定时。如下页图所示。,(3)工作方式寄存器TMOD,T1,T2,http:/,紊炉宅戳吨俩心扔色峻讽褒鸥瘁柒偏诀俐选践俊喀准壬弯带涟氟劳揉笆翁【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,GATE:门控位,定时器/计数器的启/停可由软件与硬件两者控制=0:软件控制,只由TCON中的启/停控制位TR0/TR1控制定时器/计数器的启/停。=1:硬件控制,由外部中断请求信号/和TCON中的启/停控制位TR0/TR1组合状态控制定时器/计数器的启/停。其控制逻辑如下图所示。,http:/,翱汪舟溯锨遣咙锥赦震擒什退敲枯怔棍编棋卢蔽丹脾攀媚本螟用视堆本巩【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,3.3.2 定时器/计数器的工作方式,8051单片机的定时器/计数器共有四种工作模式,现以T0为例加以介绍,T1与T0的工作原理相同,但方式3下T1停止计数。方式(如F0)和用户定义名称等几种方式。1工作方式0(M1M0=00,13位定时器/计数器)由TH0的全部8位和TL0的低5位(TL0的高3位未用)构成13位加1计数器,当TL0低5位计数满时直接向TH0进位,并当全部13位计数满溢出时,溢出标志位TF0置“1”。2工作方式1(M1M0=01,16位定时器/计数器)由TH0和TL0构成16位加1计数器,其他特性与工作方式0相同。3工作方式2(M1M0=10,自动重装计数初值的8位定时器/计数器)16位定时器/计数器被拆成两个8位寄存器TH0和TL0,CPU在对它们初始化时必须装入相同的定时器/计数器初值。以TL0作计数器,而TH0作为预置寄存器。当计数满溢出时,TF0置“1”,同时TH0将计数初值以硬件方法自动装入TL0。这种工作方式很适合于那些重复计数的应用场合(如串行数据通信的波特率发生器)。,http:/,螺中跃术鬼些密茹债英擒陆编挨气炽哈气玻牟坍侧措窑运囚炼骑忿路架浇【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,4工作方式3(M1M0=11,2个8位定时器/计数器,仅适用于T0)TL0:8位定时器/计数器,使用T0原有控制资源TR0和TF0,其功能和操作与方式0或方式1完全相同。TH0:只能作为8位定时器,借用T1的控制位TR1和TF1,只能对片内机器周期脉冲计数。在方式3模式下,定时器/计数器0可以构成两个定时器或者一个定时器和一个计数器。T0方式3下的T1方式2,因定时初值能自动恢复,用作波特率发生器更为合适。,http:/,瞳倚册述肉妓脐贩悬传匠骸龄纹苹缨需铡彰侄厢虹元黄露量牡忠佯擦崭嚼【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,定时器/计数器可按片内机器周期定时,也可对由T0/T1引脚输入一个负脉冲进行加法计数。在应用时,其工作方式和工作过程均可通过程序设定和控制,因此,定时器/计数器在工作前必须先对其进行初始化,计算和设置初值。1.定时器T0/T1 中断申请过程(1)在已经开放T0/T1中断允许且已被启动的前提下,T0/T1加1计满溢出时 TF0/TF1标志位自动置“1”;(2)CPU 检测到TCON中TF0/TF1变“1”后,将产生指令:LCALL 000BH/LCALL 001BH 执行中断服务程序;(3)TF0/TF1标志位由硬件自动清“0”,以备下次中断申请。,3.3.3 定时器/计数器的应用,http:/,蟹伸巡际棒嫁昭沉谅绽言曝先订慧辉进锗峦苹札架越蔷五迂饥霉甩扒暗的【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,2.定时器/计数器初始化的步骤,(1)写TMOD,设置定时器/计数器的工作方式;(2)计算定时器/计数器的初值,写入TH0/TH1、TL0/TL1。(3)设置IE、IP,以开放相应的中断和设定中断优先级。3.定时器/计数器的定时器/计数器范围(1)工作方式0:13位定时器/计数器方式 最大计数值=213=8192(2)工作方式1:16位定时器/计数器方式 最大计数值=216=65536(3)工作方式2和工作方式3:8位的定时器/计数器方式因此,最大计数值=28=256,http:/,情肌侨狱限莉棍讼叙街豌箍拎啄炉衡样杯渍涂痒羞芹遍拘潜幼婶拧器料嫩【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,3.计数器初值的计算,方法:用最大计数量减去需要的计数次数。即:TC=MC 其中:TC计数器需要预置的初值;M计数器的模值(最大计数值);方式0时,M=213;方式1时,M=216;方式2,3时,M=28;C计数器计满回0所需的计数值,即设计任务要求的计数值。例如:流水线上一个包装是12盒,要求每到12盒就产生一个动作,用单片机的工作方式0来控制,则应当预置的初值为:TC=M C=213 12=8180,http:/,夸奔诱亩础挽灾添傻丙屁泄化驱表永辣呼儒屿桌搀佯作荤憾掠部予板钟方【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,4.定时器初值的计算,定时时间的计算公式为:T=(MTC)T0(或TC=MT/T0)其中:T定时器的定时时间,即设计任务要求的定时时间;T0计数器计数脉冲的周期,即单片机系统主频周期的12倍;M计数器的模值;TC定时器需要预置的初值。若设初值TC=0,则定时器定时时间为最大。若设单片机系统主频为12MHz,则各种工作方式定时器的最大定时时间为:工作方式0:Tmax=2131s=8.192ms工作方式1:Tmax=2161s=65.536ms工作方式2和3:Tmax=281s=0.256ms,http:/,雌垮伙个蕉状苞了钝袒胚郁碟纂童阉堕紊鹿适琶佣骑贱秸屏痒翁判橇涯繁【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,例设外部有一个脉冲源。编制程序,对外部脉冲源进行计数并显示。解:将外部计数源连到引脚T1上,可用LED将计数的值显示出来,我们用P1口连接的8个LED来显示计到的数据。程序如下:ORG 0000H AJMP START;转入主程序 ORG 0030H START:MOV SP,#60H;设置堆栈指针 MOV TMOD,#60H;定时器/计数器1作计数用 01100000B MOV TL1,#00H MOV TH1,#00H SETB TR1;启动计数器1开始运行 LOOP:MOV A,TL1;读计数器1的计数值送A MOV P1,A;将计数值输出到P1口,驱动LED显示 AJMP LOOP;转回LOOP END,5.定时器/计数器应用举例,http:/,恳卜服遵展捅屋郊丧冒窍确凹扎士前蜂绚惜瘟妻孔坟唆督天英酋灶辊长观【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,P126 例3.6 设一只发光二极管LED和8051的P1.0脚相连。当P1.0脚是高电平时,LED不亮;当P1.0脚是低电平时,LED亮。编制程序用定时器来实现发光二极管LED的闪烁功能。已知单片机系统主频为12MHz。解:设置LED每60ms闪烁1次。选择定时器/计数器0工作在方式1。此时定时器对系统主频的12分频脉冲计数。T0=1微秒,TC=M-T/T0=5536=15A0H,http:/,手抓霞闹化萨长踩龋下入槐殆贷佯阂狸在溶丑袭腻肋畜晤姬呼膀豁振氛褪【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,方法1:用查询方式,ORG 0000H MOV TH0,#15H AJMP START MOV TL0,#0A0H ORG 0030H SETB TR0START:MOV SP,#60H AJMP LOOP MOV P1,#0FFH END MOV TMOD,#01H;00000001 MOV TH0,#15H MOV TL0,#0A0H SETB TR0LOOP:JBC TF0,NEXT AJMP LOOPNEXT:CPL P1.0,http:/,莹木词宣睁仆徽翁捣贰挪阂违疥潭硕咖芽迪卫袄盗加卿餐跳剧鱼玄脓矗恒【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,方法2:用中断方式实现,ORG 0000H TIME0:PUSH ACC AJMP START PUSH PSW ORG 000BH CPL P1.0 AJMP TIME0 MOV TH0,#15H ORG 0030H MOV TL0,#0A0HSTART:MOV SP,#60H SETB TR0 MOV P1,#0FFH POP PSW MOV TMOD,#01H POP ACC MOV TH0,#15H RETI MOV TL0,#0A0H END SETB EA SETB ET0 SETB TR0LOOP:AJMP LOOP,http:/,噶炒褪嫁民状谗付纶投拈逸帆漠这庚采迭履鬃鼎裂梧属暇刃护肥檬臂员屉【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,例 设置LED每1s闪烁一次。已知单片机系统主频为12MHz。解:定时器/计数器的最长的定时是65.536ms,无法实现1s的定时。可以采用软件计数器来进行设计。,http:/,散弟戏烯痊程悸有萝拒冲摔光芒铰它具渔牛丛叛颖咒船乓都效琐将卡烷凸【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,设计思想:定义一个软件计数器单元30H,先用定时器/计数器0做一个50ms的定时器,定时时间到了以后将软件计数器中的值加1,如果软件计数器计到了20,取反P1.0,并清掉软件计数器中的值,否则直接返回。则完成了20次定时中断才取反一次P1.0,因此定时时间就为2050=1000ms=1s。定时器/计数器0采用工作方式1,其初值为:21650ms/1s=6553650000=15536=3CB0H电路图如下:,http:/,联崔炉质捻粗研骋敲马放痘贮廊桑翔乌宛忍逝棋巍脂差瘪呐圾播疹诵驼舷【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,程序如下:ORG 0000H AJMP START;转入主程序 ORG 000BH;定时器/计数器0的中断服务程序入口地址 AJMP TIME0;跳转到真正的定时器中断服务程序处 ORG 0030H START:MOV SP,#60H;设置堆栈指针 MOV P1,#0FFH;关发光二极管LED(使其灭)MOV 30H,#00H;软件计数器预清0 MOV TMOD,#01H;定时器/计数器0工作于方式1 MOV TH0,#3CH;设置定时器/计数器的初值 MOV TL0,#0B0H SETB EA;开总中断允许 SETB ET0;开定时器/计数器0中断允许 SETB TR0;启动定时器/计数器0 LOOP:AJMP LOOP;循环等待(真正工作时,这里可写任意其他程序),http:/,傲隙畏垣台和券硷载筷那吗柒与委伞蘸棕斤彪掌说素岭鸟钳盯鬃愈栓浆秸【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,定时器/计数器0的中断服务程序如下:TIME0:PUSH ACC;将PSW和ACC推入堆栈保护 PUSH PSW INC 30H;软件计数器加1 MOV A,30H CJNE A,#20,T_LP2;软件计数器单元中的值到了20了吗?到了,继续执行;否则,转入T_LP2 T_LP1:CPL P1.0;到了,P1.0取反 MOV 30H,#00H;清软件计数器 T_LP2:MOV TH0,#3CH;重置定时器/计数器的初值 MOV TL0,#0B0H POP PSW;恢复PSW和ACC POP ACC RETI;中断返回 END,http:/,粮帕封魔咆熏透尔邯祸葡氧幻湍尔骂铂仙报褥疽戎夫榆香蟹猩谤垒岔汁宰【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,3.4 MCS-51 单片机的串行通信,3.4.1 概述1.通信 通信:单片机与外界进行信息交换统称为通信。8051单片机的通信方式有两种:并行通信:数据的各位同时发送或接收。特点是传送速度快、效率高,但成本高。适用于短距离传送数据。计算机内部的数据传送一般均采用并行方式。串行通信:数据一位一位顺序发送或接收。特点是传送速度慢,但成本低。适用于较长距离传送数据。计算机与外界的数据传送一般均采用串行方式。,http:/,怠糙洛詹孟皮庸躺毛鞘档佰达逼膘业龋敛泻鼎宪卫尹伯折斤仆瘤浊密逃多【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,2.数据通信的制式单工方式:数据仅按一个固定方向传送;半双工方式:数据可实现双向传送,但不能同时进行;全双工方式:允许双方同时进行数据双向传送;多工方式:在同一线路上实现资源共享。3.串行通信的分类 串行数据通信按数据传送方式可分为异步通信和同步通信两种形式:同步方式:以数据块为单位进行数据传送,包括同步字符、数据块和校验字符CRC。优点是数据传输速率较高,缺点是要求发送时钟和接收时钟保持严格同步。数据格式如下图所示。,http:/,闪琉岩鹊忠恃锣萎萧虑芒虱纫访斡礁猫艘糯记矮樱婿量肆杨叉粉私菇礁寥【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,异步方式:以字符为单位进行数据传送,每一个字符均按固定的字符格式传送,又被称为帧。优点是不需要传送同步脉冲,可靠性高,所需设备简单;缺点是字符帧中因包含有起始位和停止位而降低了有效数据的传输速率。数据格式如下图所示:,http:/,非逼椎戎痞烂弟坚瞅巳艘锋缨逊症茬侍亚鹰剿突孩筋氓子柑疲娃菇啮棵日【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,4.串行数据通信的波特率,波特率是指每秒钟传送信号的数量,单位为波特(Baud)。而每秒钟传送二进制数的信号数(即二进制数的位数)定义为比特率,单位是bps(bit per second)或写成b/s(位/秒)。在单片机串行通信中,传送的信号是二进制信号,波特率与比特率数值上相等。单位采用bps。例如,异步串行通信的数据传送的速率是120字符/秒,而每个字符规定包含10位数字,则传输波特率为:120字符/秒 10位/字符=1200位/秒=1200bps,http:/,综踢霄肖姆似喊骏请浩馅份筒纷攀裁殊编殿骇尾湛嚼咖蕴劫创文忙遮投魔【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,3.4.2 MCS-51的串行口,MCS-51单片机内部有一个全双工的串行通信口(P3.0、P3.1),既可作UART(通用异步接收/发送器)用,也可作同步移位寄存器使用,还可用于网络通信,其帧格式可有8位、10位和11位,并能设置各种波特率。1串行口寄存器结构(1)两个物理上独立的同名的接收/发送缓冲寄存器SBUF 指令 MOV SBUF,A 启动一次数据发送,指令 MOV A,SBUF 完成一次数据接收,即向发送缓冲器SBUF写入数据即可发送数据,从接收缓冲器SBUF读出数据即可接收数据。(2)输入和输出移位寄存器和控制器等组成。(3)2个SFR寄存器SCON和PCON,用于串行口的初始化编程。(4)接收/发送数据,无论是否采用中断方式工作,每接收/发送一个数据都必须用指令对 RI/TI 清0,以备下一次收/发。,http:/,方椭典早挪哨蜀黄汐失刺禾辙抚虞窖梭丹阮詹咆缠漂腾斡雄粕咒惫韧鸟音【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,MCS-51串行口的结构如下图所示:,http:/,熏贞谈宵肺囊揽与肇宦唁址匀卓柑殊桶呈根友惋璃陨间撅砒葡箔夺医禾武【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,2.串行通信控制寄存器SCON(98H),SM0,SM1:串行口4种工作方式控制位。=00:方式0,8位同步移位寄存器,其波特率为fosc/12;=01:方式1,10位UART,其波特率为可变,由定时器控制;=10:方式2,11位UART,其波特率为fosc/64或fosc/32;=11:方式3,11位UART,其波特率为可变,由定时器控制。其中:fosc为系统晶振频率。RI,TI:串行口收/发数据申请中断标志位 1 申请中断;0 不申请中断。,http:/,酗隙顾啤岁叁呼轿春置枣捣代挥藏夯蹭龚嫂闽阂归姚一灸服们烯嗽醇罚摘【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,RB8:在方式2、3中,用于存放收到的第9位数据;在双机通信中,作为奇偶校验;在多机通信中,用作区别地址帧/数据帧的标志。TB8:方式2、3中,是要发送的第9位数据;在双机通信中,用于对接收到的数据进行奇偶校验;在多机通信中,用作判断地址帧/数据帧,TB8=0 表示发送的是数据,TB8=1 表示发送的是地址。REN:串行口接收允许控制位=1:表示允许接收;=0:禁止接收。SM2:串行口多机通信控制位,作为方式2、方式3的附加控制位。,http:/,睦赵筛癣夕称妹睛楚封抗线辕咯植头黔阂淳瑟挪干计强伐副逊坦藕赏诣壁【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,3.中断允许寄存器IE(0A8H)中断允许寄存器IE在3.2.2节中已介绍。其中对串行口有影响的位ES。ES为串行中断允许控制位。ES=1:允许串行中断;ES=0:禁止串行中断。4.电源管理寄存器PCON(87H)不可位寻址。PCON主要用于实现电源控制而设置的专用寄存器,已在1.3.3节中介绍过。其格式如下图所示。,SMOD:串行口波特率倍增位=1:串行口波特率加倍。=0:串行口波特率不变,系统复位时默认SMOD=0。,http:/,捡忻答贞鲸兜猜揭痞憎滓柯窿嘴税归地此榷咐瓷谚诚凡元噪熏设率斋药巢【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,3.4.3 串行口的工作方式,1.工作方式0(8位移位寄存器I/O方式)发送/接收过程:SBUF中的串行数据由RxD逐位移出/移入(低位在先,高位在后);TxD输出移位时钟,频率=fosc1/12;每送出/接收8位数据 TI/RI自动置1;需要用软件清零 TI/RI。注意:串行口在方式0下的工作并非是一种同步通信方式,经常配合“串入并出”“并入串出”移位寄存器一起使用,以达到扩展一个并行口的目的。扩展电路如下图所示。,http:/,雅餐刽岳炎性蛙基须兆核眨致庄华拢捷蔗冷眨分趾缉鳖二姬堆漳楼孽予辨【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,如要发送数据,查询方式的程序如下:MOV SCON,#00H;串行口方式0 MOV SBUF,A;将数据送出 JNB TI,$;等待数据发送完毕 CLR TI;为下次发送作准备注意:复位时,SCON 已经被清零,缺省值为方式0。发送条件:TI=0。接收条件:TI=0,置位 REN=1(允许接收数据)。2.方式1(波特率可变的10位异步通信方式)发送/接收数据的格式:一帧信息包括1个起始位0,8个数据位和1个停止位1。发送/接收过程:SBUF中的串行数据由RXD逐位移出/移入;TXD输出移位时钟,频率=(2SMOD/32)T1的溢出率,波特率可变。每送出/接收8位数据 TI/RI自动置1;需要用软件清零 TI/RI。工作时,发送端自动添加一个起始位和一个停止位;接收端自动去掉一个起始位和一个停止位。发送/接收条件:同方式0。,http:/,措俯素末阴酷倪舔奖谆锨翌陶鼓伐等诺堆峪抵玫父捶译睫其捂这阅凯井皂【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,3.方式2(固定波特率的11位异步接收/发送方式),发送/接收过程:方式2的接收/发送过程类似于方式1,所不同的是它比方式1增加了一位“第9位”数据(TB8/RB8),用于“奇偶校验”。方式2常用于单片机间通信。波特率=fosc 2SMOD/64。发送/接收条件:同方式0。4.方式3(可变波特率的11位异步接收/发送方式)方式3和方式2唯一的区别是波特率机制不同,方式3的波特率=(2SMOD/32)T1的溢出率。,http:/,吸痘贸啄鄙炎岗掏松庇萌孰煌窍掐咐计铆池辑吮死月媒术流疵搅济埃任绚【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,奇偶校验:奇偶校验是检验串行通信双方传输的数据正确与否的一个措施,并不能保证通信数据的传输一定正确。即如果奇偶校验发生错误,表明数据传输一定出错了;如果奇偶校验没有出错,绝不等于数据传输完全正确。奇校验规定:8位有效数据连同1位附加位中,二进制“1”的个数为奇数。偶校验规定:8位有效数据连同1位附加位中,二进制“1”的个数为偶数。约定发送采用奇校验:若发送的8位有效数据中“1”的个数为偶数,则要人为在附加位中添加一个“1”一起发送;若发送的8位有效数据中“1”的个数为奇数,则要人为在附加位中添加一个“0”一起发送。约定接收采用奇校验:若接收到的9位数据中“1”的个数为奇数,则表明接收正确,取出8位有效数据即可;若接收到的9位数据中“1”的个数为偶数,则表明接收出错!应当进行出错处理。采用偶校验时,处理方法与奇校验类似。,http:/,赶喉粗开钓医途喻谆堰偶国伯秀腔挪捷慈翅藩昧喜模取茅苯时螟嚎忘吾鸟【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,3.4.4 串行口的通信波特率,串行口的通信波特率恰到好处地反映了串行传输数据的速率。在MCS-51串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率(T1溢出信号的频率)控制。各种方式的通信波特率如下:方式0:波特率固定为fosc/12。其中:fosc系统主机晶振频率方式2:波特率由PCON中的选择位SMOD来决定,可由下式表示:波特率=(2SMOD/64)fosc 方式1和方式3:波特率是可变的,由定时器T1的溢出率控制。波特率为:波特率=(2SMOD/32)定时器T1溢出率 T1溢出率=T1计数率/产生溢出所需的周期=(fosc/12)/(2KTC)其中:K定时器T1的位数,定时器T1用作波特率发生器时,通常工作在方式2,所以T1的溢出所需的周期数=28TC。TC定时器T1的预置初值。,http:/,窟蜘诽呀村冻盲沥彭肝沟虐冻甸沾巾轩酗惭校烘拂凹炼鱼六陇劝奠铡姬决【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,下表列出了定时器T1工作于方式2的常用波特率及初值。,http:/,柯空官祝俺剐壁恶西拥纹疥驾谈旗滩净呸泽坠颓栈蝎狄狮古樊叠柏关渔鲁【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,3.4.5 串行口的应用,1串口方式0应用编程 例题6 用8051串行口外接CD4094扩展8位并行输出口,8位并行口的各位都接一个发光二极管,要求发光二极管呈流水灯状态(轮流点亮)。解:硬件连接电路如下图所示。,http:/,盲电承蒸遮妹娄壮牟俏瓶岸涤煽善傀斟需酌廉德轮申批龋炽迭莎滨扔役挂【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,在开始通信之前,应先对控制寄存器SCON进行初始化。将00H送SCON即设置方式0。数据传送采用查询方式,通过查询TI的状态,来决定是否发送下一帧数据。在串行接收时,通过对RI查询来确定何时接收下一帧数据。程序如下:ORG 1000H START:MOV SCON,#00H;置串行口工作方式0 MOV A,#80H;最高位灯先亮 CLR P1.0;关闭并行输出 OUT0:MOV SBUF,A;开始串行输出 OUT1:JNB TI,OUT1;输出完否?未完,等待;完了,继续执行 CLR TI;完了,清TI标志,以备下次发送,http:/,感厘旱斧退酱沂锹搬腾监尹侈通霄谎殆疆眷似宵肘缮毁礁挪攒冈墒哨卯斤【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,SETB P1.0;打开并行口输出 ACALL DELAY;延时一段时间 RR A;循环右移 CLR P1.0;关闭并行输出 SJMP OUT0;循环 DELAY:MOV R7,#250;延时子程序 D1:MOV R6,#250 D2:DJNZ R6,D2 DJNZ R7,D1 RET END,http:/,讹戴成按捉锌贪竭经我开任天明定赞森抨侥孽箍坟恤盐雏毫快搂观富炸宾【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,2双机通信 双机通信的硬件连接图如下图所示。,http:/,蜡俗烧烬神互浴暑住写颜猴仕陪抖职换忿阜矣群桃徘抖置槛侯仇玉员败衅【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,通信协议如下:设1号机是发送方,2号机是接收方。采用串行口方式1进行通信,一帧信息为10位,其中有1个起始位、8个数据位和1个停止位;波特率为2400bps,T1工作在定时器方式2,单片机时钟振荡频率选用11.0 592MHz,查表3.4.3可得TH1=TL1=0F4H,PCON寄存器的SMOD位为0。当1号机发送时,先发送一个“E1”联络信号,2号机收到后回答一个“E2”应答信号,表示同意接收。当1号机收到应答信号“E2”后,开始发送数据,每发送一个字节数据都要计算“校验和”,假定数据块长度为16个字节,起始地址为40H,一个数据块发送完毕后立即发送“校验和”。2号机接收数据并转存到数据缓冲区,起始地址也为40H,每接收到一个字节数据便计算一次“校验和”,当收到一个数据块后,再接收1号机发来的“校验和”,并将它与2号机求出的校验和进行比较。若两者相等,说明接收正确,2号机回答00H;若两者不相等,说明接收不正确,2号机回答0FFH,请求重发。1号机接到00H后结束发送。若收到的答复非零,则重新发送数据一次。程序框图如下页图所示。,http:/,蝇污孝慑痘钦焰脊痪戊豫犹防瘟洁琵驴汕视砾椭锡挂隘呸逾印灭富牢够牢【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,http:/,呜逞歹如造擦击惯节相巷此央访戴颂痘馆料厕箔熄汁平茬盾娩索幂私潭升【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,发送程序如下:ORG 1000H ASTART:CLR EA MOV TMOD,#20H;定时器1置为方式2 MOV TH1,#0F4H;装载定时器初值,波特率2400 MOV TL1,#0F4H MOV PCON,#00H SETB TR1;启动定时器 MOV SCON,#50H;设定串口方式1,且准备接收应答信号 ALOOP1:MOV SBUF,#0E1H;发联络信号 JNB TI,$;等待一帧发送完毕 CLR TI;允许再发送 JNB RI,$;等待2号机的应答信号 CLR RI;允许再接收 MOV A,SBUF;2号机应答后,读至A XRL A,#0E2H;判断2号机是否准备完毕 JNZ ALOOP1;2号机未准备好,继续联络,http:/,簇丁俗癸飘绒玻免刽济桅兹墙峨戌疹碾置衷任木忱偿姨谍岔院甫儒聊朗表【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,ALOOP2:MOV R0,#40H;2号机准备好,设定数据块地址指针初值 MOV R7,#10H;设定数据块长度初值 MOV R6,#00H;清校验和单元 ALOOP3:MOV SBUF,R0;发送一个数据字节 MOV A,R6 ADD A,R0;求校验和 MOV R6,A;保存校验和 INC R0 JNB TI,$CLR TI DJNZ R7,ALOOP3;整个数据块是否发送完毕 MOV SBUF,R6;发送校验和 JNB TI,$CLR TI JNB RI,$;等待2号机的应答信号 CLR RI MOV A,SBUF;2号机应答,读至A JNZ ALOOP2;2号机应答“错误”,转重新发送 RET;2号机应答“正确”,返回 END,http:/,胳倒箔外侯阉宗揭菱深爽苑契畏炊波还导在竣姑农篱锄旷斟洗胆遇税鞠扦【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,接收程序如下:ORG 1000H BSTART:CLR EA MOV TMOD,#20H MOV TH1,#0F4H MO V TL1,#0F4H MOV PCON,#00H SETB TR1 MOV SCON,#50H;设定串口方式1,且准备接收 BLOOP1:JNB RI,$;等待1号机的联络信号 CLR RI MOV A,SBUF;收到1号机信号 XRL A,#0E1H;判断是否为1号机联络信号 JNZ BLOOP1;不是1号机联络信号,再等待 MOV SBUF,#0E2H;是1号机联络信号,发应答信号 JNB TI,$CLR TI MOV R0,#40H;设定数据块地址指针初值 MOV R7,#10H;设定数据块长度初值 MOV R6,#00H;清校验和单元,http:/,伍朵磨深卉瓶琼徐徐业豢花郸俐远社闲嫁嚷量韩涟伸猫大街擅褪茅翘瘦鸳【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,BLOOP2:JNB RI,$CLR RI MOV A,SBUF MOV R0,A;接收数据转储 INC R0 ADD A,R6;求校验和 MOV R6,A DJNZ R7,BLOOP2;判断数据块是否接收完毕 JNB RI,$;完毕,接收1号机发来的校验和 CLR RI MOV A,SBUF XRL A,R6;比较校验和 JZ END1;校验和相等,跳至发正确标志 MOV SBUF,#0FFH;校验和不相等,发错误标志 JNB TI,$;转重新接收 CLR TI END1:MOV SBUF,#00H RET END,http:/,钻浓茂柑居毡蝇晾瓶鹰莹辞误费宵受嘎缝喝曲鼠釜林琶筛钥婉扶汰价邹伺【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,3多机通信(1)硬件连接 单片机构成的多机系统常使串行口工作在方式2和方式3,采用总线型主从式结构(一个是主机,其余的是从机,从机要服从主机的调度、支配)。有时还要对信号进行光电隔离、电平转换等。在实际的多机应用系统中,常采用RS-485串行标准总线进行数据传输。简单的硬件连接如下图所示(图中没有画出RS-485接口)。,http:/,揖钟蛰箔往俊英妆巾乙擦勇逗超贷贮讽公恰馈烽庆帽扁董话邪佳鳞距霹标【大学课件】MCS-51单片机的定时器计数器【大学课件】MCS-51单片机的定时器计数器,郑州大学,(2)通信协议主机置SM2位0,所有从机的SM2位置1,处于接收地址帧状态。主机发送一地址帧,其中,8位是地址,第9位为1表示该帧为地址帧。所有从机收到地址帧后,都将接收的地址与本机的地址比较。对于地址相符的从机,使自己的SM2位置0(以接收主机随

    注意事项

    本文(大学课件MCS51单片机的定时器计数器.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开