- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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
您可能关注的文档
最近下载
- The Summer I Turned Pretty《我变美的那夏天(2022)》第二季第八集完整中英文对照剧本.docx VIP
- The Summer I Turned Pretty《我变美的那夏天(2022)》第二季第七集完整中英文对照剧本.docx VIP
- The Summer I Turned Pretty《我变美的那夏天(2022)》第二季第六集完整中英文对照剧本.docx VIP
- Unit 4 School days(Grammar) 课件 -2024-2025学年《英语》 七年级上册(译林版).pptx VIP
- 2024年四川省高考数学试卷(含答案解析)文科+理科.docx
- 中国助洗剂项目商业计划书.docx
- The Summer I Turned Pretty《我变美的那夏天(2022)》第二季第四集完整中英文对照剧本.docx VIP
- 中国硫酸黏菌素类产品项目商业计划书.docx
- 中国化学纤维制造项目创业计划书.docx
- 2025年中国四氯化锆项目投资计划书.docx
文档评论(0)