功能强大的时钟中断
在单片机程序设计中,设置一个好的时钟中断,将能使一个CPU发挥两个CPU的功效,大大方便和简化程序的编制,提高系统的效率与可操作性。我们可以把一些例行的及需要定时执行的程序放在时钟中断中,还可以利用时钟中断协助主程序完成定时、延时等操作。
下面以6MHz时钟的AT89C51系统为例,说明时钟中断的应用。
定时器初值与中断周期 时钟中断无需过于频繁,一般取20mS(50Hz)即可。如需要百分之一秒的时基信号,可取10mS(100Hz)。这里取20mS,用定时器T0工作于16位定时器方式(方式1)。T0的工作方式为:每过一个机器周期自动加1,当计满0FFFFh,要溢出时,便会产生中断,并由硬件设置相应的标志位供软件查询。即中断时比启动时经过了N+1个机器周期。所以,我们只要在T0中预先存入一个比满值0FFFFh小N的数,然后启动定时器,便会在N个机器周期后产生中断。这个值便是所谓的“初值”。下面计算我们需要的初值:时钟为6MHz,12个时钟周期为一个机器周期,20mS中有10000个机器周期。(10000)10=(2710)16,则0FFFFh-2710h+1=0D8F0h。由于响应中断、保护现场及重装初值还需要7~8个机器周期,把这个值再加上7,即T0应装入的初值是0D8F7h。每次中断进入后,先把A及PSW的值压入堆栈,然后即把0D8F7h装入T0。
设置一个单元,每次中断加1 我们可以取内部RAM中一个单元,取名为INCPI(Increase Per Interrupt),在中断中,装完T0初值后,用INC INCPI指令将其加一。从这个单元中,无论中断程序还是主程序,都可以从中获得20mS的1~256之间任意整数倍的信号。例如:有一段向数码管送显的程序,需要每0.5秒执行一次以便刷新显示器,便可以设一单元(称为等待单元)W_DISP,用/MOV A,INCPI/ADD A,#25/MOV W_DISP,A/语句让其比当前的INCPI值大25,然后在每次中断中检查是否于INCPI值相等。若相等,说明已过了25个中断周期,便执行送显程序,并且让W_DISP再加上25,等待下个0.5秒。我们可以设置多个等待单元,以便取出多个不同的时基信号。让中断程序在每次中断时依次查询各个等待单元是否与INCPI相等,若相等,则执行相应的处理,并重新设置该等待单元的值,否则跳过。例如:用0.5秒信号刷新或闪烁显示器,用1秒信号产生实时时钟,或输出一定频率的方波,以一定间隔查询输入设备等。
在中断中读键 通常,我们在主程序中读键盘,步骤为:扫描键盘,若有键按下,则延时几十毫秒去抖动,再次确认此键确实按下,然后处理该键对应的工作,完成后再次重上述步骤。但这有两点不足:1.处理相应工作时无法锁存按键的输入,即可能漏键。2.延时去抖时CPU无法做其它事情,效率不高。如果把读键放入时钟中断中,则可避免上述不足。方法为:如果两次相邻的中断中都读到同一个键按下,则这个键是有效的(达到了去抖目的),并将其锁存到先入先出(队列)的键盘缓冲区,等主程序来处理。这样,主程序处理按键的同时,仍可响应键盘的输入。缓冲区深度通常可设为8级,若锁存的键数多于8个,则忽略新的按键,并报警提示用户新的按键将无效。若键盘缓冲队列停滞的时间大大长于主程序处理按键所需要的最大时间,说明主程序已出错或跑飞,可以在中断用指令将系统复位,起到了看门狗的目的。
主程序中的延时 由于有常开的时钟中断,所以当主程序中有需要时间较短、精度较高的延时时,应暂时把时钟中断关闭。而程序中需要时间较长、精度不高的延时时,便可仿照下需的写法,避免多层嵌套的循环延时。
例:在P1.1输出1秒的高电平脉冲
MOV A,INCPI
INC A
CJNE A,INCPI$ ;等待一次中断处理完成
SETB P1.1 ;设P1.1为H,脉冲开始
ADD A,#50 ;50个20mS为1秒
CJNE A,INCPI,$ ;等中断将INCPI加一50次
CLR P1.1 ;设P1.1为L,脉冲结束
结束语:从上看出,要灵活地应用时钟中断,将任务合理分配给中断和主程序,并且二者要分工明确,接口简单。这其中的技巧还需要大家在实践中多多摸索与体会。另外要注意:应尽量缩短中断处理程序的执行时间,更不要长于20mS。
单片机编程技巧-时钟中断
- 中断(40985)
相关推荐
MCS-51单片机终端及外中断软件编程
MCS-51单片机有多个中断源,以8051为例,有5个中断源,两个外中断、两个定时中断和一个串行中断,这一节我们讨论外中断软件编程。
2011-12-12 10:28:13
1927


