《单片机微机原理与接口技术》中断实验报告.docx

《单片机微机原理与接口技术》中断实验报告.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《单片机微机原理与接口技术》中断试验报告 课程名称: 单片微型计算机原理及接口技术 试验类型: 验证型试验工程名称: 中断试验 一、试验目的和要求 试验目的 娴熟使用 Keil,Proteus 软件对程序进展调试,把握单片机中断方式的输入 /输出,生疏 MCS-51 单片机外部中断初始化编程方法及中断程序的调试方法 试验要求 把握查询方式和中断方式的输入/输出程序设计及调试。通过试验生疏中断处理的过程以及 MCS-51 单片机转向中断子程序的方法,进一步了解外中断的边沿触发与电平触发的区分及应用。 二、试验内容和原理 程序 要求:如图4.1 所示,当INT1 有中断恳求时,将 4 个开关的状态读入并输出到 4 个 LED,开关闭合〔为低〕则对应的 LED 点亮。 图 4.1 单片机开关发光二极管 单片机 开关 发光二极管 电阻 RES AT89C51 SW-SPDT LED-BIBY 表 4.1 设INT1 为边沿触发,其入口地址为 0013H,程序如下: ORG 0000H LJMP MAIN ORG 0013H LJMP PINT1 ORG 0100H MAIN:SETBIT1 ;选择 为边沿触发SETB EX1 ;允许 中断 SETB EA ;CPU 开中断LOOP1:MOV A,#0FEH ;LED 轮番点亮 LOOP2:MOV P2,A DLY: DLY1: DLY2: DLY3: LCALL DLY RL A LJMP LOOP2 ORG 0200H MOV R6,#0FH MOV R5,#0FFH MOV R4,#0FFH DJNZ R4,DLY3 DJNZ R5,DLY2 DJNZ R6,DLY1 RET ORG 0300H PINT1:PUSH ACC ;保护 ACC MOV A,#0FH ORL P0,A ;设 P1 低 4 位(高电平)为输入MOV A,P0 ;读开关状态 SWAP A MOV P0,A ;输出驱动 LED 亮POP ACC RETI END 三、主要仪器设备 单片机专业开发工具 Keil uVision 5。 四、操作方法和试验步骤 在 Keil uVision2 软件中输入程序并保存程序。 编译程序,修改编辑错误,并生成.HEX 文件。 使用 Protues 将图 4.1 绘制出来〔注:时钟电路和复位电路在仿真中可以无视不画〕,加载.HEX 文件。 在 Keil,Protues 软件中做相应的设置,使得可以进展两个软件的联机调试。 在 Keil 软件中,首先点击左边的“工程窗口”的 Target1 〔鼠标右键点击〕,然后选中菜单“目标‘Target 1’属性”,进入“调试”页面,选中多个选项:“使用:Protues VSM Simulator”、“启动时加载程序”、“运行到 main〔〕”、“断点”、“扫瞄点”、“存储器显示”。如图 4.2 图 4.2 在 Protues 软件中,选中“调试” -“使用远程调试监控” 中断程序单独调试 先调试INT1 是否能正常中断,此时可将断点设在0013H 处, 从 0000H 单元开头执行,搬动开关 SW1,产生中断信号, 看程序是否能跳到 0013H 处,假设不能则中断有问题,检查中断初始化程序。 假设正确,将断点设在 RETI 处,设置 PC=0300H, (可在左侧的“regs”窗口区中找到 PC 对应的值 0x0000,用鼠标左键慢双击 0x0000 即可修改该数值〕) 程序从 0300H 开头执行到RETI 处,观看灯的亮灭状态是否与开关状态符合。 中断程序调试正常以后,选择单片机复位 PC=0000H,用全速执 行程序并检查结果。 执行的结果应为每转变一次开关〔 SW2~SW5〕的状态,再按脉冲按钮 SW1 发一次中断〔 INT1 产生一次负跳变〕,则 LED 的状态随开关的状态而转变〔亮或灭〕。 五、试验结果与分析 思考 在 0013H 单元为何有一条 LJMP PINT1 指令?假设改为 INT0 中断,地址 0013H 应改为多少? 为何只转变 SW2~SW5 的状态,而不按 SW1〔不发中断〕,LED 的亮暗 状态不会随 SW2~SW5 的状态而转变? 将INT1 改为 电平触发,再执行程序,结果如何?由此比较电平触发和边沿触发的中断方式有什么区分? 接口电路如图 4.3 所示,参照试验四用中断方式编程, 实现当 KK1 为高电寻常,8 个 LED 轮番点亮,当 K0 为低电寻常,则停顿循环,当 KK1 再变为低,循环点亮又开头。调试出程序结果。 六、争论和心得

文档评论(0)

写作定制、方案定制 + 关注
官方认证
服务提供商

专注地铁、铁路、市政领域安全管理资料的定制、修改及润色,本人已有7年专业领域工作经验,可承接安全方案、安全培训、安全交底、贯标外审、公路一级达标审核及安全生产许可证延期资料编制等工作,欢迎大家咨询~

认证主体天津济桓信息咨询有限公司
IP属地天津
统一社会信用代码/组织机构代码
91120102MADGE3QQ8D

1亿VIP精品文档

相关文档