STC15系列单片机下降沿+上升沿触发方式的应用及注意事项,计算机应用技术论文.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《STC15系列单片机下降沿+上升沿触发方式的应用及注意事项,计算机应用技术论文.docx》由会员分享,可在线阅读,更多相关《STC15系列单片机下降沿+上升沿触发方式的应用及注意事项,计算机应用技术论文.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 STC15系列单片机下降沿+上升沿触发方式的应用及注意事项,计算机应用技术论文本篇论文目录导航:【】【】 STC15系列单片机下降沿+上升沿触发方式的应用及注意事项【】【】【】 51单片机论文: STC15系列单片机下降沿+上升沿触发方式的应用及注意事项 内容摘要:外部中断在单片机应用系统中经常用于系统故障处理、采集数据的处理、人机交互的键盘输入以及通过按键唤醒单片机退出掉电工作形式等工作场景。STC15系列单片机外部中断0、外部中断1增加了上升沿或下降沿均可触发中断的新特性,这种新特性在使用时假如不加以注意可能会使中断服务程序重复执行两次,导致程序出错,尤其是在采集数据的处理、人机交互的键
2、盘输入等应用场合埋下隐患。通过对使用STC15系列单片机的外部中断0、外部中断1的实例分析,给出解决方案。对使用STC15系列单片机进行系统设计,尤其是对原来使用STC89系列等通用51单片机的系统进行硬件升级后的软件移植具有重要指导意义和参考价值。 本文关键词语: STC15;单片机;外部中断; ADC; Abstract:External interrupt is typically used in system fault processing,data acquisition,keyboard input and wake-up single-chip microcomputer to
3、 quit power-off mode.The external interrupt 0 and external interrupt 1 of STC15 series MCU add a new feature that the interrupt can be triggered by the rising edge or falling edge.If the user does not pay much attention to this feature,it may cause the interrupt service program to be executed twice,
4、which will lead to a program error.This kind of new feature will have an underlying problem in the application of data acquisition processing,keyboard input of human-computer interaction and other applications.The examples of external interrupt 0 and external interrupt 1 of STC15 series MCU are disc
5、ussed in this paper,the solutions are given.The study of this paper has important guiding significance and reference value for the system designed by STC15 series MCU,especially the software transplantation after a hardware upgrade of the original system used STC89 series and other general-purpose M
6、CS 51 single-chip microcomputer. 0 引言 中断系统是单片机的重要组成部分,一般包括定时/计数器中断、串行口中断、外部中断等1。中断的使用提高了单片机系统的数据处理效率,因而在单片机中得到了广泛的应用2。外部中断在单片机应用系统中经常用于故障中断、A/D转换数据处理等实时性要求很高的操作中。 笔者从事51单片机的教学工作多年,过去在学生实验中使用STC89系列单片机,也使用STC89系列单片机及AT89系列单片机进行过一些电子装置的设计,都很顺利。近期,在调试一个使用STC15F2K60S2单片机的外部中断0和外部中断1的中断实验中碰到了一个奇怪的问题:中断服务
7、程序总是被执行两次。仔细分析实验程序,没有发现任何问题,事实上该实验程序在STC89C52RC上执行也没有任何问题,曾一度使笔者陷入迷惑。 1 外部中断实验 1.1 外部中断实验设计 外部中断实验是教学中为了演示单片机外部中断特性和中断优先级而设计的,软、硬件思路是:主程序循环点亮接在P1.0P1.3的4个LED发光二极管,点亮时间间隔约1s;两个按键分别接在单片机的两个外部中断引脚INT0和INT1上,按键按下为低电平,触发相应外部中断进而执行相应外部中断服务程序;外部中断0的服务程序使接在P1.6上的LED发光二极管点亮约5s,外部中断1的服务程序使接在P1.7上的LED发光二极管点亮约1
8、0s。电路原理图如此图1所示。 图1 外部中断实验电路原理图 1.2 实验现象及存在问题 为了突出STC15系列单片机同STC89系列单片机及其他通用MCS-51兼容单片机外部中断0和外部中断1的主要区别,下面的实验仅描绘叙述外部中断0和外部中断1单独中断的现象。实验程序如此图2所示,华而不实图2(a、图2(b、图2(c分别是实验主程序、外部中断0服务程序、外部中断1服务程序,这三个程序对于STC89C52RC和STC15F2K60S2是一样的。由于STC15系列单片机是1T单片机,STC89系列单片机是12T单片机,因而实现一样延时时间的延时子程序不一样,STC89C52RC的延时子程序如此
9、图2(d所示,STC15F2K60S2的延时子程序如此图2(e所示。 图2 外部中断实验汇编源程序 把汇编好的单片机程序分别下载到STC89C52RC和STC15F2K60S2单片机中,接在P1.0P1.3的LED按约1s的时间间隔逐个点亮并周而复始地循环,讲明下载到两个单片机里的延时程序的延时时间是正确的。分别单独按下INT0所接按键K1和INT1所接按键K2,均能正常中断主程序的执行,但两种单片机中断服务程序的执行时间不同,STC15F2K60S2的执行时间约为STC89C52RC执行时间的2倍,即STC89C52RC的中断现象是正常的,STC15F2K60S2的中断现象不对,似乎重复执行
10、了两遍中断服务程序。 仔细分析两种单片机的实验程序,在两个外部中断服务程序里均通过切换工作托存器组的方式方法对主程序和中断服务程序共同使用的延时程序里的R3、R4、R5进行了切换,不存在资源冲突的情况,同时STC15F2K60S2单片机的延时子程序在主程序中调用的延时时间是正确的,而同样的中断服务程序在STC89C52RC又是正常的。那么唯一的可能就是STC15F2K60S2和STC89C52RC的中断特性不一样。 2 STC15系列单片机中断特性 STC15系列和STC89系列单片机都是MCS-51的兼容单片机,只不过STC15系列单片机是1T单片机,STC89系列单片机是12T单片机,容易
11、让人想当然地以为除了软件执行速度不同外,其他都是一样的。这种惯性思维方式一度使上述问题的分析陷入了窘境,甚至怀疑是不是STC15F2K60S2单片机存在BUG。 通过仔细阅读STC15系列单片机的数据手册才发现STC15系列单片机外部中断0和外部中断1的触发方式已经不再是低电平和下降沿两种通常所用的触发方式,而是变成了下降沿+上升沿和下降沿两种触发方式3,4。默认的触发方式为下降沿+上升沿触发,也就是讲下降沿或者上升沿都能够触发中断。为了验证是不是由于这种新的触发方式引起的上述问题,将触发方式设置为单一的下降沿触发,发现进入中断后点亮LED发光二极管的时间正确了,也就是讲确实是这种新的触发特性
12、导致的。 2.1 STC15系列单片机外部中断新的触发方式比照分析 51单片机外部中断0或1的触发方式是由特殊功能托存器TCON中的IT0或IT1进行设置,单片机上电复位后TCON的复位值是00H,即对于普通51单片机来讲外部中断0或1的触发方式是低电平触发,对于STC15系列单片机来讲外部中断0或1的触发方式是下降沿+上升沿触发。 在上面的实验中,按键从按下到释放需要的时间一般在0.10.3s之间,而上述中断服务程序的执行时间约为5s或10s,即中断服务程序的执行时间远远大于按键的操作时间,当中断服务程序执行完,按键早已经释放,对应的中断引脚电平已经恢复为高电平。IT0或IT1为0时,对应普
13、通51单片机而言,外部中断0或1是低电平触发方式,按键按下单片机执行相应外部中断服务程序,当外部中断服务程序执行完,按键已经释放,单片机不会再次进入中断。而对于STC15系列单片机来讲,为什么按键早已释放还会再次进入中断呢?只要一种解释,那就是STC15系列单片机对按键释放时的上升沿做了记忆。揣测STC15系列单片机对ITx(x取0或1为0时外部中断的执行经过如下:当按下按键时,外部中断0或1的引脚上出现下降沿,置位IEx(x取0或1,在允许中断的情况下CPU响应该中断,内部生成一条长调用指令LCALL转到相应的中断入口地址执行相应的中断服务程序,与此同时去除置位的IEx(x取0或1外部中断请
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文化交流
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内