1、 ,基金项目微型电脑应用 年第 卷第期基金项目:年教育部产学研合作协同育人项目()作者简介:王超(),男,硕士,副教授,研究方向为自动化技术应用及仿真。文章编号:()基于 的单片机多中断源电路的设计王超(昌吉学院,能源与控制工程学院,新疆,昌吉 )摘要:以单片机处理多中断源请求中断为例,对多中断源共同作用下的单片机处理过程进行了分析,在 仿真平台下完成了电路的设计、程序编写和软硬件协同调试,采用按键模拟多中断源请求信号并进行控制,借助逻辑分析仪和 寄存器窗口对查询优先级和物理优先级设置下的中断过程进行了详细的分析。研究结果表明,使用 软件可对单片机多中断源电路进行动态实时分析,将抽象的中断过程
2、直观地展现出来,帮助发现多中断源调试过程中存在的隐蔽性、偶发性问题,提升解决问题的能力。关键词:单片机;多中断源;逻辑分析仪中图分类号:文献标志码:(,):,:();引言中断是单片机技术中非常重要的组成部分,使用中断可以大大提高单片机控制的实时性和效率。但是,由于中断发生的随机性,造成中断执行过程中突发性情况比较多,特别是同时存在多中断源的情况下,这种现象更为突出,从而增加了调试程序的难度。为了直观地观察到单片机多中断源处理过程,本文采用 仿真软件设计了多中断源电路并通过逻辑分析仪详细地分析中断处理的过程。单片机中断源 系列单片机含有个中断源,分成两类,分别是个外部中断源:、;个内部中断源:定
3、时器计数器 、和串行口发送接收中断,有两个中断优先级别,能够实现两个级别的中断嵌套。实际上,单片机的优先级有两种:一种是查询优先级;另一种是物理优先级。查询优先级也就是默认优先级,即单片机复位后的优先级,其顺序为 串行口,优先级顺序是不能更改的,也不会出现高优先级中断能打断低优先级中断的情况。物理优先级是对 进行设置,若某一位为则为高优先级,某一位为则为低优先级,高优先级别的中断源能打断低优先级别的中断源,但是,若是同一级别的中断源申请,其响应顺序则按照查询优先级确定。逻辑分析仪逻辑分析仪是一种功能强大的数字信号测量仪器,可以进行多路数字信号的时序逻辑分析,提供的逻辑分析仪可记录 共 路触发信
4、号,共组 总线信号,如图所示。逻辑分析仪使用步骤如下。()连接触发信号,将待测信号与逻辑分析仪 或 直接用导线相连,也可使用终端模式将连线的终点和赋予连线一个连接标号,可避免连线交叉、电路混乱等现象发生。()设置触发信号的触发条件,包括低电平、上升沿、高电平、下降沿和任意触发种。()指定总线信号的数据匹配条件,包括 和 多种选择。()指定捕捉分辨率,捕捉分辨率与触发信号输入信号脉冲宽度有关,若捕捉分辨率太低,有可能错过一些信号。()按捕捉按钮 ,开始捕捉,完成后会显示绿色,然后变黑。()调节显示分辨率或显示位置滚轮,即可显示数据。为便于观察逻辑分析仪中的时序波形,可右键单击逻辑分析仪 下的虚拟
5、打印,即可将逻辑分析仪运行后的数 ,基金项目微型电脑应用 年第 卷第期图逻辑分析仪据全部输出,可将交互式仿真的数据记录并保存,为进一步分析提供了便利。单片机多中断源电路的设计单片机多中断源电路由 单片机、中断请求源电路、中断指示电路等组成,如图所示。中断源请求电路由总按键 及 分键,、和 四个独立按键组成。分键有断开与闭合形成不同的组合。在按下 键时,可实现多个中断源同时请求,按下表示 中断请求,按下表示 中断请求,按下表示定时器计数器 中断请求,按下表示串行口发送数据请求,定时器计数器 和串行口中断为内部中断。通过设置 可启动定时器,通过发送或接收数据可启动串口中断;、为外部中断,其中断申请
6、需通过检测引脚电平的变化来实现。要实现多个中断源同时申请,需要对内、外中断源进行控制才行。、分别接 、按键,下降沿触发有效,为串行口按键输入端。当检测到 为低电平时,表示串行口中断请求;为定时器 按键输入端,表示定时计数器 中断请求。通过 口来读取开关状态,判断是哪类中断源有中断请求。中断指示电路由 、和 组成,用发光二极管的亮灭指示是哪类中断正在处理,为串入并出寄存器,用来实现串口数据的发送。中断源请求信号 、定时器计数器 请求信号、串口、和 分别连接逻辑分析仪的 ,通过逻辑分析仪来观察多中断源的中断处理过程。图多中断源电路设计图程序设计依据图的功能,分别完成主程序和中断服务程序的编写,如图
7、所示。主程序中,首先完成系统初 始 化,包 括 、口 以 及 的初始值设定,之后进入循环读取 口数据,判断是否有按键按下,初次执行时按键变量 和 不等,对 、进行设置,以确保程序后续执行期间外部中断属性的确定以及总中断允许的禁止。接着,执行多分支 ()语句,对不同种按键进行处理。例如:,则表示定时计数器()、串行口()、中断()有按键,中断无按键,执行分支 :;();即用软件设定定时计数器 的中断标志 ,执行串口发送程序 ()后使 ,最后使 ,开放所有中断,即可使 、和串行口实现同时产生中断。多中断源运行分析 查询优先级(不设置)()中断源同时申请将开关 闭合,在 中断服务程序中设置断点。单击
8、调试 ,打开逻辑分析仪面板,将捕捉精度()设置为 ,将显示范围 ,基金项目微型电脑应用 年第 卷第期()主程序()中断服务程序图程序流程图()设 置 为 ,单 击 下 的 选项 ,按下按键,运行后程序停在断点处,寄存器窗口中的内容如图所示。图中 寄存器为 ,即:,表明 、定时计数器 和串行口中断标志位置,表明正在执行 中断服务程序,但其中断请求标志位已经由硬件清零。图 寄存器窗口断点取消、全速运行后,仿真结果如图所示。图中,为个中断源按键变化时序,也表明它们是同时触发了中断申请,为个中断源的中断响应过程,最先响应的是 中断,当 响应结束后依次响应、和串行口,这个顺序是查询优先级顺序(串行口),
9、不会形成嵌套,其结果与 寄存器的窗口数据保持一致。图 不设置中断源同时申请()中断源不同时申请分别设置完逻辑分析仪的捕捉精度和显示范围后,在 中断服务程序中设置断点,单击 下的 选项,依次按下 ()、()、()和 (串行口)键,运行后程序停在断点处,寄存器窗口的内容如图所示。图中,即 ,表明 、和串口的中断请求标志位已经置,定时计数器 的标志位 ,表明正在执行定时中断服务程序,但其标志位已由硬件清除。图 寄存器窗口断点取消,运行后的仿真结果如图所示。由图可观察到,不同时刻有个中断源在申请,首先按下的是,表示有 中断请求,立刻执行 中断服务程序,在执行 中断服务程序期间,、依次有效并进行中断请求
10、排队,当 中断服务程序执行完后,、和串行口依次响应,体现出了查询优先级的顺序,不会出现高优先级别的中断源中断低优先级别的中断源,其结果与 寄存器的窗口数据保持一致。图 不设置中断源不同时申请 物理优先级(设置)()中断源同时申请逻辑分析仪设置完成后,设置 ,即 、为高优先级,其余为低优先级,闭合,在 中断服务程序中设置断点,单击 下的 选项,按下键后,程序运行到断点处,寄存器窗口内容如图所示。图中,即 ,表明串行口、和定时器 的中断请求标志位置,的中断请求标志位为,表明正在执行的是 的中断服务程序,但中断请求标志已经由硬件清零,由于先执行的是高优先级中断,低优先级中断源不会打断高优先级的中断请
11、求,也不会发生嵌套。断点取消,全速运行后,运行结果如图所示。图中,为个中断源同时申请中断,首先响应的是 ,其次是 ,原因是 和 属于高优先级,属于同一个级别,同一个级别中个中断源按照查询优先级顺序依 次响应。当 响应结束后,将处理 和串行口中断,基金项目微型电脑应用 年第 卷第期图 寄存器窗口图 设置中断源同时申请因 和串行口均为低优先级,因此将按照查询优先级的顺序先响应,结束后才响应串行口,其结果与 寄存器的窗口数据保持一致。()中断源不同时申请逻辑分析仪设置完成后,设置 ,即 和 为高优先级,其余为低优先级,在 中断服务程序中设置断点,单击 下的 选项,依次按下()、(串行口)、()和()
12、,程 序 运 行 到 断 点 处,寄存器窗口内容如图 所示。图 中,即:,表明 和串行口中断标志位置,定时计数器 的标志位 ,表明正在执行定时中断服务程序,但其标志位已由硬件清除,中断请求还未申请,标志位为。图 寄存器窗口断点取消,全速运行后,运行结果如图 所示。图 中,首先响应的 中断,在执行 中断服务程序期间,低优先级串口中断和高优先级中断 陆续有请求,打断正在执行的 而转去执行 中断服务程序,中断服务程序执行完成后返回 继续执行,之后 有中断请求,又打断正在执行的 而转去执行 中断服务程序,中断服务程序执行完后返回 继续执行,中断服务程序执行完成后才执行串行口中断服务程序,在执行串行口中
13、断服务程序期间,和 中断请求依次有效,依旧发生了中断嵌套,其结果与 寄存器的窗口数据保持一致。图 设置中断源不同时申请总结本文在 仿真平台下实现了多中断源的中断处理,将逻辑分析仪和 寄存器窗口相结合可动态观察多中断源的执行过程,化抽象为直观,帮助学生增强对多中断源工作原理、机制和过程的理解,提升解决问题的能力。参考文献邓力 基于 时序逻辑和 的电路仿真实验室研究与探索,():宋杰,丁志远基于 的 中断仿真异常问题探究和对策实验室研究与探索,():王超,朱鹏远基于 的单片机中断电路的设计与仿真实验技术与管理,():汪灿华,陈庆梅,张康,等虚拟实验平台在嵌入式系统实验 中 的 应 用 实 验 室
14、研 究 与 探 索,():王欣峰,任淑萍 仿真环境下的电机调速系统设计机械工程与自动化,():熊建平基 于 简易逻辑 分 析 仪 设 计 与 实 现 顺德职业技术学院学报,():李子华 单片机的定时中断系统的应用 数字通信世界,():柯艳明 仿真软件在单片机实验教学中的应用实验室科学,():郏正学,李炜单片机模拟串口数据接收程序的实现及优化 单片机与嵌入式系统应用,():薛乐乐,薛淑鹏 对 系列单片机中断问题的研究 电子制作,():王鹏基于单片机的智能磁滞回线测量系统的程序控制长春:吉林大学,黄启锋,郭丽花,林有希,等单片机控制系统软件抗干扰方法的研究 中国农机化学报,():严成武单片机的中断现场保护电子技术与软件工程,():代晓倩,尤志坚 单片机软件中断测试技术研究电脑知识与技术,():(收稿日期:)