機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
16×16點陣(滾動顯示)
16×16點陣(滾動顯示)
 更新時間:2008-7-27 13:55:44  點擊數(shù):4
【字體: 字體顏色

#include <reg52.h>

#define int8 unsigned char
#define int16 unsigned int
#define int32 unsigned long

int8 flag;
int8 n;
int8 code table[][32]={
                          {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/* "  " */


                          {0x04,0x28,0x08,0x24,0x32,0x22,0xC2,0x21,0xC2,0x26,0x34,0x38,0x04,0x04,0x08,0x18,0x30,0xF0,0xC0,0x17,0x60,0x10,0x18,0x10,0x0C,0x14,0x06,0x18,0x04,0x10,0x00,0x00},/*"歡",0*/
                          {0x02,0x02,0x04,0x82,0xF8,0x73,0x04,0x20,0x02,0x00,0xE2,0x3F,0x42,0x20,0x82,0x40,0x02,0x40,0xFA,0x3F,0x02,0x20,0x42,0x20,0x22,0x20,0xC2,0x3F,0x02,0x00,0x00,0x00},/*"迎",1*/
                          {0x00,0x01,0x04,0x02,0x1C,0x0C,0xC0,0x3F,0x1C,0xC0,0x02,0x09,0x02,0x16,0x92,0x60,0x4A,0x20,0x82,0x2F,0x02,0x20,0x0E,0x24,0x00,0x22,0x90,0x31,0x0C,0x20,0x00,0x00},/*"您",2*/
                          {0x44,0x10,0x44,0x14,0x88,0x54,0x88,0x54,0xD0,0x5F,0x30,0x50,0x60,0x50,0xFE,0x7F,0x40,0x50,0x20,0x90,0xB0,0x9F,0x98,0x92,0x8C,0x94,0x88,0x34,0x80,0x11,0x00,0x00},/*"乘",3*/
                          {0x82,0x00,0x02,0x01,0x22,0x06,0x22,0x38,0x22,0x04,0x22,0x03,0x22,0x00,0xFE,0xFF,0xA2,0x00,0x22,0x01,0x22,0x02,0x22,0x3C,0x22,0x02,0x02,0x01,0x02,0x00,0x00,0x00},/*"坐",4*/
                          {0x02,0x00,0x0C,0x00,0xF0,0x3F,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0xA0,0x00,0x60,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00},/*"廣",5*/
                          {0x80,0x00,0x01,0x07,0x06,0x00,0x18,0x00,0xE0,0xFF,0x00,0x04,0x00,0x03,0x00,0x00,0xFE,0x7F,0x00,0x08,0x00,0x06,0x80,0x01,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00},/*"州",6*/
                          {0x00,0x00,0x04,0x20,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x20,0x04,0x00,0x00,0x00},/*"三",7*/
                          {0x20,0x08,0x20,0x86,0x7F,0x60,0x80,0x0F,0x00,0x04,0x00,0x1A,0x00,0xEA,0x00,0x2A,0x00,0x2A,0x00,0x2A,0x00,0x2A,0xF0,0x2B,0x0C,0x28,0x02,0x20,0x0F,0x00,0x00,0x00},/*"汽",8*/
                          {0x00,0x00,0x80,0x00,0x04,0x01,0x0E,0x02,0x14,0x0C,0x24,0x70,0xC4,0x21,0x8C,0x00,0x08,0x00,0x08,0x70,0x28,0x08,0x1E,0x06,0x0C,0x03,0x80,0x01,0x00,0x01,0x00,0x00},/*"公",9*/
                          {0x00,0x00,0x00,0x08,0xF8,0x49,0x20,0x49,0x20,0x49,0x20,0x49,0x20,0x49,0x20,0x49,0x20,0x49,0xF0,0x49,0x00,0x48,0x04,0x40,0x02,0x40,0xFC,0x7F,0x00,0x00,0x00,0x00},/*"司",10*/
                          {0x00,0x00,0x80,0x00,0x04,0x01,0x0E,0x02,0x14,0x0C,0x24,0x70,0xC4,0x21,0x8C,0x00,0x08,0x00,0x08,0x70,0x28,0x08,0x1E,0x06,0x0C,0x03,0x80,0x01,0x00,0x01,0x00,0x00},/*"公",11*/
                          {0x40,0x00,0x40,0x08,0x41,0x08,0x42,0x08,0x4C,0x08,0xF8,0x7F,0x50,0x08,0x40,0x08,0x40,0x08,0x60,0x08,0xD0,0x7F,0x4C,0x08,0x47,0x08,0x42,0x08,0x40,0x00,0x00,0x00},/*"共",12*/
                          {0x20,0x08,0x20,0x86,0x7F,0x60,0x80,0x0F,0x00,0x04,0x00,0x1A,0x00,0xEA,0x00,0x2A,0x00,0x2A,0x00,0x2A,0x00,0x2A,0xF0,0x2B,0x0C,0x28,0x02,0x20,0x0F,0x00,0x00,0x00},/*"汽",13*/
                          {0x20,0x00,0x20,0x20,0x20,0x21,0x20,0x23,0x20,0x25,0x20,0x39,0x20,0xE1,0x20,0x21,0xFF,0x2F,0x20,0x21,0x20,0x21,0x20,0x21,0x20,0x21,0x20,0x21,0x20,0x00,0x00,0x00},/*"車",14*/
                          {0x00,0x00,0x00,0x00,0x1A,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",15*/
                          {0x00,0x04,0x01,0x04,0x02,0x04,0x04,0x04,0x08,0x04,0x30,0x04,0xC0,0x05,0x00,0xFE,0x80,0x05,0x60,0x04,0x10,0x04,0x0C,0x04,0x06,0x04,0x03,0x04,0x02,0x04,0x00,0x00},/*"大",16*/
                          {0x00,0x02,0x40,0x0C,0x40,0x08,0x40,0x48,0x40,0x3A,0x40,0x2A,0x42,0x0A,0x41,0x8A,0xFE,0x7A,0x40,0x2B,0x40,0x0A,0x40,0x18,0x40,0xEA,0x40,0x4C,0x40,0x08,0x00,0x00},/*"學",17*/
                          {0x20,0x08,0x30,0x08,0xE0,0xFF,0x42,0x08,0x4C,0x08,0xF0,0x1F,0x10,0x12,0x1A,0x12,0xF2,0x13,0x04,0x10,0xC8,0xFF,0x30,0x10,0xCC,0x50,0x02,0x37,0x1C,0x12,0x00,0x00},/*"城",18*/
                          {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0E,0x14,0x10,0x24,0x10,0x44,0x10,0x84,0x11,0x0C,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"2",0*/
                          {0x04,0x02,0x44,0x06,0xC4,0x1A,0x48,0xE3,0x48,0x46,0x48,0x00,0x04,0x09,0x04,0x09,0x08,0x09,0xC8,0xFF,0x30,0x09,0x28,0x49,0x44,0x39,0x02,0x29,0x1F,0x01,0x00,0x00},/*"線",19*/
                          {0x00,0x02,0x02,0x42,0x04,0x42,0x08,0x42,0x30,0x42,0xC0,0x7F,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0xFE,0x7F,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x00},/*"開",20*/
                          {0x40,0x04,0x80,0x08,0x00,0x11,0xFF,0xEF,0x00,0x44,0x02,0x10,0x82,0x10,0x82,0x10,0x82,0x90,0xFE,0x7F,0x82,0x50,0x82,0x10,0x82,0x10,0x82,0x10,0x02,0x10,0x00,0x00},/*"往",21*/
                          {0x00,0x04,0x01,0x04,0x02,0x04,0x04,0x04,0x08,0x04,0x30,0x04,0xC0,0x05,0x00,0xFE,0x80,0x05,0x60,0x04,0x10,0x04,0x0C,0x04,0x06,0x04,0x03,0x04,0x02,0x04,0x00,0x00},/*"大",22*/
                          {0x00,0x02,0x40,0x0C,0x40,0x08,0x40,0x48,0x40,0x3A,0x40,0x2A,0x42,0x0A,0x41,0x8A,0xFE,0x7A,0x40,0x2B,0x40,0x0A,0x40,0x18,0x40,0xEA,0x40,0x4C,0x40,0x08,0x00,0x00},/*"學",23*/
                          {0x20,0x08,0x30,0x08,0xE0,0xFF,0x42,0x08,0x4C,0x08,0xF0,0x1F,0x10,0x12,0x1A,0x12,0xF2,0x13,0x04,0x10,0xC8,0xFF,0x30,0x10,0xCC,0x50,0x02,0x37,0x1C,0x12,0x00,0x00},/*"城",24*/
                          {0x00,0x00,0x00,0x00,0x1A,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",25*/
                          {0x00,0x02,0x00,0x42,0x00,0x32,0xFE,0x23,0x04,0x00,0x08,0x44,0xFF,0x55,0x50,0x55,0x50,0x55,0x50,0xFD,0x52,0x55,0x51,0x55,0xFE,0x55,0x00,0x44,0x00,0x04,0x00,0x00},/*"請",26*/
                          {0x00,0x01,0x04,0x02,0x1C,0x0C,0xC0,0x3F,0x1C,0xC0,0x02,0x09,0x02,0x16,0x92,0x60,0x4A,0x20,0x82,0x2F,0x02,0x20,0x0E,0x24,0x00,0x22,0x90,0x31,0x0C,0x20,0x00,0x00},/*"您",27*/
                          {0x82,0x00,0x02,0x01,0x22,0x06,0x22,0x38,0x22,0x04,0x22,0x03,0x22,0x00,0xFE,0xFF,0xA2,0x00,0x22,0x01,0x22,0x02,0x22,0x3C,0x22,0x02,0x02,0x01,0x02,0x00,0x00,0x00},/*"坐",28*/
                          {0x01,0x08,0xC2,0x08,0x44,0x0F,0x28,0xF8,0x30,0x08,0xCE,0x0F,0x04,0x01,0x00,0x41,0x02,0x41,0x01,0x41,0xFE,0x4F,0x00,0x51,0x00,0x61,0x00,0x41,0x00,0x01,0x00,0x00},/*"好",29*/
                          {0x42,0x08,0x81,0x08,0xFE,0xFF,0x00,0x09,0x01,0x0A,0x01,0x01,0x02,0x11,0x0C,0x11,0x30,0x11,0xC0,0xFF,0x30,0x11,0x08,0x11,0x06,0x11,0x03,0x11,0x02,0x01,0x00,0x00},/*"扶",30*/
                          {0x20,0x08,0xC0,0x48,0x00,0x4B,0xFF,0x7F,0x00,0x89,0x9C,0x88,0x00,0x10,0xBC,0x2A,0x82,0xCA,0xC2,0x4A,0xB2,0x5A,0x82,0x6A,0xAE,0x0A,0x90,0x0F,0x0C,0x00,0x00,0x00},/*"穩(wěn)",31*/
                          {0x00,0x00,0x00,0x00,0x00,0x00,0xFA,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",32*/

                          {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}/* "  " */
                      };

void delay(void);
int16 offset;

void main(void)
{
    int8 i;
    int8 *p;
    flag=0x10;
    n=0;
    TMOD=0x01;
    TH0=0xb1;
    TL0=0xe0;
    ET0=1;
    EA=1;
    TR0=1;

    p=&table[0][0];

    while (1)
    {
        for (i=0;i<8;i++)    //顯示左半邊屏幕
        {
            P0=*(p+offset+2*i);
            P2=i|0x08;    //P2.4=0,P2.3=1 選中U2, 輸出掃描碼給U6
            delay();

            P0=*(p+offset+2*i+1);
              P2=i|0x10;   //P2.4=1,P2.3=0 選中U3, 輸出掃描碼給U7
            delay();
        }
        for (i=8;i<16;i++)     //顯示右半邊屏幕
        {
            P0=*(p+offset+2*i);
             P2=(i-8)|0x20;   //P2.5=1 P2.4=0, P2.3=0 選中U4,輸出掃描碼U8
            delay();

            P0=*(p+offset+2*i+1);
             P2=(i-8)|0x40;   //P2.6=1 P2.5=0, P2.4=0 選中U5,輸出掃描碼U9
            delay();
        }
    }
}


void delay(void)
{
    int16 i;
    for (i=0;i<50;i++)
        ;
}


void timer0() interrupt 1 using 3
{
    TF0=0;
    TH0=0xb1;
    TL0=0xe0;
    if (n<10)
    {
    n++;
    }
    else
    {
    offset+=2;
    if (offset>1100)
            offset=0;
        n=0;
    }
}

 

 

 

 

 

 

 

;--------------------------------------------------

 

 

efan 23:04:26

有對漢字LED點陣顯示熟悉的朋友嗎? 

要下雨了 23:04:51

什么問題

typhoon 23:04:54

efan 23:05:11

有段程序看不太懂

efan 23:05:26

#include <reg52.h>

#define int8 unsigned char

#define int16 unsigned int

#define int32 unsigned long

int8 flag;

int8 n;

int8 code table[][32]={

                        

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*

"  " */

                        

{0x04,0x28,0x08,0x24,0x32,0x22,0xC2,0x21,0xC2,0x26,0x34,0x38,0x04,0x04,0x08,0x18,0x30,0xF0,0xC0,0x17,0x60,0x10,0x18,0x10,0x0C,

0x14,0x06,0x18,0x04,0x10,0x00,0x00},/*"",0*/

                        

{0x02,0x02,0x04,0x82,0xF8,0x73,0x04,0x20,0x02,0x00,0xE2,0x3F,0x42,0x20,0x82,0x40,0x02,0x40,0xFA,

0x3F,0x02,0x20,0x42,0x20,0x22,0x20,0xC2,0x3F,0x02,0x00,0x00,0x00},/*"",1*/

                        

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}/*

"  " */

                      };

void delay(void);

int16 offset;

void main(void)

{

    int8 i;

    int8 *p;

    flag=0x10;

    n=0;

    TMOD=0x01;

    TH0=0xb1;

    TL0=0xe0;

    ET0=1;

    EA=1;

    TR0=1;

    p=&table[0][0];

    while (1)

    {

        for (i=0;i<8;i++)    //顯示左半邊屏幕

        {

            P0=*(p+offset+2*i);

            P2=i|0x08;    //P2.4=0,P2.3=1 選中U2, 輸出掃描碼給U6

            delay();

            P0=*(p+offset+2*i+1);

            P2=i|0x10;   //P2.4=1,P2.3=0 選中U3, 輸出掃描碼給U7

            delay();

        }

        for (i=8;i<16;i++)     //顯示右半邊屏幕

        {

            P0=*(p+offset+2*i);

            P2=(i-8)|0x20;   //P2.5=1 P2.4=0, P2.3=0 選中U4,輸出掃描碼U8

            delay();

            P0=*(p+offset+2*i+1);

            P2=(i-8)|0x40;   //P2.6=1 P2.5=0, P2.4=0 選中U5,輸出掃描碼U9

            delay();

        }

    }

}

void delay(void)

{

    int16 i;

    for (i=0;i<50;i++)

        ;

}

void timer0() interrupt 1 using 3

{

    TF0=0;

    TH0=0xb1;

    TL0=0xe0;

    if (n<10)

    {

    n++;

    }

    else

    {

    offset+=2;

    if (offset>1100)

            offset=0;

        n=0;

    }

}

efan 23:05:57

程序有兩個地方不太明白

1. P0=*(p+offset+2*i);

為什么要乘以2,原理是什么?

2.void timer0() interrupt 1 using 3

這個中斷是為了產生offset的原理是什么,為什么能實現(xiàn)漢字的移動顯示(從右至左)

efan 23:07:31

這段程序實現(xiàn)漢字從左到右滾動顯示

╄→狂人╰☆ 23:07:38

1  16*16的點陣

2  每掃一次偏移地址加2

efan(6939780) 23:08:35

能具體一點嗎?

efan(6939780) 23:09:22

1。里面還加了個 offset, 為什么能實現(xiàn)跑馬顯示

╄→狂人╰☆(63637313) 23:09:23

每行16led,當然要用2個字節(jié),這個明白吧

efan(6939780) 23:09:38

這個懂了

╄→狂人╰☆(63637313) 23:10:33

中斷一次,數(shù)據整體下移一行,有問題嗎?

efan(6939780) 23:10:51

我想想。。。

efan(6939780) 23:12:23

不理解,是不是指 offset+=2

要下雨了(422583941) 23:12:58

是吧

╄→狂人╰☆(63637313) 23:13:11

我沒仔細看 太長了

 你明白了原理再看程序就簡單了

efan(6939780) 23:13:39

他是左跑馬,為何下移動阿?

╄→狂人╰☆(63637313) 23:14:09

我隨便說的 

efan(6939780) 23:14:18

 

╄→狂人╰☆(63637313) 23:14:58

 

要下雨了(422583941) 23:15:00

向左跑 就是說逐步去掉左邊的一些代碼不要

要下雨了(422583941) 23:15:44

第一列的數(shù)據逐步往右邊取

efan(6939780) 23:17:17

對照漢字碼看一下

{0x04,0x28,0x08,0x24,0x32,0x22,0xC2,0x21,0xC2,0x26,0x34,0x38,0x04,0x04,0x08,0x18,0x30,0xF0,0xC0,0x17,0x60,0x10,0x18,0x10,0x0C,

0x14,0x06,0x18,0x04,0x10,0x00,0x00},/*"",0*/

起始為 0x04,0x28

中斷一次,跳到哪個了?是不是0x08,0x24?

要下雨了(422583941) 23:17:38

是的

要下雨了(422583941) 23:17:51

第一列就顯示了0x08,0x24

要下雨了(422583941) 23:18:18

你這個程序運行對了沒有

efan(6939780) 23:19:03

跑了,proteus沒問題

要下雨了(422583941) 23:19:12

要下雨了(422583941) 23:19:12

要下雨了(422583941) 23:19:36

明白了嗎

╄→狂人╰☆(63637313) 23:20:18

你單步跑下就更清楚了 

efan(6939780) 23:20:20

程序還有點點不明白,原理曉得了

efan(6939780) 23:38:59

我說一下算了,電路很簡單,p0口發(fā)漢字碼,p1口輸出掃描碼

 

  • 上一篇: 電子鬧鐘(圖+程序)
  • 下一篇: LED顯示屏動態(tài)顯示和遠程監(jiān)控的實現(xiàn)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網站

    網站經營許可證:浙B2-20080178-1