找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5700|回复: 4
打印 上一主题 下一主题
收起左侧

51单片机知识点之中断嵌套编程的应用(Proteus仿真+程序)

[复制链接]
跳转到指定楼层
楼主

以上是部份代码,完全代码与仿真电路图在附件中
该代码实现了当前正执行的工作 ,同时两次被打断去执行两种不同的任务,并且实现了高优先级允许级别不被低优先级中断打断和理念

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机程序源码:
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit k1=P3^2;
sbit k2=P3^3;
void delay(uint z);
void liushui();
main()
{         
        EA=1;//开总中断
        EX0=1;//开外部中断0
        EX1=1;//开外部中断1
        IT0=1;//跳沿触发
        IT1=1;//跳沿触发
}
void delay(uint z)//延时函数
{
    int x,y;
        for(x=z;x>0;x--)         
                for(y=110;y>0;y--);
               
}
void liushui()//流水灯函数
{  
        uchar t;
        t=0xfe;
        P0=t;
        while(1)         
        {
                t=_crol_(t,1);//循环左移一位
                delay(600);
                P0=t;
        }
}

void ZOD0() interrupt 0//外部中断0   
{  
        
        
        P0=0xf0;
        delay(600);
        P0=0x0f;
        delay(600);
}

全部资料51hei下载地址:
51单片机知识点之中断嵌套的应用.zip (15.7 KB, 下载次数: 66)


评分

参与人数 3黑币 +68 收起 理由
yoxi + 8 很给力!
Sawardeakar + 10 好例子
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:471066 发表于 2019-2-7 15:10 | 只看该作者
好,案例很好

评分

参与人数 3黑币 +67 收起 理由
站着说话不腰疼 + 12
刀刀见红 + 35
yoxi + 20

查看全部评分

回复

使用道具 举报

板凳
ID:469417 发表于 2019-2-7 21:38 | 只看该作者
好!学中断极好的案例
回复

使用道具 举报

地板
ID:442220 发表于 2019-3-22 19:49 | 只看该作者
学习了
回复

使用道具 举报

5#
ID:460243 发表于 2019-4-3 21:03 | 只看该作者
学习了,很好的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表