新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR128的程序——獨立按鍵控制數碼管0~99遞增

        AVR128的程序——獨立按鍵控制數碼管0~99遞增

        作者: 時間:2016-11-22 來源:網絡 收藏
        #include
        #define uchar unsigned char
        #define uint unsigned int
        void Delayus(uint US);
        void Delayms(uint MS);
        void display(uchar FirstBit,uchar Num);
        uchar TempData[8];
        uchar WeiMa[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
        uchar led_discode[11]={0xc0,0xf9,0xa4,0xb0,0x99,
        0x92,0x82,0xf8,0x80,0x90,0xff};
        void main(void)
        {
        uint temp=0;
        DDRA=0XFF;
        PORTA=0XFF;
        DDRC=0XFF;
        PORTC=0XFF;
        DDRF|=0X0E;
        PORTF|=0X0E;
        PORTF&=0xF7;
        DDRB |=0X10;
        PORTB|=0X10;
        DDRD = 0x00;
        PORTD = 0XFF;
        TempData[0] = led_discode[0];
        TempData[1] = led_discode[0];
        while(1)
        {
        if((PIND&0x01)!=0X01);
        Delayms(5);
        if((PIND&0x01)!=0X01)
        {
        temp++;
        TempData[1] = led_discode[temp];
        TempData[0] = led_discode[temp/10];
        while((PIND&0X01)!=0X01);
        }
        display(0,2);
        }
        }
        void display(uchar FirstBit,uchar Num)
        {
        unsigned char i;
        for(i=0;i
        {
        PORTC=led_discode[10];
        PORTA=WeiMa[i+FirstBit];
        PORTC=TempData[i];
        Delayms(5);
        }
        }
        void Delayms(uint MS)
        {
        uint i,j;
        for( i=0;i
        for(j=0;j<1141;j++);
        }
        void Delayus(uint US)
        {
        uint i;
        US=US*5/4;
        for( i=0;i
        }


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 天峻县| 庄河市| 饶平县| 南阳市| 湘乡市| 昌邑市| 云南省| 宿州市| 阆中市| 稻城县| 龙陵县| 延长县| 吉隆县| 普兰县| 无锡市| 陈巴尔虎旗| 阳谷县| 泰兴市| 上栗县| 昌平区| 湘西| 平顶山市| 马关县| 望江县| 灵寿县| 清远市| 静乐县| 孟州市| 永安市| 四会市| 奉贤区| 福贡县| 延寿县| 长沙县| 沾益县| 雅安市| 施甸县| 买车| 武汉市| 望城县| 增城市|