- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                华东交通大学 单片机微机原理及应用基础教程第4章 51单片机中断、定时计数器及串行接口
                    
  4.1  中断系统
  4.2  定时/计数器
 4.3  串行通信及串行接口
;4.1  中断系统;可以提高CPU的工作效率; 
便于实时处理;
便于故障的及时发现,提高系统的可靠性。;80C51的五个中断源:
2个外部中断源:
    外部中断请求INT0、外部中断请求INT1。
3个外部中断源:
   定时/计数器T0、T1的溢出中断请求;
   串行口中断请求。;TCON:特殊功能寄存器TCON既是定时/计数器
    T0、T1的启闭控制寄存器;同时它也锁存了T0、
    T1及外部中断INT0、INT1的中断标志位。
    TCON字节地址为88H,可位寻址。;D7;D7;D7;D7;如果多个中断源同时申请中断,则CPU响应顺序为先高后低。
低优先级中断请求不能打断高优先级的中断服务,但高优先级中断请求可以打断低优先级的中断服务。
同级中断请求不能打断同级中断服务。;D7;EA:中断允许总控位。若EA=0,所有中断请求均被禁止;若EA=1,则由各个中断控制位决定是否允许中断。
EX0/EX1:外部中断0/外部中断1中断允许位。
ET0/ETl:T0/T1中断允许控制位。
ES:串行口中断允许控制位;        EA=1,且对应的中断允许控制位等于1。CPU
会在每个机器周期对中断源进行检测。若某中断源
提出中断申请,则需满足下列条件就可立即响应。
1)无同级或高级中断正在服务。
2)检测到有中断请求到来的机器周期是当前正在
执行指令的最后1个机器周期且已结束,这样可保
证当前指令的完整执行。;3)当检测到有中断请求到来时正在的指令是
RETI指令,或者是访问IE寄存器、访问IP寄存
器的指令时,则需要待上述指令己执行完毕并
且又执行完了它下面的一条指令。
;4.1.3  中断响应的条件;CPU在每机器周期的S5P2时刻采样各中断源,建立中断请求标志;
在每机器周期的S6期间按照设定的优先顺序逐个查询中断请求标志位。如果查到某中断请求标志为1,且满足前述中断响应条件,就在下一机器周期S1状态予以响应。
3.  中断响应的主要操作是执行由硬件电路自动生成的一条LCALL指令。其中,addrl6就是中断源的中断入口地址。首先将断点地址入栈保护,然后把addrl6送入PC中,使程序自动转到相应的中断人口处执行中断服务程序。;外部中断INT0;       从检测到中断到转去执行中断服务程序所需的时间称为中断响应时间。
理想情况是检测到中断到来的机器周期是当前正在执行指令的最后一个机器周期,接着用2个机器周期的时间执行自动生成的LCALL指令,共需要3个机器周期。
其他情况下中断的响应时间一般在3~8个机器周期。;1)定时器/计数器的中断请求标志TF0/TF1是在响应中断后由硬件自动清除的。
2)对于串行口中断请求标志TI/RI则应在中断服务程序中由软件清除。
3) 对于外部中断请求标志IE0/IE1也是在响应中断后由硬件自动清除的。
4)如果外部中断是以电平触发方式申请中断,当本次中断请求已被响应后若INT0/INT1管脚的低电平没有及时撤除,则有可能再次引起中断。如果外部中断工作在脉冲下降沿触发方式下,则IE0/IE1被清零后就可以了,不存在信号撤除问题。
;        为了解决这个问题,可采用下图所示的硬件连接:;(1)开中断和允许中断源中断
		SETB EA
		SETB EX0        ; (/EX1,ET0,ET1,ES)
(2)确定各中断源的优先级
         SETB PX0         ;(/PX1,PT0,PT1,PS)
          CLR   PX0         ;(/PX1,PT0,PT1,PS);例1:规定外部中断0为电平触发方式,高优先级,写出初始化程序。;例2:规定外部中断1为边沿触发方式,低优先级,在中断服务程序中将寄存器B的内容左移一位,B的初值为01H,试编写主程序与中断服务程序。
;MAIN:SETB  EA
            SETB  EX1
            CLR  PX1
            SETB IT1
            MOV  B,#01H
HALT:SJMP  HALT;4.2  定时/计数器;;TH0、TL0构成定时/计数器T0的16位计数器TH1、TL1构成定时/计数器T1的16位计数器
定时器控制寄存器TCON
工作方式寄存器TMOD;计数器;D7;D7;工作方式0:13位的计数器结构,由TH0全部8位和TL0的低5位构成。工作方式0的逻辑电路结构如下图。;工作方式1:与工作方式0基本相同,只是其计数核心为
16位,即使用了THx与TLx的全部16位。工作方式1的逻辑电路结构如下图。;工作方
                
原创力文档
                        

文档评论(0)