在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            ATMEGA8計(jì)數(shù)器

            作者: 時(shí)間:2016-11-18 來(lái)源:網(wǎng)絡(luò) 收藏
            //可測(cè)1MHZ的頻率

            #include
            #include
            #define uchar unsigned char
            #define uint unsigned int
            /***********對(duì)應(yīng)的幾個(gè)數(shù)碼管顯示*****************/
            const uchar table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
            unsigned long load=0;
            uchar data[4]={0,0,0,0};//
            uint cnt=0;//定時(shí)中的中斷次數(shù)
            uchar temp=0;//超過(guò)65536時(shí)這個(gè)數(shù)需要
            //
            void display(uchar *p)
            {
            uchar i,j,sel=0x01;
            for(j=0;j<2;j++)
            for(i=0;i<4;i++)
            {PORTB=~table[p[i]];
            PORTC=sel;
            Delay_us(2000);
            sel=sel<<1;
            }
            }
            void process(unsigned long t,uchar *p)//數(shù)據(jù)處理
            {unsigned long i=t;
            if(i<=9999)
            PORTD=PORTD|0X03;
            else if((i<=99999)&&(i>9999))
            {
            i=i/100;
            PORTD=PORTD&0XFE;
            PORTD=PORTD|0X02;
            }
            else if(i>99999)
            {
            PORTD=PORTD|0X01;
            PORTD=PORTD&0XFD;
            i=i/1000;
            }
            p[3]=i/1000;
            i=i%1000;
            p[2]=i/100;
            i=i%100;
            p[1]=i/10;
            i=i%10;
            p[0]=i;
            }
            void int_io(void)
            {DDRB=DDRC=0XFF;
            DDRD=0XDF;
            PORTC=PORTB=0XFF;
            PORTD=0XFF;
            SREG=0X80;//全局使能
            TCCR1B=0X06;//計(jì)數(shù)方式:T1下降沿
            TCNT1H=0X00;//計(jì)數(shù)器賦初值
            TCNT1L=0X00;
            }
            void main(void )
            {
            int_io();
            PORTB=0X00;
            PORTC=0XFF;
            Delay_ms(500);
            PORTB=0XFF;
            /****************************/
            TCNT0=0X06;//定時(shí)計(jì)數(shù)初使值為6
            TCCR0=0X04;//T/C0工作在定時(shí)方式,系統(tǒng)時(shí)鐘256分頻
            TIMSK=0X01;//定時(shí)局部使能T/C0
            while(1)
            {
            process(load,data);
            display(data);
            if(TIFR&0X04)//用標(biāo)志位來(lái)進(jìn)行 >65536時(shí)的事件
            { // if(TIFR&0X20)
            temp++;
            TIFR=TIFR&0X04;
            }
            }
            }
            /************************/
            ///////////////以下是T0的定時(shí)中斷
            #pragma interrupt_handler time0:10
            void time0(void)
            {
            uint tep=0;//讀取高字TCNT1L的值
            cnt++;
            if(125==cnt)//125*256us,且此處用于調(diào)節(jié)精度;
            {
            cnt=0;//
            /********以下為讀取計(jì)數(shù)器的值***********/
            load=0;
            load=TCNT1L;//讀取計(jì)數(shù)器低位的值
            tep=TCNT1H*256;//讀取計(jì)數(shù)器高位的值并處理
            load=tep+load;//高位加低位
            load=load+65536*temp;//處理完的數(shù)
            /***********************/
            TCNT1H=0X00;//重新賦初值
            TCNT1L=0X00;
            temp=0;
            }
            }
            //TO用于定時(shí),

            本文引用地址:http://www.biyoush.com/article/201611/315786.htm


            關(guān)鍵詞: ATMEGA8計(jì)數(shù)

            評(píng)論


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

            關(guān)閉