新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 24. 8X8 LED點陣顯示技術

        24. 8X8 LED點陣顯示技術

        作者: 時間:2016-11-18 來源:網絡 收藏
        1.實驗任務
        8X8LED點陣上顯示柱形,讓其先從左到右平滑移動三次,其次從右到左平滑移動三次,再次從上到下平滑移動三次,最后從下到上平滑移動三次,如此循環下去。
        2.電路原理

        圖4.24.1
        3.硬件電路連線
        (1).把“單片機系統”區域中的P1端口用8芯排芯連接到“點陣模塊”區域中的“DR1-DR8”端口上;
        (2).把“單片機系統”區域中的P3端口用8芯排芯連接到“點陣模塊”區域中的“DC1-DC8”端口上;
        4.程序設計內容
        (1).8X8點陣LED工作原理說明
        8X8點陣LED結構如下圖所示

        從圖4.24.2中可以看出,8X8點陣共需要64個發光二極管組成,且每個發光二極管是放置在行線和列線的交叉點上,當對應的某一列置1電平,某一行置0電平,則相應的二極管就亮;因此要實現一根柱形的亮法,如圖49所示,對應的一列為一根豎柱,或者對應的一行為一根橫柱,因此實現柱的亮的方法如下所述:
        一根豎柱:對應的列置1,而行則采用掃描的方法來實現。
        一根橫柱:對應的行置0,而列則采用掃描的方法來實現。
        5.匯編源程序
        ORG00H
        START:NOP
        MOVR3,#3
        LOP2:MOVR4,#8
        MOVR2,#0
        LOP1:MOVP1,#0FFH
        MOVDPTR,#TABA
        MOVA,R2
        MOVCA,@A+DPTR
        MOVP3,A
        INCR2
        LCALLDELAY
        DJNZR4,LOP1
        DJNZR3,LOP2
        MOVR3,#3
        LOP4:MOVR4,#8
        MOVR2,#7
        LOP3:MOVP1,#0FFH
        MOVDPTR,#TABA
        MOVA,R2
        MOVCA,@A+DPTR
        MOVP3,A
        DECR2
        LCALLDELAY
        DJNZR4,LOP3
        DJNZR3,LOP4

        MOVR3,#3
        LOP6:MOVR4,#8
        MOVR2,#0
        LOP5:MOVP3,#00H
        MOVDPTR,#TABB
        MOVA,R2
        MOVCA,@A+DPTR
        MOVP1,A
        INCR2
        LCALLDELAY
        DJNZR4,LOP5
        DJNZR3,LOP6
        MOVR3,#3
        LOP8:MOVR4,#8
        MOVR2,#7
        LOP7:MOVP3,#00H
        MOVDPTR,#TABB
        MOVA,R2
        MOVCA,@A+DPTR
        MOVP1,A
        DECR2
        LCALLDELAY
        DJNZR4,LOP7
        DJNZR3,LOP8
        LJMPSTART
        DELAY:MOVR5,#10
        D2:MOVR6,#20
        D1:MOVR7,#248
        DJNZR7,$
        DJNZR6,D1
        DJNZR5,D2
        RET
        TABA:DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
        TABB:DB01H,02H,04H,08H,10H,20H,40H,80H
        END
        6.C語言源程序
        #include
        unsignedcharcodetaba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
        unsignedcharcodetabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
        voiddelay(void)
        {
        unsignedchari,j;
        for(i=10;i>0;i--)
        for(j=248;j>0;j--);
        }
        voiddelay1(void)
        {
        unsignedchari,j,k;
        for(k=10;k>0;k--)
        for(i=20;i>0;i--)
        for(j=248;j>0;j--);
        }
        voidmain(void)
        {
        unsignedchari,j;
        while(1)
        {
        for(j=0;j<3;j++)//fromlefttoright3time
        {
        for(i=0;i<8;i++)
        {
        P3=taba;
        P1=0xff;
        delay1();
        }
        }
        for(j=0;j<3;j++)//fromrighttoleft3time
        {
        for(i=0;i<8;i++)
        {
        P3=taba[7-i];
        P1=0xff;
        delay1();
        }
        }
        for(j=0;j<3;j++)//fromtoptobottom3time
        {
        for(i=0;i<8;i++)
        {
        P3=0x00;
        P1=tabb[7-i];
        delay1();
        }
        }
        for(j=0;j<3;j++)//frombottomtotop3time
        {
        for(i=0;i<8;i++)
        {
        P3=0x00;
        P1=tabb;
        delay1();
        }
        }
        }
        }


        關鍵詞: 8X8LED點陣顯示技

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 东台市| 尚义县| 望都县| 仪陇县| 汝州市| 陈巴尔虎旗| 正蓝旗| 海原县| 吴江市| 会昌县| 安塞县| 萨迦县| 高邮市| 五常市| 仙居县| 万安县| 永康市| 苏尼特左旗| 晋城| 鹰潭市| 甘南县| 子长县| 随州市| 盐城市| 水城县| 宜都市| 崇文区| 琼海市| 宜兴市| 绥德县| 安图县| 扶绥县| 汉阴县| 阳信县| 绥阳县| 青海省| 宣城市| 郓城县| 登封市| 无棣县| 嘉兴市|