亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

PORTD

  • AVR單片機(jī)轉(zhuǎn)速表

    /****************************************************************                  外部晶振8M                  PA0~3:四位數(shù)碼管的位選                  PB0~7:數(shù)碼管的8位段選                  外部中斷0用于計數(shù)                  定時器0溢出中斷的定時為1ms                  說明 :檢測到水流較小時,繼電器延時1秒關(guān)閉  ******************************************************************/                #include<iom16v.h>   #include<macros.h>   #define uchar unsigned char   #define uint unsigned int       char led_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};  //數(shù)碼管段選        char position[4]={0xfe,0xfd,0xfb,0xf7};//數(shù)碼管位選        uint sumnum=0;  //用于記錄1000ms內(nèi)進(jìn)入中斷的次數(shù)        uint time=0;   //記錄進(jìn)入比較定時器0的次數(shù)        uint num=0;     //記錄1ms內(nèi)進(jìn)入中斷的次數(shù)        uint count=0;   //進(jìn)入外部中斷0的次數(shù)        uchar flag;        uint sumnum1;   //記錄100ms內(nèi)的數(shù)目       /***************************函數(shù)聲明***************************/        void delay();        void display(uint m );        void init();        void init_0();        void init_2();    void _delay_us(uint l)   {        unsigned int i;        for(i=0;i<l;i++)        {        asm("nop");        }   }           /**************************主函數(shù)***********************************/       void main()   {        init();        init_0();        init_2();        while(sumnum<5)        {           PORTD=0XBF;           segdisplay(sumnum1);        }       while(1)       {           segdisplay(sumnum1);       }           }        /*************************掃描數(shù)碼管時的延時函數(shù)*********************/        void delay()    {         uchar i,j;         for(i=6;i>0;i--)         for(j=225;j>0;j--);    }        /************************數(shù)碼管顯示函數(shù)*****************************/       void segdisplay( int temp)        {         int seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};         int temp1,temp2,temp3,temp4;         temp1=temp/1000;         temp2=(temp/100)%10;         temp3=(temp/10)%10;         temp4=temp%10;         DDRB=0xff;         DDRA|=0x0f;           PORTA=~BIT(3);           PORTB=seg[temp1];           _delay_us(100);           PORTA=~BIT(2);           PORTB=seg[temp2];           _delay_us(100);           PORTA=~BIT(1);           PORTB=seg[temp3];           _delay_us(100);           PORTA=~BIT(0);           PORTB=seg[temp4];           _delay_us(100);       }        /***********************管腳初始化函數(shù)*********************/        void init()    {                      DDRD|=0X40;   //PD4 設(shè)置為輸出             PORTD=0XBF;                DDRA=0XFF;             DDRB=0XFF;             PORTA=0XFF;             PORTB=0XFF;    }        /***********************外部中斷0初始化*********************/        void init_0()    {         MCUCR=0X02;   //INT0為下降沿觸發(fā)         GICR=0X40;   //使能INT0中斷         SREG=0X80;  //使能總中斷    }        /**********************定時器2初始化***********************/        void init_2()    {         TCCR0=0x03;   // 內(nèi)部時鐘,64 分頻(8M/64=125KHz)          TCNT0=0x83;   //裝初值           TIMSK=0x01;   // 允許 T/C0溢出中斷中斷      }          /***********************外部中斷0子函數(shù)********************/        #pragma interrupt_handler int0_isr:2        void int0_isr(void)        {             count++;        }        /*********************定時計數(shù)器0溢出中斷子函數(shù)*****************/       #pragma interrupt_handler int0_over:10        void int0_over(void)       {           TCNT0=0x83;   //重裝初值            if((time%100) == 0)               sumnum1 = num;           if(time == 1000)           {               sumnum=num;               if(sumnum<10)               {                                      if((flag==1)&&(sumnum<10))                   {                       PORTD=0XFF;                       flag=0;                   }                                      flag++;               }               else                       PORTD=0XBF;               num=0;               time=0;           }           num+=count;           count=0;           ++time;        } 

    標(biāo)簽: C語言

    上傳時間: 2016-03-09

    上傳用戶:彥 yan

主站蜘蛛池模板: 涞源县| 新乡县| 同心县| 东乌珠穆沁旗| 盖州市| 唐河县| 安国市| 澄迈县| 新巴尔虎右旗| 襄垣县| 日土县| 芷江| 上饶县| 梅河口市| 金沙县| 彰化县| 陆河县| 吴江市| 锡林浩特市| 玉田县| 扎囊县| 汾西县| 内乡县| 石渠县| 桑日县| 晋江市| 山东省| 金山区| 屯留县| 三穗县| 页游| 楚雄市| 施秉县| 阿拉善右旗| 镇平县| 榆中县| 平定县| 汶上县| 临安市| 张家界市| 深泽县|