51汇编外部中断精要_第1页
51汇编外部中断精要_第2页
51汇编外部中断精要_第3页
51汇编外部中断精要_第4页
51汇编外部中断精要_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、课程作业报告课程名称:单片机原理及应用设计题目:外部中断控制专业班级: 测控13-2学生姓名:杨朝江授课老师:刘霞院 系:电气信息工程学院测控技术与仪器系2016 年 4 月 24 日作业要求利用51系列单片机为核心,利用1个按键控制LED灯或继电器、 电机、蜂鸣器等设备。控制效果自行设计。要求:按键采用 INT0 或 INT1中断控制、利用定时器TO或T1进行定时控制LED灯或继电器、 电机、蜂鸣器等设备。设计电源电路、下载电路、最小系统、 I/O 口电路 ,用汇编编 写程序。二、 总体方案论证方案一:使用 INTO/INT1 端申请中断的信号低电平有效。 方案二:使用 INTO/INT1

2、端申请中断的信号负跳变有效。方案论证:本次设计使用外部中中断 INT O 和 INT1 控制定时器 定时并显示在数码管上, 以十分之一秒的分辨率显示计时。 外部中断 0控制计时开始;外部中断1控制计时停止。计数60s后退出定时器 中断并清除显示。方案一检测外部中断的低电平需要对外部触滤波、 去抖和松手检 测,程序设计复杂; 方案二检测外部中断的负跳变不需要去抖和松手 检测,程序设计简单,检测灵敏,准确性好。本次作业选择方案二。三、 程序流程图1 、主程序流程图主程序流程图如图 1 所示,主程序是用来完成定时器和外部中断的初始化,数码管显示的时时刷新。2、中断服务子程序流程图中断服务子程序流程图

3、如图2所示,中断服务子程序的功能是每次中断执行一次该程序,对毫秒位、秒位、十秒位、分钟位进行加1和判断是否进位操作,即达到该时间的情况下就给该时间对应位进行 加1操作,使其能够显示正确的动态的时间。图1主程序流程图图2中断服务子程序流程图四、程序源码及注释 *5;* File Name;* Author;* Versio n : V3;* Date: 23/4/2016;* Descriptio n*5 * ;申明 *程序说明*电气院测控 2013 2, 0213ORG 00HAJMP MAINORG 0BH ; 定时器入口AJMP T0INTORG 0003H ;IINT0 的中断入口LJM

4、P IINT0ORG 0013H ;IINT1 的中断入口LJMP IINT1ORG 30HMAIN: MOV R0,#20MOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#3CHMOV DPTR,#TABLE ;主程序 ; 定时器 0 工作模式 1 ;TL0=(65536-50000)%256 ;TH0=(65536-50000)/256 数据段地址50MS 延时SETB EA ;打开总中断SETB ET0 ;CLR TR0 ;关闭定时器 0SETB EX0 ;启动外部中断 0SETB IT0 ;SETB EX1 ;启动外部中断 1SETB IT1 ;LCALL DISP

5、 ;LOOP:LCALL DISP ;调用显示函数SJMP LOOP; 死循环J定时器中断函数T0INT:MOV TH0,#3CHMOV TL0,#0B0HDJNZ R0,RTIMOV R0,#2 ;100msINC 20HMOV A,20H ;20H存放百毫秒CJNE A,#10,RTIMOV 20H,#00HINC 21H ;21H 存放秒MOV A,21HCJNE A,#10,RTIMOV 21H,#00HINC 22HMOV A,22HCJNE A,#6,RTIMOV 22H,#00HCLR TR0MOV 20H,#0MOV 21H,#0MOV 22H,#0RTI: RETI; 外部中

6、断 0函数 IINT0:SETB TR0 / 启动定时器 0LCALL DISPSJMP T0INTRETI; 外部中断 1函数 IINT1:CLR TR0 ; 关闭定时器 0LCALL DISPRETI; 数码管显示函数 DISP:MOV A,20H ; 百毫秒位显示MOVC A,A+DPTRMOV P0,ASETB P2.7LCALL DELAYCLR P2.7MOV A,21H ; 个位显示MOVC A,A+DPTRMOV P0,ASETB P2.6CLR P0.7 ; 点亮小数点LCALL DELAYCLR P2.6MOV A,22H ; 十位显示MOVC A,A+DPTRMOV P0

7、,ASETB P2.5LCALL DELAYCLR P2.5RET; 空延时函数 DELAY: ; 误差 0usMOV R6,#01HDL0:MOV R5,#61HDJNZ R5,$ ;$ 表示当前地址DJNZ R6,DL0RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99H;/DB 92H,82H,0F8H,80H,90HEND共阳极0-9显示代码五、中断电路图六、仿真结果具体请参考本文件下的proteus仿真,打开本文件夹star.pdsprj文件仿真就可以看到七、心得体会本次作业的编程软件使用的是 keil, 仿真软件用的是 proteus 。 程序的详细解释已经镶嵌在程序注释里了。仿真的电路图是一个整 体,没有分成部分解释,相信你照做做一定能做出来。仿真结果用的 是一张图。要看到动态那就打开本文件夹 star.pdsprj 文件仿真就可 以看到。本实验没有进行中断的扩展, 只用了

温馨提示

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

最新文档

评论

0/150

提交评论