在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 8X8 LED點(diǎn)陣顯示技術(shù)

            8X8 LED點(diǎn)陣顯示技術(shù)

            作者: 時間:2011-02-27 來源:網(wǎng)絡(luò) 收藏

            1. 實(shí)驗(yàn)任務(wù)

            8X8LED點(diǎn)陣上顯示柱形,讓其先從左到右平滑移動三次,其次從右到左平滑移動三次,再次從上到下平滑移動三次,最后從下到上平滑移動三次,如此循環(huán)下去。

            2. 電路原理圖

            4.24.1

            3. 硬件電路連線

            (1). 把“系統(tǒng)”區(qū)域中的P1端口用8芯排芯連接到“點(diǎn)陣模塊”區(qū)域中的“DR1DR8”端口上;

            (2). 把“系統(tǒng)”區(qū)域中的P3端口用8芯排芯連接到“點(diǎn)陣模塊”區(qū)域中的“DC1DC8”端口上;

            4. 程序設(shè)計內(nèi)容

            (1). 8X8 點(diǎn)陣LED工作原理說明

            8X8點(diǎn)陣LED結(jié)構(gòu)如下圖所示

            從圖4.24.2中可以看出,8X8點(diǎn)陣共需要64個發(fā)光二極管組成,且每個發(fā)光二極管是放置在行線和列線的交叉點(diǎn)上,當(dāng)對應(yīng)的某一列置1電平,某一行置0電平,則相應(yīng)的二極管就亮;因此要實(shí)現(xiàn)一根柱形的亮法,如圖49所示,對應(yīng)的一列為一根豎柱,或者對應(yīng)的一行為一根橫柱,因此實(shí)現(xiàn)柱的亮的方法如下所述:

            一根豎柱:對應(yīng)的列置1,而行則采用掃描的方法來實(shí)現(xiàn)。

            一根橫柱:對應(yīng)的行置0,而列則采用掃描的方法來實(shí)現(xiàn)。

            5. 匯編源程序

            ORG 00H

            START: NOP

            MOV R3,#3

            LOP2: MOV R4,#8

            MOV R2,#0

            LOP1: MOV P1,#0FFH

            MOV DPTR,#TABA

            MOV A,R2

            MOVC A,@A+DPTR

            MOV P3,A

            INC R2

            LCALL DELAY

            DJNZ R4,LOP1

            DJNZ R3,LOP2

            MOV R3,#3

            LOP4: MOV R4,#8

            MOV R2,#7

            LOP3: MOV P1,#0FFH

            MOV DPTR,#TABA

            MOV A,R2

            MOVC A,@A+DPTR

            MOV P3,A

            DEC R2

            LCALL DELAY

            DJNZ R4,LOP3

            DJNZ R3,LOP4

            MOV R3,#3

            LOP6: MOV R4,#8

            MOV R2,#0

            LOP5: MOV P3,#00H

            MOV DPTR,#TABB

            MOV A,R2

            MOVC A,@A+DPTR

            MOV P1,A

            INC R2

            LCALL DELAY

            DJNZ R4,LOP5

            DJNZ R3,LOP6

            MOV R3,#3

            LOP8: MOV R4,#8

            MOV R2,#7

            LOP7: MOV P3,#00H

            MOV DPTR,#TABB

            MOV A,R2

            MOVC A,@A+DPTR

            MOV P1,A

            DEC R2

            LCALL DELAY

            DJNZ R4,LOP7

            DJNZ R3,LOP8

            LJMP START

            DELAY: MOV R5,#10

            D2: MOV R6,#20

            D1: MOV R7,#248

            DJNZ R7,$

            DJNZ R6,D1

            DJNZ R5,D2

            RET

            TABA: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH

            TABB: DB 01H,02H,04H,08H,10H,20H,40H,80H

            END

            6. C語言源程序

            #include AT89X52.H>

            unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

            unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

            void delay(void)

            {

            unsigned char i,j;

            for(i=10;i>0;i--)

            for(j=248;j>0;j--);

            }

            void delay1(void)

            {

            unsigned char i,j,k;

            for(k=10;k>0;k--)

            for(i=20;i>0;i--)

            for(j=248;j>0;j--);

            }

            void main(void)

            {

            unsigned char i,j;

            while(1)

            {

            for(j=0;j3;j++) //from left to right 3 time

            {

            for(i=0;i8;i++)

            {

            P3=taba[i];

            P1=0xff;

            delay1();

            }

            }

            for(j=0;j3;j++) //from right to left 3 time

            {

            for(i=0;i8;i++)

            {

            P3=taba[7-i];

            P1=0xff;

            delay1();

            }

            }

            for(j=0;j3;j++) //from top to bottom 3 time

            {

            for(i=0;i8;i++)

            {

            P3=0x00;

            P1=tabb[7-i];

            delay1();

            }

            }

            for(j=0;j3;j++) //from bottom to top 3 time

            {

            for(i=0;i8;i++)

            {

            P3=0x00;

            P1=tabb[i];

            delay1();

            }

            }

            }

            }



            評論


            相關(guān)推薦

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

            關(guān)閉