新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AVR單片機-數(shù)碼管1

        AVR單片機-數(shù)碼管1

        作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
        八段數(shù)碼管由八段LED構(gòu)成 ,Ø各LED陰極或陽極并在一起,稱為“位選線”:共陰、共陽 。

        其余8個引腳各自引出,稱為“段選線”,各段可以分別控制 。

        使用LED數(shù)碼管時,要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對數(shù)字或字符進(jìn)行編碼。七段數(shù)碼管加上一個小數(shù)點,共計8段。因此為LED顯示器提供的編碼正好是一個字節(jié)。




        共陽極數(shù)碼管譯碼表:

        0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d ,
        0   1 2   3 4 5

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

        0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c ,
        6 7 8 9 A B

        0x39 , 0x5e , 0x79 , 0x71 , 0x00
        C D E F 無顯示

        共陰極的譯碼表只需對共陽極的譯碼表取反就可以得到。

        本程序的實驗原理圖:





        源程序:

        /*
        * 數(shù)碼管.c
        *
        * Created: 2011-6-24 17:24:05
        * Author: ZYIN
        */
        #include <avr/io.h>
        unsigned char led0[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};

        void delay(void)//延時函數(shù)
        {
        long int j;
        j=200000;
        while(j--);
        }
        int main(void)
        {
        DDRF=0xff;//設(shè)置PF口為輸出
        PORTF=0b00000110;//設(shè)置74hc573鎖存器
        DDRC=0xff;
        DDRA=0xff;
        PORTA=0xff;
        while(1)
        {
        int i;
        for(i=0;i<16;i++)
        {
        PORTC=~(led0[i]+0x80);//循環(huán)顯示,加0x80意思是把小數(shù)點點亮
        delay();//延時一下

        }
        }
        }

        效果圖:AVR studio 5編譯結(jié)果



        關(guān)鍵詞: AVR單片機數(shù)碼

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 小金县| 将乐县| 顺昌县| 湖南省| 洱源县| 区。| 闽清县| 搜索| 洪泽县| 罗甸县| 石泉县| 柞水县| 大同县| 石林| 科技| 龙胜| 报价| 和政县| 镇远县| 徐闻县| 禄丰县| 分宜县| 庆阳市| 平度市| 洮南市| 马边| 定边县| 湖南省| 永登县| 尤溪县| 武胜县| 新安县| 合阳县| 四子王旗| 永登县| 棋牌| 霍林郭勒市| 同仁县| 启东市| 洛宁县| 遂平县|