物联网自用mark-中断实验

1.

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar seg[]={0xff,0xf7,0xf3,0xf1,0x01,0x3f,0x7f,0xff};
void delay(uint i){
    uint j;
    while(i--){
        j=255;
        while(--j);
    }
}
void main(){
    EA=1;
    EX0=1;
    EX1=1;
    while(1){
        uint a=0;
        for(a;a<8;a++){
            P2=seg[a];
            delay(255);
        } 
    }
}
void int0() interrupt 0 using 1{
    while(1){
        P2=0x0f;
        delay(400);
    }    
}
void int2() interrupt 2 using 2{
    uchar m;
    for(m=0;m<5;m++){
        P2=0;delay(500);
        P2=0xff;
        delay(500);
    }    
}

2.

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar seg[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(uint i){
    uint j;
    while(i--){
        j=255;
        while(--j);
    }
}
void main(){
    EA=1;
    EX0=1;
    EX1=1;
    ET0=1;
    ET1=1;
    while(1){
        uint a=0;
        for(a;a<8;++a){
            P2=~seg[a];
            delay(100);
        } 
    }
}
void int0() interrupt 0 using 1{
    while(1){
        P2=0xf0;
        delay(100);
        P2=0x0f;
        delay(100);
    }    
}
void int1() interrupt 2 using 2{
    uchar times=5;
    while(times--){
        P2=0x00;
        delay(100);
        P2=0xff;
        delay(100);
    }    
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值