




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程:微处理器原理与应用课 时:4学时教学环境:单片机实验室教学方法:讲解相关内容,指导学生实验实验二 外部中断、定时/计数器实验一、目的、任务和要求1.1 实验目的1. 掌握单片机中断系统的结构及工作原理。2掌握外部中断功能程序的一般结构和编程方法。3掌握单片机的定时/计数器的结构及工作原理。4掌握定时中断应用程序、计数器应用程序的典型结构和编程方法。1.2 实验任务1对8051单片机的外部中断功能和I/O口功能,搭建一个外部中断控制输出的硬件电路,设计和调试通过相应的外部中断功能软件。2对8051单片机的定时/计数器功能和I/O口功能,搭建一个(种)或几个(种)应用定时/计数器的硬件电路,设计并调试通过相应的软件。1.3实验要求通过完成外部中断功能实验项目,掌握中断初始化的内容和中断子程序的结构,熟悉中断响应的过程和现场保护的意义,会正确运用堆栈指令作现场保护和现场恢复。通过完成定时/计数器实验项目,掌握正确选择定时/计数器的工作方式和计数模式的方法,掌握定时/计数器的初值计算方法,会编写中断控制寄存器和定时器中断入口地址的初始化程序。二、设备和器件2.1实验设备(1)微型计算机(PC机)(装配相关软件),(2)单片机实验箱或开发板。2.2电路元器件本实验采用Protues仿真软件搭建一个简单的单片机系统电路,进行电路仿真分析,不需要实际的元器件。若实验采用万能板(或面包板)搭建电路,则需要如下元器件:LED发光二极管,510限流电阻,小按键、软导线等。学生可自己在课后搭建电路进行实验,并与仿真实验比较。三、实验内容及步骤3.1外部中断控制流水灯的实验内容及步骤(1)根据实验任务作电路原理图设计、作电路布局设计、通过Protues仿真软件来完成单片机硬件系统的搭建。电路图如3.1所示。(2) 通过“Vision4”软件编辑外部中断控制流水灯的程序,并将编写好的程序代码进行编译和仿真调试,然后输出*.hex文件。(3)通过实验板专用的接口将*.hex文件写入到单片机芯片的程序存储器中,然后试运行,察看现象并分析结果。若不成功,则要分析原因,重复有关步骤直至成功。3.2 定时中断控制流水灯电路的实验内容及步骤(1) 根据上面已搭建好的外部中断控制流水灯电路完成本任务。(2) 通过“Vision4”软件编辑定时中断控制流水灯程序,并将编写好的程序代码进行编译和仿真调试,然后输出*.hex文件。(3)通过实验板专用的接口将*.hex文件写入到单片机芯片的程序存储器中,然后试运行,察看现象并分析结果。若不成功,则要分析原因,重复有关步骤直至成功。3.3外部脉冲个数计数显示的实验内容及步骤(1)根据实验任务作电路原理图设计、作电路布局设计、通过Protues仿真软件来完成单片机硬件系统的搭建。电路图如3.2所示。(2) 通过“Vision4”软件编辑外部中断控制流水灯的程序,并将编写好的程序代码进行编译和仿真调试,然后输出*.hex文件。(3)通过实验板专用的接口将*.hex文件写入到单片机芯片的程序存储器中,然后试运行,察看现象并分析结果。若不成功,则要分析原因,重复有关步骤直至成功。说明:单片机实验板使用STC89C51RC-RD+系列单片机,利用RS232串口和STC-ISP V33.exe通信软件(或开发板自带下载软件)来下载*.hex机器程序代码。3.4 参考电路与程序代码1参考电路(1)外部中断控制输出的流水灯电路简图该电路图是在最小系统的基础上,将P1口接LED发光管电路,INT0脚连接外部中断触发开关,如图3.1所示。KLED1k+5VP1.0 P1.1P1.7 8051INT0图3.1 外部中断控制流水灯电路简图(2)定时中断控制流水灯的电路简图可根据外部中断控制流水灯电路图完成任务。如图3.1所示。实验时将K断开,只使用内部定时器功能。(3)外部脉冲个数计数显示的电路简图该电路图是在最小系统的基础上,将P1口接LED发光管电路,T0脚连接脉冲按键开关,通过开关K的通/断产生脉冲来进行计数。如图3.2所示。KLED1k+5VP1.0 P1.1P1.7 8051T0图3.2 外部中断控制流水灯电路简图2 参考程序代码(1)外部中断控制的流水灯1)外部中断控制流水灯参考程序结构程序地址分配(ORG指令)START:中断初始化 主程序任务(不断计数显示的循环)(调用延时子程序DL0)I001:现场保护 子程序任务(16次移位亮灯的子程序)现场恢复 RETIDL0:延时子程序RETEND2)外部中断控制的流水灯参考程序代码ORG 0000HLJMP STARTORG 0003H ;INT0中断源入口LJMP I001 ;I001是中断子程序的起始地址标号ORG 0100H ;主程序入口START: SETB IT0 ;采用下降沿触发方式SETB EX0 ;允许INT0中断SETB EA ;打开中断总允许开关CLR A ;A存放计数值,初值=0ST0: CPL A ;A内容取反,0和1电平反转 MOV P1, A ;P1口低电平时LED灯亮,即A取反前为1时LED亮 CPL A ;A内容取反,A仍为计数值 LCALL DL0 ;DL0是延时子程序的标号 ADD A,#1 ;加法运算,0255循环,可用INC A指令 AJMP ST0 ;无条件循环计数I001: PUSH ACC ;先保护断点现场A PUSH PSW ;后保护断点现场PSW SETB RS1 ;修改工作寄存器区,保护断点现场Rn MOV A,#0FEH ;流水灯初值 MOV R3,#16 ;循环变量初值LOOP: MOV P1,A ;流水灯控制输出 RL A ;移位运算 LCALL DL0 ;调用延时子程序DJNZ R3,LOOP ;流水灯移位共16次CLR RS1 ;恢复现场POP PSW ;恢复现场按照堆栈操作“先进后出”原则编程 POP ACC ;不可以先POP ACC再POP PSW。 RETI ;中断返回,返回到主程序断点处DL0: MOV R0,#255DL1: MOV R1,#255DL2: DJNZ R1,DL2 DJNZ R0,DL1 RET END3)深入实验问题(要求学生完成)(1)只去掉PUSH ACC和POP ACC指令,再仔细查看并解释运行现象。(3)将SETB IT0改成CLR IT0,较长时间按下按键,查看并解释运行现象。(4)只改RETI为RET,仔细查看并解释运行现象。(5)设置INT0、INT1两个外部中断,分别为高级和低级中断。试编程;分别在两个中断同时请求、低级中断先请求和高级中断先请求这三种情况下观察并解释运行现象。(2)定时中断控制的流水灯1)定时中断控制的流水灯参考程序结构程序地址分配(ORG)MAIN:定时器T0初始化(工作方式、计数初值和启动计数器)定时器T0开中断设置流水灯显示初值自循环(等待中断)CIT0:中断子程序(计数初值重装流水灯移位一次)RETEND2)定时中断控制的流水灯参考程序代码ORG 0000HLJMP MAINORG 0BH ;中断源T0的入口地址LJMP CIT0ORG 0100H MAIN: MOV TMOD,#01H ;设置内部定时16位计数方式 MOV TH0,#3CH ;6M晶振100ms/2=C350H,初值3CB0H MOV TL0,#0B0H ;计数器初值低8位 SETB ET0 ;中断初始化 SETB EA SETB TR0 ;启动TO开始计数 MOV A,#0FEH ;LED灯初值是最低位灯亮 SJMP $ ;自循环,等待中断CIT0: MOV TH0,#3CH ;重装计数器初值 MOV TL0,#0B0H RL A ;每中断一次移位一次 MOV P1, A ;在中断响应子程序中输出 RETI ;中断返回,返回到断点END3)深入实验问题(要求学生完成)(1)对于定时中断控制的流水灯程序,将TH0,TL0初值设为00H,查看并解释运行现象。(2)对于定时中断控制的流水灯程序,试修改流水灯速度,使其1秒才移动1位?(3)对于定时中断控制的流水灯程序,试修改程序使之作“每秒加1”计数?(4)对于定时中断控制的流水灯程序,试修改问题3程序,使得子程序的主要任务(即移位和输出指令的功能)放在主程序中执行而运行现象完全不变?(思路提示:利用标志位和位控制转移指令的功能,在主程序上加入一个分支结构程序段)(3)脉冲个数计数显示1)脉冲个数计数显示的参考程序结构程序地址分配(ORG)MAIN: 定时器T0初始化启动T0计数TL0值送显示(循环)END2)脉冲个数计数显示的参考程序代码ORG 0000HLJMP MAINORG 100H MAIN: MOV TMOD,#06H ;设置外部时钟,8位重装计数方式 MOV TL0,#00H ;计数器初值00H MOV TH0,#00H ;溢出重装数值00H SETB TR0 ;启动T0计数LOOP:MOV A,TL0 ;读TL0计数值 CPL A ;或XRL A,#0FFH,使“1”表示灯亮MOV P1,A ;P1口LED灯显示TL0的数值SJMP LOOP ;读TL0送显示循环END3)深入实验问题(要求学生完成)(1)若利用定时器T0来产生一个周期为10ms的方波,在P1.0脚输出,如何编写程序?(要求:先画出程序流程图或画出程序结构图)(2)若对周期为10ms的一个方波,用定时器T1来测量其正脉冲宽度,如何进行电路连接和编写程序?(要求:先画出程序流程图或画出程序结构图)(3)试编程使P1.0引脚上的LED显示灯每秒闪烁1次,即1秒内LED灯亮300ms、灭700ms(提示:可以使用两个定时器)。四、实验报告要求与考核标准1、 实验报告要求 (1)给出运行成功的单片机系统电路图、程序流程图、操作步骤和运行结果,并编写深入实验的程序代码。电路图和流程图要尽量详尽,程序代码要书写规范,操作步骤和运行结果要具体求实。(2) 写成深入实验问题的内容。(3)分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租赁合同范本长住房合约6篇
- 农资赠与合同范本3篇
- 合伙修路协议书格式5篇
- 简易机器抵押合同范本
- 电动车租赁协议书(示范协议)5篇
- 2025百货商场柜台出租合同3篇
- 足疗店合同范本
- 承接窑炉维修合同范本
- 房产限时销售合同范本
- 公寓出租全托合同范本
- GB/T 10294-2008绝热材料稳态热阻及有关特性的测定防护热板法
- 房屋验收记录表
- 公司固定资产处置审批单
- 星火英语六级词汇大全(带音标)
- 第一章-马克思主义的诞生-(《马克思主义发展史》课件)
- 茶叶加工学试卷
- 陶瓷材料力学性能和测试方法
- 超声生物显微镜(UBM)临床应用课件
- 专升本00107现代管理学历年试题题库(含答案)
- 部编四年级语文教材分析课件
- 农民用水户协会实施方案
评论
0/150
提交评论