機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
16×16點(diǎn)陣(滾動(dòng)顯示)
16×16點(diǎn)陣(滾動(dòng)顯示)
 更新時(shí)間:2008-7-27 13:55:44  點(diǎn)擊數(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},/*"學(xué)",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},/*"開(kāi)",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},/*"學(xué)",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},/*"請(qǐng)",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

有對(duì)漢字LED點(diǎn)陣顯示熟悉的朋友嗎? 

要下雨了 23:04:51

什么問(wèn)題

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

程序有兩個(gè)地方不太明白

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

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

2.void timer0() interrupt 1 using 3

這個(gè)中斷是為了產(chǎn)生offset的原理是什么,為什么能實(shí)現(xiàn)漢字的移動(dòng)顯示(從右至左)

efan 23:07:31

這段程序?qū)崿F(xiàn)漢字從左到右滾動(dòng)顯示

╄→狂人╰☆ 23:07:38

1  16*16的點(diǎn)陣

2  每掃一次偏移地址加2

efan(6939780) 23:08:35

能具體一點(diǎn)嗎?

efan(6939780) 23:09:22

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

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

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

efan(6939780) 23:09:38

這個(gè)懂了

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

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

efan(6939780) 23:10:51

我想想。。。

efan(6939780) 23:12:23

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

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

是吧

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

我沒(méi)仔細(xì)看 太長(zhǎng)了

 你明白了原理再看程序就簡(jiǎn)單了

efan(6939780) 23:13:39

他是左跑馬,為何下移動(dòng)阿?

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

我隨便說(shuō)的 

efan(6939780) 23:14:18

 

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

 

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

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

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

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

efan(6939780) 23:17:17

對(duì)照漢字碼看一下

{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

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

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

是的

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

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

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

你這個(gè)程序運(yùn)行對(duì)了沒(méi)有

efan(6939780) 23:19:03

跑了,proteus沒(méi)問(wèn)題

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

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

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

明白了嗎

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

你單步跑下就更清楚了 

efan(6939780) 23:20:20

程序還有點(diǎn)點(diǎn)不明白,原理曉得了

efan(6939780) 23:38:59

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

 

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

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

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1