新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機驅(qū)動8*8LED點陣c程序

        單片機驅(qū)動8*8LED點陣c程序

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

        typedef unsigned char uint8;
        typedef unsigned int uint16;

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

        sbit acon=P1^0; //38譯碼器
        sbit bcon=P1^1;
        sbit ccon=P1^2;
        sbit en=P1^7; //譯碼器使能

        uint8 j=0,k=0;
        uint16 i=0;

        code uint8 ledcode[]={ 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //
        0xFF,0xC3,0xE7,0xE7,0xE7,0xE7,0xC3,0xFF, // I
        0xFF,0x99,0x66,0x7E,0xBD,0xDB,0xE7,0xFF, // 心
        0xFF,0x99,0x99,0x99,0x99,0x99,0xC3,0xFF, // U
        0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; // 哄老婆用

        void timer1_init()
        {
        TMOD|=0x10;
        TMOD&=0xef;
        TH1=0xfc; //1ms
        TL1=0x66;
        TR1=1; //定時器1開啟
        }

        void inter_init()
        {
        ET1=1; //定時器1中斷開啟
        EA=1; //總中斷開啟
        }


        void frush()
        {
        switch(j)
        {
        case 0:acon=0;bcon=0;ccon=0;break; //掃描LED點陣
        case 1:acon=1;bcon=0;ccon=0;break;
        case 2:acon=0;bcon=1;ccon=0;break;
        case 3:acon=1;bcon=1;ccon=0;break;
        case 4:acon=0;bcon=0;ccon=1;break;
        case 5:acon=1;bcon=0;ccon=1;break;
        case 6:acon=0;bcon=1;ccon=1;break;
        case 7:acon=1;bcon=1;ccon=1;break;
        }
        P2=ledcode[k+j]; //逐行輸出
        if(j==7)j=0;
        j++;
        }

        main()
        {
        en=1;
        P2=0xff;
        timer1_init();
        inter_init();
        while(1);
        }

        void timer1_interrupt() interrupt 3
        {
        TH1=0xfc;
        TL1=0x66;
        i++;
        frush();
        if(i==500)
        {
        i=0;
        if(k==32)k=0;
        k++;
        }
        }


        仿真圖:



        關(guān)鍵詞: 單片機驅(qū)動LED點

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 平定县| 页游| 永年县| 南充市| 济宁市| 慈利县| 阿拉善左旗| 武宣县| 阳东县| 灵川县| 洪江市| 夹江县| 台前县| 黄梅县| 苍山县| 玉山县| 兰溪市| 包头市| 桃园县| 永德县| 应城市| 达拉特旗| 潞城市| 吉木萨尔县| 营口市| 云南省| 双鸭山市| 信丰县| 炉霍县| 金湖县| 柳江县| 鞍山市| 枣阳市| 阿勒泰市| 盐城市| 泰和县| 正阳县| 理塘县| 册亨县| 博乐市| 格尔木市|