四种简略的拓宽51单片机中断的妙招!

2024-03-23 11:48

本文主要是介绍四种简略的拓宽51单片机中断的妙招!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       MCS-51系列单片机内部只需两个外部接连源输入端,当外部接连源多于两个时,就必须进行拓宽,下面介绍几种简略的拓宽办法:

一、选用硬件央求和软件查询的办法:

      这种办法是:把各个接连源通过硬件“或非(高有用,如CD4002)”(与,低有用)门引进到单片机外部接连源输入端(INT0或INT1),一同再把外部接连源送到单片机的某个输入输出端口,这么当外部接连时,通过“或非”(与)门致使单片机接连,在接连效能程序中再通过软件查询,进而转相应的接连效能程序。
      明显,这种办法的接连优先级取决于软件查询的次第。其硬件衔接和软件编程如下:

  void zhongduan (void) interrupt 0 using 3 //接连函数{EX0=0;//关接连If(P0_0=1) { *****}//接连查询If(P0_1=1) { *****}//接连查询If(P0_2=1) { *****}//接连查询EX0=1;开接连}

二、用一般二极管构成接连选择

      拓宽的8个外部接连源均通过二极管向I N T(x=0或I)央求接连。当某个外部接连源央求接连效能时输出低电平,单片机的I NT 经二极管接地电平,单片机满意照料外部接连(I N T)央求条件,照料接连,程序当即转向I NT 对应的接连进口地址处初步施行接连效能程序,通过软件查询PI.0~P1.7口外接连源的情况,以辨认提出央求的外扩接连源,并转向接连效能程序为其效能,其查询次第即为外部拓宽接连源的接连优先级次第。有点类似第一种办法。

三、用定时器/计数器作外部接连

      单片机的定时器/计数器是一个加一计数器,每当计数输入端有一个“1—0”的负跳变时,计数器加一,当加一计数器溢出时,就向CPU宣告接连,运用这个特性来拓宽接连的办法是:首先把定时器/计数器设置成计数办法,并预置满值,把外部接连源输入到P3口第4引脚或第5引脚(计数器输入端),这么就可以运用定时器/计数器作为单片机外部接连了。留神这种办法的接连效能的进口地址应在000BH或001BH。

四、用专用接连拓宽芯片8259A

      8259A是可编程接连控制接口,单片机控制八级接连。在系统中还可选用级联办法,一个主片可级联8个从片,构成64级接连处理系统。这么在程序小于8K的情况,就可以用一片单片机完成了,而不需要用两片单片机控制,还要进行单片机点对点通讯。
 

这篇关于四种简略的拓宽51单片机中断的妙招!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/838231

相关文章

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

Java实现MD5加密的四种方式

《Java实现MD5加密的四种方式》MD5是一种广泛使用的哈希算法,其输出结果是一个128位的二进制数,通常以32位十六进制数的形式表示,MD5的底层实现涉及多个复杂的步骤和算法,本文给大家介绍了Ja... 目录MD5介绍Java 中实现 MD5 加密方式方法一:使用 MessageDigest方法二:使用

Java捕获ThreadPoolExecutor内部线程异常的四种方法

《Java捕获ThreadPoolExecutor内部线程异常的四种方法》这篇文章主要为大家详细介绍了Java捕获ThreadPoolExecutor内部线程异常的四种方法,文中的示例代码讲解详细,感... 目录方案 1方案 2方案 3方案 4结论方案 1使用 execute + try-catch 记录

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python实现阶乘的四种写法

《Python实现阶乘的四种写法》本文主要介绍了Python实现阶乘的六种写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录第一种:推导式+循环遍历列表内每个元素相乘第二种:调用functools模块reduce的php累计

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也