- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中断优先级控制及中断保护实验报告
-自动化1003 徐磊 201003120325
一、电路原理图
工作原理:USB 线连接开发板,电源开关S1 打到usb 位置;J5 跳针跳到1*4 位置,按键B 对应INT0 (P3.2), 按键 F 连接 INT1 (P3.3),在平时状态下,发光二极管行以600ms 的时间间隔,依次点亮。B 键按下时INT0 中断处理程序点亮LED4 对应的发光管2 秒钟,其他发光管熄灭;F 键按下时LED5 对应发光管点亮 2 秒,其他发光管熄灭。
二、程序清单
ORG 0000H
AJMP MAIN 跳至主程序
ORG 03H 外部中断0中断向量地址
AJMP INT0_SUB
ORG 13H 外部中断1中断向量地址
AJMP INT1_SUB
ORG 003H
MAIN:
MOV IE, 使能INT0,INT1
MOV TCON, 设INT0,INT1负缘触发
MOV IP,#01H 中断0优先
MOV SP,#30H 将堆栈移至30H
START:
MOV P1,#0FEH
MOV A,P1
ACALL DELAY200MS 调用延时子程序,以使观察LED的状态
LOOP1:
RR A
MOV P1,A
ACALL DELAY200MS
ACALL DELAY200MS
ACALL DELAY200MS
AJMP LOOP1
DELAY2S: 延时2S子程序
MOV R2,#0AH
DEL_1:
ACALL DELAY200MS
DJNZ R2,DEL_1
RET
DELAY200MS: 延时200MS子程序
MOV R1,#014H
DEL_0:
ACALL DELAY10MS
DJNZ R1,DEL_0
RET
DELAY10MS: 延时10MS子程序
MOV R5,#0BH
DEL_2:
MOV R3,#0EFH
DEL_3:
MOV R4,#09H
DJNZ R4,$
DJNZ R3,DEL_3
DJNZ R5,DEL_2
RET
INT0_SUB:
CLR EA 清楚中断
ACALL DELAY10MS 延时10ms
JNB INT0,HAVEKEY0 确认有键
SETB EA 开启全局中断
RETI
HAVEKEY0:
PUSH PSW 保存寄存器数据
PUSH ACC
SETB RS0 选择寄存器组1
CLR RS1
SETB EA 开启全局中断
MOV P1,#0FEH
ACALL DELAY2S
POP ACC
POP PSW 取出保存寄存器数据
RETI
INT1_SUB:
CLR EA 清楚中断
ACALL DELAY10MS 延时10ms
JNB INT1,HAVEKEY1 确认有键
SETB EA 开启全局中断
RETI
HAVEKEY1:
PUSH PSW 保存寄存器数据
PUSH ACC
SETB RS1 选择寄存器组2
CLR RS0
SETB EA 开启全局中断
MOV P1,#0FDH
ACALL DELAY2S
POP ACC
POP PSW 取出保存寄存器数据
RETI
END
三、分析51单片机的中断运行机制,它具有哪些中断,对应的中断矢量地址是什么?中断使能位是什么?
1、中断运行机制:当MCS-C51单片机的CPU正在处理某件事情的时候,单片机外部或内部发生的某一时间请求CPU立即去处理,于是,CPU暂时中止当前的工作,转到终端服务处理程序处理所发生的事件。中断服务处理程序处理完该事件后,再回到原来被中止的地方,继续原来的工作。
2、具有7个中断:
(1)00H 复位:当 9 脚RESET 为高电平,CPU 会跳至地址00H 处开始执行程序,亦即程序一定要从地
址00H 开始写起。
(2)03H(外部中断0):当 INT0 引脚由高电位变至低电位时,CPU 会接受外部中断0,并跳至地址 03H
处去执行中断子程序。
(3)0BH(计时/计数器0 中断):当CPU 接受计时/计数器0 中断置位而产生中断要求时,会跳至地址0BH
处去执行中断子程序。
(4)13H(外部中断 1):当 INTl 引脚由高电位变至低电位时,CPU 会接受外部中断 1,并跳至地址 13H
处去执行中断子程序。
(5)1BH(计时/计数器 1 中断):当CPU 接受计时/计数器 1 中断置位而产生中断要求
原创力文档


文档评论(0)