您好, 登录| 注册|
论坛导航
您好, 登录| 注册|
子站:
商城:

51单片机扩展中断的四种解决方法

2017-08-29 10:51 来源:互联网 作者:Janet

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口外中断源的状态,以识别提出请求的外扩中断源,并转向中断服务程序为其服务,其查询顺序即为外部扩展中断源的中断优先级顺序。在图中,是选用PI.0~PI.7作为外扩中断源请求的状态信息输入端口。

有点类似第一种方法。

三、用定时器/计数器作外部中断

单片机的定时器/计数器是一个加一计数器,每当计数输入端有一个“1—0”的负跳变时,计数器加一,当加一计数器溢出时,就向CPU发出中断,利用这个特性来扩展中断的方法是:首先把定时器/计数器设置成计数方式,并预置满值,把外部中断源输入到P3口第4引脚或第5引脚(计数器输入端),这样就可以利用定时器/计数器作为单片机外部中断了。注意这种方法的中断服务的入口地址应在000BH或001BH。

四、用专用中断扩展芯片8259A

8259A是可编程中断控制接口,单片机控制八级中断。在系统中还可采用级联方式,一个主片可级联8个从片,构成64级中断处理系统。

这样在程序小于8K的情况,就可以用一片单片机实现了,而不需要用两片单片机控制,还要进行单片机点对点通讯。

声明:本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原网站所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱:editor@netbroad.com。

用于 RF/模拟电路的超低噪声、300mA 线性稳压器 80V 宽输入电压降压开关稳压器
申请条件:企业邮箱注册 申请条件:企业邮箱注册
隔离式电流分流和电压测量参考设计 1至4节串联锂离子电池组管理器
三相刷式和步进电机控制解决方案 12位1MSPS双通道数据采集系统设计
集成传感器的2.5A BLDC电机控制器设计 用于确定绝缘电阻的泄漏电流测量设计
热门职位平均薪酬职位数
电源研发工程师9910665查看
电子工程师10000431查看
测试工程师8000336查看
嵌入式开发15000646查看
技术专题 更多>>
TE Connectivity&赫联 我们就在您身边
带你走进国内权威CNAS&ILAC认证实验室
电源网牵头联合芯派实验室和是德科技联手为电源网网友提供的福利活动—即“免费带你走进国内最权威的CNAS&ILAC认证实验室—西安功率器件测试应用中心”活动圆满举办成功。

头条推荐

2017年电源网工程师巡回培训会-上海站会后报道
2017年电源网工程师巡回培训会-上海站于9月16日召开,会议共计6个议题有近230的工程师到场参与,陶显芳陶老师分享了关于"EMI传导干扰滤波电路的设计“议题,将现场工程师交流推向了高潮!
2017慕尼黑上海电子展
关注我们
新浪微博
官方Q群
客服热线
服务时间:周一至周五9:00-18:00
微信关注
免费技术研讨会
获取一手干货分享