欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机的功能部件.doc

    • 资源ID:1162192       资源大小:468KB        全文页数:34页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    单片机的功能部件.doc

    1、第六章单片机的功能部件教学内容:1、定时计数器 2、单片机中断系统 3、单片机串行通信本章重点:1、单片机定时/计数器、中断系统、串行通信的结构与工作原理 2、单片机定时/计数器、中断、串行通信初始化设置教学要求:1、要求掌握单片机定时/计数器、中断、串行通信的结构与工作原理 2、能熟练进行单片机定时/计数器、中断、串行通信初始化设置 3、能应用单片机定时/计数器、中断、串行通信解决实际问题教 案:第一节 定时计数器1、 结构80C51单片机内部设有两个16位定时/计数器,简称为定时器0(T0)和定时器1(T1)。定时器计数器的结构如图1所示: 图180C51单片机内部定时计数器的结构TMOD

    2、-方式控制寄存器,用于设定定时计数器的工作方式TCON-定时器控制寄存器,用于启动定时计数器IE-中断允许控制寄存器:定时计数器是微机的中断源2、工作原理80C51系列单片机内部定时计数器的工作原理可用图2来说明。定时/计数功能选择:当CT0时,为定时器功能,此时,C与A相连(计数脉冲为机器周期);当CT1时,为计数功能,此时,C与B相连(计数脉冲从P3.4 或P3.5口输入)。定时/计数器设置:定时计数器设置由工作方式控制寄存器(TMOD)、定时控制寄存器(TCON)以及中断允许寄存器(IE)共同完成。3、控制寄存器1)、方式控制寄存器TMOD方式控制寄存器(TMOD)是一个SFR寄存器,字

    3、节地址为89H,CPU可以通过字节传送指令来设定TMOD中各位的状态,但不能位寻址。GATE-门控制位当GATE=0时,定时计数器由定时控制寄存器中的TR0(或TR1)启动。当GATE=1时,定时计数器由外部中断请求信号INT0(或INT1)与TRX共同启动。C/T-定时、计数功能选择位当C/T=0时,定时计数器工作在定时工作方式当C/T= 1时,定时计数器工作在计数方式M1M2-方式控制位,如图3所示。图3 方式控制寄存器当M1M000时,定时计数器工作在方式0当M1M001时,定时计数器工作在方式1当M1M010时,定时计数器工作在方式2当M1M011时,定时计数器工作在方式3例:设定时计

    4、数器T0用作定时器使用,且工作在方式3,与外部INT0无关,定时计数器T1用作计数器且工作在方式2,与外部INT1有关,试写出控制寄存器TMOD的值。解:依题意知,TMOD11100011B=E3H MOVTMOD,0E3H -2)、定时器控制寄存器TCON定时器控制寄存器TCON的格式如图4所示,定时控制寄存器TCON也是SFR,字节地址为88H,可位寻址,位地址为88H8FH,用于控制定时器的操作与中断。TR0TR1用于启停定时计数器:当TRX1时,启动定时计数器,用SETBTRX实现;当TRX0时,停止定时计数器,用CLRTRX实现;TF0TF1为定时计数器中断标志:当TFX1,表示定时

    5、计数有溢出,可用查询或中断来处理;当TFX0,表示定时计数无溢出,可用查询或中断来处理;IE0IE1为外中断标志:图4定时器控制寄存器TCON 当IEX1,表示外部有中断发生(与ITX配合使用);当IEX0,表示外部无中断发生(与ITX配合使用);IT0IT1为外中断触发方式选择位:置ITX1,则外中断在脉冲下降沿触发,置1T1=0,则外中断在低电平触发方式,例:定时器计数器T0作定时器使用,工作在方式1,T1作计数器使用,工作在方式2,当T0定时到,先关闭定时,后开启计数器T1,计数到,先关闭计数,后开启定时器T0,如些往复,试编写实现上述过程的程序。分析:先确定方式寄存器的值:由题意知:T

    6、MOD01100001BA1H判别定时计数溢出:用LP:JNBTFX,LP语句;采用查询方式程序设计: ORG1000HSTART:MOVTMOD,0A1H;设置TMOD工作方式 SETBTR0 ;开启定时器T0 LP:JNBTF0,LP;定时器无溢出等待 CLRTR0;定时溢出关定时器T0 SETBTR1 ;开计数器T1 LJ:JNBTF1,LJ ;计数器无溢出等待 CLRTR1 LJMPSTART END3)、中断允许寄存器IE中断允许寄存器也是一个SFR,地址为A8H,可以位寻址,如图5所示:图5中断允许控制寄存器IE通过向IE写入中断控制字,实现CPU对中断的开放和屏蔽。4、工作方式8

    7、0C51单片机共有四种工作方式,定时器计数器的功能与其工作方式有关:1)、方式0工作在方式0时,内部定时/计数器控制逻辑图如图6所示,计数值由THX(8位)和TLX(低5位)组成13位计数器。定时计数值的确定:最大定时计数值最大定时计数值213*机器周期; 此时,TH00HTL00H定时计数值的确定定时值计数值(213-X)*机器周期;式中X为THTL的设置值注意:在实际运算过程中,由于TL的高3位未用,一般应填写O,因此对实际的计算结果要进行调整。如:实际计算定时值X1111100000110B,调整后X1111100000000110B图6内部定时计数器控制逻辑例:选择T1工作在方式0用于

    8、定时,晶振fosc6MHZ,要求在P1.1输出1ms方波。分析:由题意得定时器T1的定时时间为:1ms2500us机器同期:T=12fosc1261062 us设定时器的初始值为X,则:(213X)2500 X7942D1111100000110B1F06H考虑到TL的高三位未用,用0或1来补上,则调整后的X值为:X=1111100000000110BF806H结果:TH1F8H;TL106H程序设计: ORG2000HSTART:MOVTMOD,00HMOVTL1,06H MOVTH1,0F8H SETBTR1LP1:JBCTF1,LP2AJMPLP1LP2:MOVTL1,06H MOVTH

    9、1,0F8H CPLP1.1 AJMP LP1 END2)、方式1方式1在结构与操作上几乎与方式0相同,不同点有二:一是工作方式设置,二是方式1是一个由高THX(8位)和低TLX(8位)共同组成的16位定时计数器。定时计数值(216X)机器周期3)、方式2方式2是能重置初值的8位定时器计数器,其结构如图7所示:图7 定时计数器工作在方式2的结构THX中放复置值,TLX放定时计数值,通常将两者取同样大的数值用定时器T1作计数器,工作在方式2,要求每计满100次,将P1.0端取反,试编制应用程序。分析:外部计数脉冲从P3.5输入,每跳变一次计数器加1程序采用查询方式确定工作方式值:TMOD=60H

    10、确定计数器初值:X=28-100=156D=9CH TH1=9CH;TL1=9CH程序设计: ORG 1000H START:MOV TMOD, #60H MOV TH1,#9CH MOV TL1,#9CH SETB TR1 DEL:JBC TF1, REP AJMP DEL REP:CPL P1.0 AJMP DEL END4)、方式3方式3只适用于定时器T0。定时器在方式3下被拆成两个独立的8位计数器TL0和TH0,如图8所示。TL0占居了T0口的所有资源,TH0只能作简单的内部定时器使用,它占用T1口的TR1和TF1。图8 T0方式3结构在定时器T0用做方式3时,T1仍可设置为方式02,

    11、如图9所示:(1)T0口在方式3下的控制TL0的控制开启停止:TR0溢出:TF0TH0的控制开启停止:TR1溢出:TF1图9 TO在方式3下T1口结构(2)T0在方式3下的T1口控制T1工作在方式0或方式1下:启动:只要设置好工作方式,T1自动启动停止:送入一个设置定时器T1为方式3的方式字输出:定时计数器输出送串行口T1工作在方式2下:启动停止方法与T1工作在方式0或方式1下相同。它的输出也直接送串行口,通常把定时器T1设置为方式2作波特率发生器。5、初始化由于定时器计数器的功能是由软件编程确定的,因此在使用定时计数器前要对其进行初始化,使其按设定的功能工作。1)、定时器计数器初始化内容定时

    12、计数器的工作方式:依据要求定出TMOD的值预置定时计数器初值:给TH1TL1或TH0TL0赋值根据要求开放定时计数器的中断:对IE赋值启动定时计数器2)、实战训练例:晶振频率为6MHZ,使用T0作定时器,试编写在P1.3口输出秒脉冲方波程序。分析: A、确定TMOD的值:TMOD=01HB求TH0和TL0的值:取定时时间为125000S,则8个定时时间等于1秒,计算定时器初值:机器周期T=121/610-6=2S( 216-X)T=25000 X=6070=17B6HTH017HTLB6HC确定IE的值:由题意知IE00HD启动定时计数器:用SETBTR0来启动定时器。E程序设计:程序流程图如

    13、右所示,程序如下: ORG 4100HSTART:MOV TMOD,#01H MOV TH0,#17H MOV TL0,#0B6H SETB TR0 MOV R0,#08H LOOP1:JNB TF0,LOOP1 MOV TH0,#17H MOV TL0,#0B6H DJNZ R0, LOOP1 CPL P1.3 LJMP LOOP0 END6、应用定时器是单片机应用系统中的重要部件,是实时控制系统中不可缺少的部分,灵活应用其不同的工作方式可提高编程技巧,减轻CPU负担,简化外围电路,下面介绍定时/计数器的应用:1)、在多任务应用系统中用来定时计数单片机定时计数器常用来作定时器或计数器使用,对

    14、于一个采用单片机作为控制核心的系统来说,采用定时器来定时计数,既不要增加硬件投入,又具有定时准确等特点,同时不占用CPU资源。2)、用来测量脉冲宽度利用方式控制寄存器TMOD门控位GATE1时,允许外部输入电平控制启停定时器这个特性,用定时器来测量外部输入脉冲的宽度。实战训练:分析如何测量图10所示的方波频率。分析:A外部方波从单片机P3.2脚输入B单片机复位时,P3.21,当检 图10外部脉冲测到P3.20时,开启TR0,等一个P3.21到来时开启定时器T0,P3.20时关闭定时器T0。C根据定时器的定时值,计算方波的频率。3)、在串行通信中作波特率发生器当T0工作在方式3时,T1口工作在方

    15、式012下,T1定时计数溢出直接送串行口的特点,定时器T1可以用来作串行通信的波特率发生器。第二节 单片机中断系统1、中断1)、与中断相关的几个概念中断程序在运行过程中,由于外界的原因,CPU暂停当前的处理转去执行紧急事件,待紧急事件执行完毕后再转回执行原程序。中断源引起中断的原因或触发中断请求的来源。中断服务中断之后执行的处理叫中断服务,对应的处理程序叫中断服务程序,原程序叫主程序。中断系统实现中断功能而设置的各种硬件和软件。注意:正确区分中断服务和调用子程序。2)、引进中断技术的优点、分时操作有了中断功能就能解决快速CPU与慢速外设之间的矛盾,可以使CPU和外设同时工作。、实时处理在实时控

    16、制中,现场的各个参数信息是随时间和现场情况不断变化的。有了中断功能,外界的这些变化量可根据要求随时向CPU发出中断请求,要求CPU及时处理,CPU可以马上响应加以处理。、故障处理计算机在运行过程中,出现一些事先无法预料的故障是难免的,例如电源突变存储出错运算溢出等,有了中断功能,计算机就能自行处理,而不必停机处理。3)、中断源、外部中断:INT0、INT1单片机外部中断源有INT0、 INT1,每个中断源有两种触发方式,一种是电平触发,另一种是脉冲触发方式。具体的触发过程如下:电平方式:当INT0、INT1对应管脚出现低电平时有效。脉冲方式:在两个相邻机器周期中,检测到引脚由高电平到低电平时,

    17、表示有中断发生。特别注意:电平方式与脉冲方式的区别:在电平触发方式,单片机在每个机器周期都将INT0(或INT1)的信号读入IE0(或IE1)中,如果送入8051的中断信号,未能及时检测到,就会漏掉中断要求。脉冲方式不存在这个问题,但脉冲方式必须采用软件清除IE0(或IE1)。、定时计数器中断:T1,T2单片机内部有两个定时计数器,当启用中断时,如果计数器有溢出,溢出信号去置位TF0(或TF1)标志位,作为单片机接受中断请求的标志。、串行中断: 当串行口发送和接收一组串行数据时,就产生一个中断请求。、中断优先权:按中断的级别将中断分成不同的等级,并按优先权原则执行中断处理,CPU响应中断的顺序

    18、:a、不同级别的中断源同时申请时按中断优先权执行;b、同级别的中断源同时申请时按事先安排的程序执行;c、在处理中断过程中,又有中断申请时,视其级别的高低,如果申请的级别高程序转向申请的中断,如果申请的级别低程序继续执行,直到结束再转向中断。对80C51单片机来说,同一级别的中断按下顺序执行:外部中断0 定时/计数器T0 T1外部中断1 定时/计数器 串行口2、单片机中断系统1)、单片机中断系统单片机中断系统如图11所示:图11 80C51单片机中断系统2)、单片机中断入口地址当有中断发生并且系统开放中断时,单片机将自动转入固定的入口地址,单片机的中断入口地址如表1所示:表1 80C51单片机中

    19、断入口地址中断源入口地址中断源入口地址外部中断00003HT1溢出001BHT0溢出中断000BH串行口接收0023H外部中断10013H串行口发送0023H3)、单片机中断控制单片机的中断设置由下面的四个控制寄存器确定。中断充许寄存器IE中断允许寄存器是一个SFR,地址为A8H,可以位寻址。通过向IE写入中断控制字,实现CPU对中断的开放和屏蔽。如图12所示:EA:中断允话控制位;ES:串行口中断;ET1:定时计数器T1;EX1:外部中断1ET0:定时计数器0;图12 中断允许数寄存器EX0:外部中断0;定时控制寄存器TCON定时控制寄存器TCON也是SFR,字节地址为88H,可位寻址,位地

    20、址为88H8FH,用于控制定时器的操作与中断。如图13所示:图13 定时控制寄存器注意:IT11T0:是专门用来设置外部中断1和0的触发方式的,对于外部中断INT1INT0来说,用不同的触发方式,中断过程是不一样的:1T10:为低电平触发方式。处于这种触发方式时,CPU响应中断后不能自动清除IE1标志,也不能由软件清除,因此在中断返回前发须撤消INT1引脚上的低电平,否则将再次响应中断。IT01:为脉冲触发方式。处于这种触发方式时,CPU响应中断后自动清除IE1。对于IE0来说触发方式与IE1的触发方式一样。串行控制寄存器SCONSCON是一个可位寻址的专用寄存器,用于串行数据通信的控制,单元

    21、地址为:98H,位地址与位功能如表2所示:表2 位地址与位功能表位地址 9F 9E 9D 9C 9B 9A 99 98位符号 SM0 SM1 SM2 REN TB8 RB8 TI RI中断优级控制寄存器IP* * * PS PT1 PX1 PT0 PX0IP:PX0-外部中断0中断优先级控制位PT0-定时/计数器T0中断优先级控制位PX1-外部中断1中断优先级控制位PT1-定时/计数器T1中断优先级控制位PS-串行口中断优先级控制位3、中断处理过程单片机在每一指令的S5P2期间,CPU采样各中断源,并设置相应的中断标志位。CPU在下一个周期S6期间按优先级顺序查询各中断标志,如查询到某个中断标

    22、志为1,将在下一个机器周期S1期间按优先级进行中断处理。中断处理过程分成三个阶段,即中断响应中断处理和中断返回,如图14所示:1)、中断响应(1)、中断请求标志IE0(外部中断0)中断处理时,由硬件复位。中断请求中断响应中断处理中断返回 TF0(T0)中断处理时,由硬件复位 IE1(外部中断0)中断处理时,由硬件复位 TF1(T1)中断处理时,由硬件复位 T1(发送标志)中断处理时,由软件复位R1(接收标志)中断处理时,由软件复位(2)、中断响应 CPU响应中断的条件有中断源发出中断申请对应的中断开放 图14 中断处理CPU不是运行在中断服务程序;也不是处于执行RET1或者读写IE或IP指令期

    23、间,正在执行的指令要执行完成。(3)、中断响应过程CPU响应中断请求后,自动将当前的PC值压入椎栈然后程序转入约定的入口地址,开始执行中断服务程序。2)、中断处理中断处理又叫中断服务,程序从入口地址开始执行,直到返回指令RETI为止,这个过程称之为中断处理。中断服务过程包含两部分内容:一是保护现场,二是处理中断源的请求。中断处理过程如图15所示:保护现场 将中断处理程序所用到的如累加器、通用寄存器等参数;入栈保护。注意在入栈时应关中断,入栈完成后再开中断。图15 中断处理中断服务 处理中断事件,它是事先按中断要求编制的服务程序。恢复现场;中断服务结束后,应立即关中断,恢复现场;恢复现场结束后应

    24、立即开中断。注意:中断请求的撤除:CPU响应中断请求后,在中断返回前,应撤消中断请求,否则会引起另一次中断对于定时器T0T1以及外部中断0或1工作在脉冲触发方式时,CPU响应中断后,会自动清除中断标志位;对于串行通信中断请求只能用软件清除;外部中断0或外部中断1工作在低电平触发方式时,只有改变触发电平,再配以软件才能清除中断请求。中断响应的时间:CPU不是在任何时候都能响应中断的,因此CPU响应中断的时间也不一样。3)、中断返回在中断处理完成后用RETI返回主程序指令。4、中断系统扩展1)、利用定时器扩展外部中断让定时计数器作计数器用,工作在方式2,定时器的定时值为0FFH当外部来一个脉冲,定

    25、时计数器产生溢出,用定时计数器的溢出作为中断请求标志,这样就可以增加两个外部中断源。例如:将定时器T0作为外部中断源的程序如下:MOVTMOD,06HMOVTL0,0FFHMOVTH0,0FFHSETBTR0SETBEASETBET02)、利用中断和查询结合法扩展外部中断如图16所示,有多个外部中断,只用一个外部中断源,采用中断和查询相结合的方法解决外部多中断请求的问题:解决问题的思路:将外部信号通过非门后接在一起,作为外部中断信号,当CPU响应外部中断后,查询外部中断信号,根据外部中断信号转到相应服务程序,这样就实现了用一个外部中断源解决多个外部中断的问题。中断服务程序设计:中断服务程序:C

    26、LREAJBP1.0, X10JB P1.1, X11JB P1.2, X12JB P1.3, X13ZDFH:RETI图16 中断扩展 X10:AJMPZDFHX11:AJMPZDFHX12:AJMPZDFHX13:AJMPZDFH5、中断系统应用实例例1:利用定时器T0定时,在P1.0端输出一方波,方波周期为20ms。已知晶振频率为12MHZ。解:定时器T0工作在方式1,经计算定时器的初值为:D8F0H程序设计:ORG0000HLJMP 1000HORG 000BHLJMP 2000HORG 1000H1000H:MOVTMOD,01H MOVTL0,0F0H MOVTH0,0D8H MO

    27、VIE,82H SETBTR0LOOP:SJMPLOOP-ORG2000HMOVTL0,0F0HMOVTH0,0D8HCPLP1.0RETIEND例2:单片机P1口的输出通过与非门接发光二极管,正常情况发光二极管从左到右点亮,现系统开发中断INT0,当有中断发生时,灯间隙闪烁16次。试编制相关程序。解:系统采用软件定时,定时时间为1S,开发外部中断INT0。程序设计:主程序:ORG0000HLJMP1000HORG 0003HLJMP2000HORG1000H1000H:SETBEA SETBEX0 SETBIT0 MOVA,80HLOOP:MOVP1,A LCALL1SMIN RLA LJM

    28、PLOOP子程序:1SMIN:MOVR0,0FALOOP1:MOVR1,88HLOOP2:DJNZR1,LOOP2DJNZR0,LOOP1RET中断服务程序:ORG2000HMOVR2,10HLOOP3:MOVP1,55HLCALL1SMINMOVP1,0AAHLCALL1SMINDJNZR2,LOOP3RETIEND第三节 单片机串行接口、串行通信1)、计算机通信计算机通信分并行通信和串行通信两种。并行通信的各数据位同时传送,每一位数据需一条传输线,传送速度快,传送距离近,适应于计算机与周围设备之间通信,如打印机,接口电路如图17 所示。串行通信的数据传送是按位的顺序(低位在前,高位在后)和

    29、一定的格式传送。近程串行通信只要将串行口直接相连;远程串行通信,计算机先将数字信号通过MODEM转化成模拟信号(通常“1”调制成“1270HZ或2225HZ”;“0”调制成“1070HZ或2025HZ”),借助于通信电缆实现远距离传送,在接收端通过MODEM将摸拟信号转化成数字信号,串行通信接口示意图如图18所示。串行通信是计算机的主要通信形式,下面将介绍串行通信:串行通信是计算机的主要通信形式,下面将介绍串行通信:2)、串行通信方式串行通信有两种方式:同步串行通信和异步串行通信。、同步串行通信在同步通信中,数据或字符开始处是用一同步字符来指示(一般约定为1-2个字符),以实现发送端和接收端同

    30、步,一旦检测到约定同步字符,下面就连续按顺序接收图19同步通信的格式数据。同步传送格式如图19所示: 因为同步通信数据块传送时去掉了字符开始和结束的标志,因此其速度高于异步传送,但这种方式对硬件结构要求较高。、异步串行通信ASYNC异步串行通信的字符格式:异步串行通信以字符为单位进行传送,图20是11位串行通信帧格式:图20 串行通信格式异步串行通信的速率: 数据传输的速率用波特率表示。波特率=传送二进制数的位数/每秒注意:a、波特率不等于有效数据位的传输速率;b、波特率不等于时钟频率;3)、串行通信的制式、行通信的制式 串行通信的制式如图21所示,分半双工制式和 图21 串行通信制式全双工制

    31、式。 、串行通信信号的调制与解调近程传送:近程串行数据传送是直接进行的,不需要进行电平变换和技术处理,只要接口符合相应的标准。 远程传送:远程串行数据传送,在发送端先将数据进调制,在接收端要进行解调,如图184)、通信协议通信协议是指在计算机之间进行数据传时的一些约定,包括通信方式、波特率、命令码的约定。在计算机通信前要设置通信协议。2、单片机串行接口1)、单片机串行接口单片机的串行接口是一个可编程的全双工通信接口,通过软件编程它既可用作通用异步接收和发送器使用,也可作同步移位寄存器使用。、单片机串行接口单片机的串行接口如图22所示,它主要由两个数据缓冲寄存器SBUF和一个输入移位寄存器,以及

    32、一个串行控制寄存器SCON组成。定时器T1常用做其波特率发生器。、串行接口工作原理发送数据:数据送入发送SBUF,在移位时钟控制下,数据一位一位发送,当发送完一帧时,在TI产生中断请求信号(人工清0)。接收数据:SCON的REN位处于允许接收状态,(REN=1),串行口采样RXD端,当采样到从1变0时,就认定收到起始位。在移位时钟的控制下将数据送入移寄存器,接收完后将中断标志RI置1。 、帧格式: 图22 串行口结构单片机有三种帧格式:a、方式0,以8位数据为一帧,无起始位和停止位,先发送或接收最低位:b、方式1以10位为一帧传输,设有1个起始位“0”、8个数据位和1个停止位“1”c、方式2和

    33、3以11位为一帧,设有1个起始位“0”、8个数据位、1个可编程位(第九数据西半球)D8和1个停止位“1”:其帧格式如下,可编程位D8由软件置“1”或清“0”,该位可作检验位,也可作其它用。2)、串行口控制串行口控制与串行口控制寄存器SCON、电源控制寄存器PCON以及中断允许寄存器IE有关。(1)、串行控制寄存器SCONSCON是一个可位寻址的专用寄存器,用于串行数据通信的控制,单元地址为:98H,位地址与位功能如下:位地址 9F 9E 9D 9C 9B 9A 99 98位符号 SM0 SM1 SM2 REN TB8 RB8 TI RISM0、SM1串行口方式选择位 表3 串行口工作方式SM0

    34、SM1工作方式000011102113SM2多机通信控制位串行口的工作方式如表3所示。在方式2、3下:如果SM2=1;则接收到的第9位数据(RB8)为1时,才将接收到的前8位数据送入,产生中断请求(RI=1),否则丢失8位数据;如果SM2=0;则不论RB8为0还是1,都将接收到的8位数据装入,并产生中断(RI=1);在方式1下: 如果SM2=1;则只有接收到有效的停止位时,才启动RI,如果SM2=0;接收一帧数据,停止位进处RB8,数据进入SBUF,才启动RI,在方式0下;SM2=0REN允许接收位:REN=1:允许接收,由软件置位;REN=0:禁止接收,由软件复位;TB8发送数据位在方式2、

    35、3下,将要发送的第9位数据放在TB8中在多机通信中,TB8=0表示主机发送的是数据;TB8=1表示主机发送的是地址;RB8-接收数据位:方式0不使用这位:方式1下,如果SM2=0,RB8是接收到的停止位:在方式2、3下,存放接收到的第9位数据:在多机通信中,如果接收到的RB8=1表示主机正在查询地址,接下的地址信号可以接收TI发送中断标志:发送完一帧数据TI=1,该位必须用软件复位RI接收中断标志:接收完一帧数据RI=1;该位必须由软件复位(2)、电源控制寄存器PCONPCON是专为CHMOS型单片机而设置的专用寄存器,单元地址为87H,不能位寻址:在串行通信中,设SMOD=1,串行口波特率加

    36、倍,系统复位时,SMOD=0。位 序D7D6D5D4D3D2D1D0位符号SMOD/GF1GF0PDIDL(3)、中断控制寄存器IE位地址AFAEADACABAAA9A8位符号EA/ESET1EX1ET0EX0EA中断允许总控制位:EA=1,中断允许:EA=0,中断禁止:EX0(EX1)外部中断允许控制位:EX0(EX1)=1,允许外中断:EX0(EX1)=0,禁止外中断:ET0(ET1)定时/计数中断允许控制位:ET0(ET1)=0,禁止定时(或计数)中断;ET0(ET1)=1,允许定时(或计数)中断ES串行中断允许控制位: ES=1,允许串行中断;ES=0,禁止串行中断;(4)、串口通信波

    37、特率方式0和方式2的波特率:方式0的波特率:在方式0中,每一个机器周期发送或接收一位数据,与SMOD无关。波特率112fosc方式2的波特率:方式2的波特率与PCON中的SMOD有关:当SMOD0时,波特率164fosc当SMOD1时,波特率132fosc在方式2的波特率可用:波特率2SMOD64fosc方式1和方式3的波特率:方式1和方式3的波特率由定时器T1的溢出率与SMOD的值决定:波特率2SMOD/32T1溢出率当定时器T0工作在方式3时,定时计数器T1可以工作在方式012三种方式,此时,T1的溢出直接送串行口。其中:SMOD为PCON寄存器最高位的值; 选用定时器1方式2工作。3)、

    38、串口工作方式串行口共有四种工作方式(1)方式0 在方式0下,串行口作同步移位寄存器,以8位数据为一帧,先发送或接收最低位,波特率fosc12,串行口数据从RXD(P3.0)输入或输出,同步移位脉冲由TXD(P3.1)端送出,这种方式常用来扩展IO口。数据格式:数据发送:8051 RXD TXD P1014 P/S并行输入当一个数据写入发送缓冲器SBUF,串行口即把8位数据从低位到高位以fosc12的波特率从RXD端输出,发送完置中断标志TI为1,如图23所示,CD4094是串入并出接口芯片。STB1,输入端关闭,但允许8位数据并行输出;当STB0时,8位并行数据输出端关闭,但允许串行数据从DA

    39、TAL输入。8051 RXD TXD P10并行输出图23 串行转并行电路 图24 并转串电路 数据接收:当REN1时,串行口处于接收状态,RXD以波特率为fosc12输入数据,当SUBF接收到8位数据,RI置1,如图24所示,CD4014是并入串出接口芯片。PS1,允许并行输入,串行输出关闭;当P/S=0,关闭并行输入,允许串行输出。串行口在方式0的设置:波特率:fosc12串行口控制寄存器:发送数据:SCON00H接收数据:SCON10H中断允许寄存器:开中断:IE90H关中断:IE00H例1:CD4094的输出端接发光二极管,请编出发光二极管自左至右以一定的速度轮流显示的程序。分析:硬件接线如图所示,CD4094的工作要是:STB1,输入关闭,允许8位数据并行输出; STB0,8位并行数据输出端关闭,允许串行


    注意事项

    本文(单片机的功能部件.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922