课程作业报告
课程名称: 单片机原理及应用 设计题目: 外部中断控制 专业班级: 测控13-2 学生姓名: 杨朝江 授课老师: 刘 霞
院 系:电气信息工程学院测控技术与仪器系
2016 年 4 月 24 日
一、 作业要求
利用51系列单片机为核心,利用1个按键控制LED灯或继电器、电机、蜂鸣器等设备。控制效果自行设计。要求:按键采用INT0或INT1中断控制、利用定时器T0或T1进行定时控制LED灯或继电器、电机、蜂鸣器等设备。
设计电源电路、下载电路、最小系统、I/O口电路 ,用汇编编写程序。
二、 总体方案论证
方案一:使用INT0/INT1端申请中断的信号低电平有效。 方案二:使用INT0/INT1端申请中断的信号负跳变有效。 方案论证:本次设计使用外部中中断INT 0和INT1控制定时器定时并显示在数码管上,以十分之一秒的分辨率显示计时。外部中断0控制计时开始;外部中断1控制计时停止。计数60s后退出定时器中断并清除显示。
方案一检测外部中断的低电平需要对外部触滤波、去抖和松手检测,程序设计复杂;方案二检测外部中断的负跳变不需要去抖和松手检测,程序设计简单,检测灵敏,准确性好。
本次作业选择方案二。 三、 程序流程图
1、主程序流程图
主程序流程图如图1所示,主程序是用来完成定时器和外部中断
的初始化,数码管显示的时时刷新。
2、中断服务子程序流程图
中断服务子程序流程图如图2所示,中断服务子程序的功能是每次中断执行一次该程序,对毫秒位、秒位、十秒位、分钟位进行加1和判断是否进位操作,即达到该时间的情况下就给该时间对应位进行加1操作,使其能够显示正确的动态的时间。
开始 定时器初始化 外部中断初始化 显示初值时间 刷新数码管 图1 主程序流程图