单片机 第2章 定时器、中断系统和串行通讯.ppt

单片机 第2章 定时器、中断系统和串行通讯.ppt

  1. 1、本文档共117页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机 第2章 定时器、中断系统和串行通讯

4.中断服务程序入口地址 中断源 中断服务程序入口地址 INT0 0003H TF0 000BH INT1 0013H TF1 001BH SI(=RI∨TI) 0023H 2.8.5 中断系统应用 1.中断服务程序 1)如何安排较长的中断服务程序地址 从各中断服务程序入口地址安排看,各中断服务程序只有8个字节空间,不能占用其它中断服务程序的空间,如果一个中断服务程序的字节数大于8个字节,如何办? 解决办法:在该空间中放一句LJMP XXXXH指令,真正的中断服务程序存放在以XXXXH开始的空间中。 【例】INT1中断服务程序大于8个字节,则可以作如下安排: ORG 0013H LJMP INT1 … ORG 0100H INT1: … RETI 注意:对于一个中断源,其中断服务程序的入口地址只有按指定的地址,只有一个,没有随意性。 2)中断服务程序现场保护问题 在中断服务程序中可能会用到累加器A、寄存器B、R0~R7、数据指针DPTR,可能也会影响PSW,等等。为不影响主程序的正常运行,必须进行现场保护和恢复现场处理。 【例】中断处理指令用到A和B,且影响PSW,则安排如下: PUSH A PUSH B PUSH PSW … POP PSW POP B POP A RETI 注意:对于RI或TI发出的中断,进入中断服务程序后先查询是RI还是TI,再转到相应的程序,返回时在RETI指令前须加上: CLR RI 或 CLR TI 2.6.3 定时/计数器的初始化程序设计 1.定时/计数器初值计算 T初值=2N-定时时间/机器周期 说明:N与工作方式有关,方式0时N=13,方式1时N=16,方式2和方式3时N=8。 机器周期与时钟频率fOSC有关,当fOSC=12MHz时,机器周期为1us;当fOSC=6MHz时,机器周期为2us。 【例】如果单片机的fOSC=12MHz,要求定时时间为0.1ms,试计算在方式0、方式1、方式2、方式3情况下的定时初值。 解:由于fOSC=12MHz,所以机器周期为1us; 定时时间0.1ms=100us 方式0:N=13 T初值=213-100/1=8192-100=809211100B 注意:不足13位时前面添0,保证13位,其中高8位送TH0(或TH1),低5位送TL0(或TL1),所以初值赋值情况为: THx=0FCH TLx=1CH。 方式1:N=16 T初值=216-100/1=65536-100=65436 10011100B 注意:不足16位时前面添0,保证16位,其中高8位送TH0(或TH1),低8位送TL0(或TL1),所以THx=0FFH,TLx=9CH。 方式2:N=8 T初值=28-100/1=256-100=156 注意:不足8位时前面添0,保证8位,该值分别送THx和TLx,所以THx=9CH,TLx=9CH。 方式3:同方式2,但初值只送TH0或TL0中的一个。 【例】如果单片机的fOSC=12MHz,要求定时时间为5ms,试计算在方式0、方式1、方式2、方式3情况下T0的定时初值。 解:由于fOSC=12MHz,所以机器周期为1us; 定时时间5ms=5000us 方式0:N=13 T初值=213-5000/1=8192-5000=319211000B 所以:TH0=63H, TL0=18H。 方式1:N=16 T初值=216-5000/1=65536-5000=60536 01111000B 所以:TH0=0ECH, TL0=78H 由于285000,所以不能采用方式2、方式3。 2.初始化程序设计步骤 选择工作方式 计算初值 编制定时/计数器初始化程序 编制定时/计数器中断服务程序(注意入口地址) 【例】利用T0方式0定时方式,在P1.0引脚上输出周期为10ms的方波。设单片机fOSC=12MHz。 解: 选择工作方式:题意指定为方式0,N=13

您可能关注的文档

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档