四种简略的拓宽51单片机中断的妙招!
2016-05-03 21:28
218 查看
四种简略的拓宽51单片机中断的妙招!
cuptree 2016-04-27 09:44:19
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;开接连
}
二、用一般二极管构成接连选择
四种拓宽51单片机接连的办法
拓宽的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的情况,就可以用一片单片机完成了,而不需要用两片单片机控制,还要进行单片机点对点通讯。
cuptree 2016-04-27 09:44:19
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;开接连
}
二、用一般二极管构成接连选择
四种拓宽51单片机接连的办法
拓宽的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的情况,就可以用一片单片机完成了,而不需要用两片单片机控制,还要进行单片机点对点通讯。
相关文章推荐
- Ubuntu 12.04.1 mysql从5.5升级到5.6
- python 爬虫实战--登陆学校教务系统获取成绩信息
- 《Effective java》读书笔记-(三)
- 基础知识(十三)dlib python人脸检测
- 基于bootstrap的网页开发之图片轮播
- 237. Delete Node in a Linked List
- Nagle算法
- HibernateTemplate HibernateCallback()使用说明
- 打印乘法口诀表
- Responder Chain简析
- ubuntu双系统安装的一些问题
- WebView加载带中文的网页
- 三角形打印练习
- PHP、JavaScript、HTML三者的比较
- refresh的停车场
- 【代码】Datatable转泛型
- 第3周项目4--谁是小偷
- 92. Reverse Linked List II
- php面试总结
- 华为2016校招机试题(2015年9月) 海大上午场(包含实现代码,运行环境为VS2010)