实验五 广告流水灯中断控制.doc_第1页
实验五 广告流水灯中断控制.doc_第2页
实验五 广告流水灯中断控制.doc_第3页
实验五 广告流水灯中断控制.doc_第4页
实验五 广告流水灯中断控制.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验五 广告流水灯中断控制一、实训目的1、用外部中断源的中断控制方法控制发光二极管亮灭。2、学习外部中断技术的基本使用方法。3、学习中断处理程序的编写方法。二、实训预备知识1、单片机中断系统包括5个中断请求源,4个中断控制寄存器IE、IP、TCON、SCON用来控制中断的请求、中断的开关和各种中断源优先级的确定。2、编写中断处理程序需要注意的问题是:(1)保护进入中断时的状态,并在退出中断之前恢复进入时的状态。(2)必须在中断处理程序中设定是否允许中断重入,即设置EX0或EX1位。一般进入中断处理程序时应保护现场,在退出前恢复现场。另外中断处理程序中涉及到关键数据的设置时应关闭中断,即设置时不允许中断重入。三、实训设备:微机一台、实训箱、THKL-C51仿真器、扁平数据线和一条串行数据通信线。四、实训内容图4-1 中断控制信号灯电路原理图(1)P1为输出口,INT0为电平触发接开关产生中断请求。要求:主程序8个发光二极管同时闪烁,当发生中断时使8个发光二极管循环点亮,结束时再返回主程序。(2)P1为输出口,INT0为电平触发接单次脉冲源产生中断请求。要求:主程序8个发光二极管循环点亮,当发生中断时循环暂停,小喇叭响,松开脉冲源后再返回主程序8个灯循环亮。五、程序设计步骤1、PROTEUS电路设计中断控制广告流水灯电路原理图如图4-1所示,设计在PROTEU ISIS平台中进行。(1)新建设计文件菜单【file】/【New Design】,出现选择模板窗口,选中”DEFAULT” 模板,再单击”OK”按钮,在文件名框中输入文件名,单击”保存”按钮,则保存新建设计文件,其后缀自动为.DSN。 (2)从PROTEUS库中选取元器件 单击“P”按钮,在其左上角“Keywords”(关键字)一栏中输入以下元器件的关键字,将以下元器件添加到对象选择器中。AT89C51:单片机RES:电阻LED-GREEN:绿色发光二极管CAP、CAP-ELEC:电容、电解电容CRYSTAL:晶振74LS04:反相器 BUTTON:按钮SOUNDER:喇叭 图4-2 单击“P”按钮(3)放置元器件:按照原理图合理放置元器件。(4)放置电源和地(终端)单击工具栏中的终端按钮,在对象选择器中选取电源(POWER)、地(GROUND), 用上述放置元器件方法分别放置于编辑区中。(5)电路图连线系统默认自动扑捉和自动布线有效。只要在两端点相继单击,便可画线。画折线,在拐弯处单击;若中途想取消,可右双击或按“Esc”;若终点在空白初,左双击即可结束。(6)设置、修改元器件的属性先右击后左击各器件,在弹出的属性编辑框中设置、修改它的属性。(7)电气检测选择【Tools】/【Electrical Rule Check】菜单项,出现电气检查报告单,无错误,则用户可执行下一步。2、源程序设计、生成目标代码文件(1)流程图信号灯中断控制程序流程图如图4-3所示。INT0中断入口中断返回保护现场8个灯循环点亮恢复现场设置P1口初始状态开 始8个灯同时闪烁设置有关中断控制寄存器,开放中断INT0 (a)主程序框图 (b)INT0中断处路程序框图图4-3 信号灯中断控制流程图设置P1口初始状态开 始等待中断设置有关中断控制寄存器,开放中断INT0INT0中断入口中断返回保护现场小喇叭响恢复现场(a)主程序框图 (b)INT0中断处路程序框图图4-4 喇叭报警控制流程图(2)源程序设计 在Kile软件中第一步:建立一个工程项目文件执行菜单【Project 】/【New project 】,给项目文件取名并保存,选择单片机型号为AT89C51;第二步:选择目标器件右键Target1-Options for Target“ Target1”或选择【 Project】/ 【Options for Target“Target1” 】对选项卡进行设置,在“Output”选项卡,选中“Create HEX File”;第三步:新建一个源程序文件在菜单File/New编辑窗口中输入源程序,在菜单File/Save中保存源程序文件,文件后缀为.asm;第四步:把源程序文件添加到工程项目中单击工程项目【Target1】/【Source Group1】选择Add File to Group Source Group1,选择文件类型Asm Source File-单击Add按钮,添加完毕,关闭窗口;(3)源程序编译、生成目标代码文件选择【Project】/【Rebuild all target files】选项或单击工具栏中 按钮,如果编译成功,显示编译成功的信息,并生成目标代码文件,文件后缀.HEX。若编译失败,可对程序进行修改调试直到编译汇编成功。3、Keil与PROTEUS的联合调试(1)加载目标代码文件在PROTEUS软件中,将鼠标指向AT89C51,先右击再左击,在此窗口中的“Program File”栏中,选择用Kile软件生成的.HEX文件,单击“打开”按钮,完成添加文件。在Clock Frequency栏中把频率设定为12MHz,单击“OK”。 图4-5 源程序文件的添加(2)远程调试环境设置 在PROTEUS中的【Debug】菜单中选中【use remote debug monitor】。进入Keil的【Project】菜单【Option for TargetTarget】,在Debug选项中右栏上部的下拉菜单中选中PROTEUS VSM Simulator-51 Driver。再进入seting,本机的IP地址设为127.0.0.1(若不在同一台机子上,则填另一台IP地址),端口号为8000。图4-6 Kile中目标调试设置(3)全速仿真图4-7 Keil与PROTEUS的联合调试画面在Keil中启动调试,选择【Debug】/【Start/Stop Debug Session】选项或单击工具栏中 按钮,并单击运行程序 按钮 ,同时PROTEUS仿真被Keil启动,在Keil与PROTEUS中都可以观察信号灯及喇叭的状态。如图4-7所示。六、实物连接操作步骤1、将实训箱联接好电源线,使用实训箱上的单片机最小应用系统1模块。关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块,P3.2接一开关,P3.3接喇叭。2、用串行数据通信线连接计算机与THKL-C51仿真器,把仿真器插到单片机最小应用系统1模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、在Keil uVision2仿真软件中,进行软件设置,选择硬件仿真,选择串行口,设置波特率。4、打开最小应用系统1模块电源和总电源,点击开始调试按钮,点击RUN按钮 运行程序。七、实训报告内容1、画出信号灯中断控制原理图,编写程序,将Keil与PROTEUS软件的联合调试的程序运行结果进行记录并总结。2、对于INT0中断,能否把程序中的无条件转移指令LJMP改成AJMP指令?为什么?。3、练习:使P1口的8个信号灯循环亮,左移8次,右移8次,用单次脉冲申请中断,当发生中断后,8个信号灯闪烁5次后继续循环亮。要求:用PROTEUS软件设计电路,用Keil软件编写程序,编译成功后,将目标程序加载到CPU中,最后用Keil与PROTEUS软件联合调试程序。扩展实验 广告流水灯中断嵌套控制一、实训目的1、用外部中断源的中断控制方法控制发光二极管亮灭。2、学习外部中断技术的基本使用方法。3、学习利用外部中断源实现中断及设置高优先级的方法。二、实训预备知识1、当有两个或两个以上中断同时存在时,在设置中断允许之外,还必须设置中断优先。2、设置中断优先级控制寄存器IP时有两种方法:(1)同一层中断法。即不论中断的高低优先级,只管触发中断的先后。(2)高低优先中断法。即设置中断优先级,不论按键的先后,只论中断优先级的高低。三、实训设备:微机一台、实训箱、THKL-C51仿真器、扁平数据线和一条串行数据通信线。四、实训内容图4-8 中断优先级控制电路原理图(1)INT0、INT1同时存在,P1为输出口,INT1优先级高于INT0,INT1为电平触发接单次脉冲源产生中断请求、INT0边沿触发方式接开关产生中断请求。要求:主程序8个发光二极管同时闪烁,INT0的中断服务程序控制P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论