新聞中心

        AVR Int0中斷的c語言編程

        作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
        #include

        #define uchar unsigned char
        #define uint unsigned int

        本文引用地址:http://www.104case.com/article/201611/316777.htm


        uchar Table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
        uchar Data[4]={0,7,2,8};
        uchar Data1[4]={1,1,1,1};
        void DelayMs(uint i) //0.25ms
        {uchar j;
        for(;i!=0;i--)
        {for(j=250;j!=0;j--) {;}}
        }

        void Display(uchar *p) //間隔5ms顯示
        {uchar i,sel=0x01;
        for(i=0;i<4;i++)
        {PORTA=sel;
        PORTC=0xff-Table[p[i]];
        DelayMs(20);
        sel=sel<<1;
        }
        }

        void main(void)
        {uint i;
        DDRA=0xff; //設(shè)置A口為不帶上拉輸入;
        PORTA=0xff;
        DDRC=0xff; //設(shè)置C口為推挽1輸出;
        PORTC=0xff;
        DDRD=0xff; //設(shè)置D口為上拉輸入
        PORTD=0xff;
        PORTA=0xff;
        PORTC=0x00;
        DelayMs(10000);
        MCUCR=0x00;//下降沿
        GIMSK=0x40;//int0
        GIFR=0xff;
        SREG=SREG|0x80;
        while(1){Display(Data1);}
        /*{if((GIFR&0x40)==0x40) {GIFR=0xff;Display(Data);}
        else
        }*/
        }
        #pragma interrupt_handler int0:2
        void int0(void)
        {Display(Data);}



        關(guān)鍵詞: AVRInt0中斷c語

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 涪陵区| 平邑县| 巴塘县| 龙南县| 自贡市| 绥棱县| 西宁市| 胶州市| 沅江市| 兰溪市| 甘泉县| 礼泉县| 江川县| 阿坝| 宽城| 施秉县| 视频| 河北省| 托克逊县| 凤城市| 突泉县| 涞水县| 科技| 文昌市| 五河县| 四平市| 汉中市| 芜湖县| 修文县| 瑞昌市| 申扎县| 泰顺县| 噶尔县| 凌源市| 石棉县| 澎湖县| 友谊县| 万源市| 泸定县| 堆龙德庆县| 稻城县|