单片机外部中断的好处
外部中断是单片机实时地处理外部事件的一种内部机制。当外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断完毕后返回被中断的程序处,继续执行下去。
2023-10-31 15:58:58
810


430单片机与时钟芯片共用晶振问题
``我设计一块电路,用到430单片机和一个实时时钟芯片,两个都要用到32768Hz晶振。我想能不能让它们共用同一个晶振?有类似的电路,这张图是51单片机编程器的电路图,上面就是两个51单片机公用一个
2014-04-10 10:54:40
51单片机中断
小弟这几天在为单片机编程,想问问各位大侠,单片机中断是怎么回事?要不要在主程序中设置标志(就像调用函数那样)?怎样设置10毫秒的中断?万分感谢各位大侠
2013-05-21 23:35:04
51单片机中断详解
单片机_中断理解51单片机中断详解(上)51单片机中断详解(中)51单片机中断详解(下)单片机 串口编程之串口通信仿真实验单片机学习(三)定时器篇
2021-11-22 06:08:14
单片机中断的作用
文章目录为了女王,咳咳,为了知识敢说中断不会吗?单片机的中断系统1.什么是中断2.中断的执行过程3.单片机中断的作用4.中断嵌套为了女王,咳咳,为了知识敢说中断不会吗?单片机的中断系统1.什么是中断
2022-02-28 07:45:49
单片机编程实验板设计
图28.1 单片机编程实验板单片机是一门实践性非常强的学科,复杂的中断系统和寄存器往往让初学者觉得晦涩难懂。如果仅仅是理论学习和纸上谈兵而不经过任何实践,套用平凡老师以前的一句话——“我劝您还是趁早
2021-12-13 08:05:35
单片机入门 (5) 中断
单片机编程过程中一定会遇到的、也是单片机控制中不可缺少的一种处理方式---“中断”。“中断”处理并非单片机控制系统所特有的现象,在我们的日常生活中“中断”的例子也随处可见。让我们来看看身边的例子吧
2018-04-03 17:28:44
单片机外部中断的基本使用方法
外部中断一、实验目的二、实验内容三、实验步骤四、C代码如下五、实验结果六、实验体会一、实验目的掌握单片机外部中断的基本使用方法了解单片机外部中断脉冲触发和电平触发的不同应用掌握外部中断处理程序的编程
2021-12-03 07:42:41
单片机必备技能——中断
单片机CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断
2019-10-18 08:00:00
单片机的中断介绍
目录一、中断的介绍1.1 单片机的中断1.2 STM32的中断1.2.1 中断地址1.2.2 中断优先级1.2.3 中断使能1.3 中断的过程二、利用STM32CubeMX生成HAL库代码,并实现
2022-01-14 08:19:06
单片机的时钟频率是怎么来的
F4系列延时:系统滴答定时器SysTick_Config(168000);延时1ms,就是进入void SysTick_Handler(void)中断的时间是1ms168MHZ是怎么来的??单片机
2021-12-06 07:20:35
单片机管理多个外部中断的方法
在proteus中绘制单片机和可编程中断控制器8259实现通过4个按键触发中断作为8259的中断源输入,来控制单片机P3.3~P3.5的状态反转,数码管计数器的值加1,直到显示数字9,重新回0计数。
2021-12-01 07:44:46
C语言—单片机编程使用的高级语言
今天主要分享单片机编程使用的高级语言C语言,单片机编程中使用C语言的优势是什么。单片机应用系统由硬件和软件组成。软件是系统监控程序的总称,也就是各种指令依某种规律组合而形成的程序,单片机应用系统
2018-10-20 16:38:57
STM32单片机外部中断配置讲解
单片机在配置外部中断时可以按照以下步骤来操作:1.初始化GPIO为输入;2.开启复用时钟,设置映射关系;3.设置触发条件;4.分配中断向量控制器,并使能;5.编写中断服务函数;05STM32外部中断相关
2017-10-12 09:20:50
STM32单片机外部中断配置讲解
单片机在配置外部中断时可以按照以下步骤来操作:1.初始化GPIO为输入;2.开启复用时钟,设置映射关系;3.设置触发条件;4.分配中断向量控制器,并使能;5.编写中断服务函数;05STM32外部中断相关
2017-10-17 09:56:29
STM32单片机外部中断配置讲解
单片机在配置外部中断时可以按照以下步骤来操作:1.初始化GPIO为输入;2.开启复用时钟,设置映射关系;3.设置触发条件;4.分配中断向量控制器,并使能;5.编写中断服务函数;05STM32外部中断相关
2018-10-25 16:40:46
关于单片机C语言编程中,中断函数对主程序的影响
具体问题的描述:倘若我使用ADC0809作为模数转换的芯片,我们知道这种AD芯片是要提供时钟信号的,倘若我通过单片机计时中断的方式提供时钟,那么在主程序执行的时候或者AD芯片转换的时候,这个提供时钟信号的中断对正在运行的程序会有什么影响?(中断程序是指 interrupt..using..)
2014-10-13 09:28:59
关于单片机C语言编程中,中断函数对主程序的影响(重新发)
具体问题的描述:倘若我使用ADC0809作为模数转换的芯片,我们知道这种AD芯片是要提供时钟信号的,倘若我通过单片机计时中断的方式提供时钟,那么在主程序执行的时候或者AD芯片转换的时候,这个提供时钟
2014-10-13 09:33:15
利用单片机中I/O与中断系统
回顾之前编程教程,第1篇是I/O篇,I/O主要说明I/O的引脚特性以及如何通过C51控制I/O的电平输入输出;第2篇是中断篇,中断篇中介绍了中断系统必要性以及如何使用单片机中的中断系统(外部中断0
2022-01-27 07:26:05
实时时钟电路MC146818A与单片机的接口及编程
实时时钟电路MC146818A与单片机的接口及编程摘要:本文在分析了实时时钟电路MC146818A的结构与性能的基础上,详细讨论了它与89C51单片机的接口,并对软件编程进行了描述。
2009-10-10 15:07:27
用单片机实现电子时钟设计方案
和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/ 计数器来实现;二是用专门的时钟芯片实现,本文主要介绍用单片机内部的定时/ 计数器来实现电子时钟的方法。[hide][/hide]
2009-12-17 11:20:48
【PADAUK】 应广PGS152单片机EEPROM芯片
第一节:PADAUK PGS152单片机EEPROM芯片概述PADAUK PGS152单片机是一款功能强大的16位单片机,具有高度的可编程性和灵活性。其中,EEPROM芯片是该
2023-11-23 21:16:37
NY8A050D单片机,AD单片机,九齐代理
这篇文章将介绍台湾九齐单片机NY8A050D 6 I/O 8-bit EPROM-Based MCU,包括其特点、应用领域、与其他单片机的比较等内容。一、九齐单片机NY8A050D 6 I/O
2023-11-27 21:54:52
单片机教程十七:单片机的中断系统
单片机教程十七:单片机的中断系统
单片机中断系统的概念:什么是中断,我们从一个生活中的例程引入。你正在家中看书,突然电话铃响了,你放
2009-05-15 23:11:39
4922


MCS-51单片机外中断软件编程
MCS-51单片机外中断软件编程
MCS-51单片机有多个中断源,以8051为例,有5个中断源,两个外中断、两个定时中断和一个串行中断,这一节我们讨论外中
2010-03-06 10:08:02
1236


单片机编程中的时钟中断
在单片机程序设计中,设置一个好的时钟中断,将能使一个CPU发挥两个CPU的功效,大大方便和简化程序的编制,提高系统的效率与可操作性。我们可以把一些例行的及需要定时执行的程
2011-06-23 11:42:24
1902

MSP430单片机中断系统
中断是MSP430单片机的一大特点,有效地利用中断可以简化程序并提高执行效率。在MSP430单片机中,几乎每个片上外设都能够产生中断,为MSP430单片机针对中断事件进行编程打下基础。MSP430
2016-07-15 15:27:00
0

51单片机定时器中断_51单片机中断系统_51单片机扩展中断的四种方法
中断是为使单片机具有对外部或内部随机发生的事件进行处理而设置的。51单片机有5种中断源,即有5种对应的情况发生时会使单片机去处理中断程序(中断函数)。
2017-12-08 10:15:26
10742


单片机的中断系统的概念控制系统和处理过程及编程及应用资料概述
本文档的主要内容详细介绍的是单片机的原理与应用单片机的中断系统详细资料介绍内容包括了:1 中断的概念2 中断控制系统3 中断处理过程4 中断的编程及应用举例
2018-10-24 11:43:43
6

如何使用单片机进行电子时钟的设计
系统采用AT89C51单片机,以汇编语言为基础,目的是设计一个可以用四位的数码显示管能够显示时、分的电子时钟,电子时钟是基于单片机的一种计时工具,单片机通过延时中断产生一定的时间中断,用秒的定义,通过计数满60秒进一,满60分进一,满24小时清零。从而达到计时的目的,是人们生活的必要工具。
2019-01-17 08:00:00
16

单片机教程之并行接口P0到P3和单片机的中断系统资料概述
本文档的详细介绍的是单片机教程之并行接口P0到P3和单片机的中断系统资料概述主要内容包括了:
1.单片机的并行接口P0~P3
PO~P3端口的功能和内部结构
PO~P3端口的编程
用并行口
2019-02-15 15:59:17
5

单片机的中断源有哪些及单片机中断的资料和程序说明
中断是为使单片机具有对外或内部随机发生的事件实时处理的能力而设置的,中断功能的存在,很大程度上提高了单片机处理外部或者内部事件的能力。
2019-09-25 17:17:00
1

51单片机有几个中断?单片机的中断号对应的中断类型说明
51单片机通常有5个中断,当中断发生时,程序会跳到相应的中断服务程序去执行。为了区别不同的中断,引入了中断号,单片机的中断号对应的中断类型如下:
2019-08-06 17:34:00
5

单片机中断与CPU的轮询有什么区别
在单片机编程过程中,经常会使用到中断。那么,什么是单片机中断,它与CPU的轮询有什么区别?在本文中,单片机开发工程师将对单片机中断和CPU轮询做个简单的介绍。
2020-06-29 11:30:34
3285

自学单片机编程之中断与时钟程序
对于单片机来说,中断是指CPU在处理某一事件A,发生了另一事件B,请求CPU迅速去处理(中断发生);CPU暂时停止当前的工作(中断响应),转去处理事件B(中断服务);待CPU将事件B处理完毕后
2020-09-18 16:17:05
2955


单片机的中断系统学习课件免费下载
本文档的主要内容详细介绍的是单片机的中断系统包括了:1 中断的概念,2 中断控制系统,3 中断处理过程,4 中断的编程及应用举例
2020-11-16 08:00:00
2

单片机:按键调节时钟
。二、主要仪器设备及耗材:(一)电脑一台;(二)单片机开发板一套。三、实验原理参照实验二数码管的电路原理图,利用数码管的显示原理以及定时器的工作原理,结合按键的应用,编程实现数码管显示时钟,并具有时钟调节功能。四、实验内容及步骤(一)实验内容利用所学的单片机定时器中断知识及电路知识,通过单片机
2021-11-11 11:06:06
76

51单片机外部中断0实例详解
今天就以51单片机的外部中断0为例,来简单讲解一下单片机中断的用法。1 51单片机的中断源51单片机共有5个中断源,分别为:外部中断0定时器0中断外部中断1定时器1中断串口中断每一个中断都对应一个中断
2021-11-11 12:51:02
19

C51单片机学习笔记(四)——单片机的中断系统及应用
C51单片机学习笔记(四)——单片机的中断系统及应用文章目录C51单片机学习笔记(四)——单片机的中断系统及应用1.单片机的中断系统2.中断需要设置的4个寄存器1.单片机的中断系统中断的概念:CPU
2021-11-14 10:21:00
17

51单片机—中断
中断中断时为使单片机具有对外部或内部随机发生的事件实时处理而设置的,51单片机内部一共有5个中断源。引起CPU中断的根源,称为 中断源,中断源向CPU提出中断请求,CPU暂时中断原来的事务A,转去
2021-11-19 09:06:03
18

51单片机(十四)—— 中断功能介绍
中断是单片机的一个重要功能,本文我们就对51单片机的中断进行介绍。 所谓“中断”,通俗一点讲,就是单片机停止正在执行的任务,转去执行其它的急需解决的任务,当这个任务完成之后,在回到原来的任务继续
2021-11-22 12:36:06
8

#51单片机#中断
中断中断,是单片机的一种运行机制。标准的51单片机有两个控制中断的寄存器。一个是中断使能寄存器,另一个是中断优先级寄存器。IE——中断使能寄存器的位分配(地址0XA8,可位寻址 )位76543210
2021-11-22 13:06:03
13

单片机:简单中断LED的设计
摘要:单片机即是单片微型计算机。要想学好单片机,就必须学习单片机的中断系统。中断是单片机的灵魂所在。中断系统虽然是硬件系统,但是它却需要相应软件的配合才能正确使用。具体到外部中断,既有硬件方面的控制,也有软件方面的编程,二者缺一不可。
2021-11-23 17:51:35
26

单片机系统设计技术——外部中断
外部中断一、实验目的二、实验内容三、实验步骤四、C代码如下五、实验结果六、实验体会一、实验目的掌握单片机外部中断的基本使用方法 了解单片机外部中断脉冲触发和电平触发的不同应用 掌握外部中断处理程序
2021-11-23 17:51:36
15

单片机之魂——定时器、中断
文章目录一、中断是什么(1)中断(2)中断优先级二、中断的使用1.外部中断2.读入数据总结一、中断是什么中断的控制是我们学习单片机所必须掌握的,可以说“如果中断都不会,那根本谈不上掌握了单片机
2021-11-24 16:21:06
1

合泰单片机时基中断和计时器中断
这里写自定义目录标题合泰单片机时基中断和计时器中断时基中断初始化写时基中断函数到这里不算完,因为合泰单片机自动初始化了看门狗,一定要注意看门狗的喂狗时间,会不会影响到time_base中断。计时器
2021-11-24 16:21:07
7

单片机用按钮中断函数
的功能,如播放音乐、启动灯光等等。本文将对单片机使用按钮中断函数做详细的阐述,包括实现过程、原理以及相关的编程技巧,以期帮助读者深入了解单片机的中断机制。 1.中断概述 中断是单片机基本的功能之一,也是实现单片机
2023-09-01 10:17:29
871

评论