找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3076|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

16*16漢字點(diǎn)陳,多個(gè)漢字怎么一個(gè)接一個(gè)顯示出來?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:219908 發(fā)表于 2017-7-15 16:39 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg51.h>
#include<intrins.h>

typedef unsigned char u8;
typedef unsigned int u16;

void delay(u16 i)
{
   while(i--);
}

u8  code ledwei[]=
{
  0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,

};


sbit  SER = P3^4; //串行數(shù)據(jù)輸入
sbit  RCLK = P3^5; //存儲(chǔ)寄存器時(shí)鐘輸入
sbit  SRCLK = P3^6; //移位寄存器時(shí)鐘輸入

u8 code Digital1[]=
{
/*--  文字:  普  --*/
/*--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
0x40,0x44,0x54,0x64,0x45,0x7E,0x44,0x44,0x44,0x7E,0x45,0x64,0x54,0x44,0x40,0x00,
0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00,


};

u8 code Digital2[]=
{
/*--  文字:  我  --*/
/*--  宋體12;  此字體下對應(yīng)的點(diǎn)陣為:寬x高=16x16   --*/
0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,0x20,0xFF,0x20,0x22,0x2C,0xA0,0x20,0x00,
0x00,0x08,0x48,0x84,0x7F,0x02,0x41,0x40,0x20,0x13,0x0C,0x14,0x22,0x41,0xF8,0x00,

};

void HC595(u8 dat1,u8 dat2, u8 dat3, u8 dat4)
{
   u8 a;

   for(a=0; a<8; a++)
   {
          SER = dat1 >>7;
          dat1 <<= 1;

      SRCLK = 0;
          _nop_();
          _nop_();
          SRCLK = 1;
          _nop_();
          _nop_();

   }

   for(a=0; a<8; a++)
   {
          SER = dat2 >>7;
          dat2 <<= 1;

      SRCLK = 0;
          _nop_();
          _nop_();
          SRCLK = 1;
          _nop_();
          _nop_();

   }

   for(a=0; a<8; a++)
   {
          SER = dat3 >>7;
          dat3 <<= 1;

      SRCLK = 0;
          _nop_();
          _nop_();
          SRCLK = 1;
          _nop_();
          _nop_();

   }

   for(a=0; a<8; a++)
   {
          SER = dat4 >>7;
          dat4 <<= 1;

      SRCLK = 0;
          _nop_();
          _nop_();
          SRCLK = 1;
          _nop_();
          _nop_();

   }

      RCLK = 0;
          _nop_();
          _nop_();
          RCLK = 1;
          _nop_();
          _nop_();


}

void main()
{
    u8 i ;
       
       
    while(1)
        {  
           for(i=0;i<16;i++)
           {
             HC595(~ledwei[i+16],~ledwei[i],Digital2[16+i],Digital2[i]);
                 delay(10);
               
               
           }            
                                 
   }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:219796 發(fā)表于 2017-7-15 19:21 來自觸屏版 | 只看該作者
用二維數(shù)組,譬如woshi[][]={{我};{是}}我和是是點(diǎn)陣數(shù)組
回復(fù)

使用道具 舉報(bào)

板凳
ID:21069 發(fā)表于 2019-2-3 01:45 | 只看該作者
不難,建議在論壇找一個(gè)現(xiàn)實(shí)的案例調(diào)試,先開懂代碼,再改改修修,后自己寫整個(gè)代碼就掌握了

評分

參與人數(shù) 3黑幣 +105 收起 理由
shuisheng + 35
刀刀見紅 + 35 贊一個(gè)!
areyouok + 35 很給力!

查看全部評分

回復(fù)

使用道具 舉報(bào)

地板
ID:474631 發(fā)表于 2019-2-3 22:52 | 只看該作者
二維數(shù)組 你看看main里面的循環(huán)吧
#include "reg51.h"
#include "intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
#define WEI P0
sbit shcp=P3^6;
sbit stcp=P3^5;
sbit ds=P3^4;
u8 Weixuan[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
u8 Word[4][8]={{0x8a,0x7e,0x2a,0x9f,0xd5,0xff,0xd5,0x9f},
               {0x40,0x44,0x44,0x7c,0x44,0x44,0x40,0x00},
               {0x88,0x48,0x28,0x1e,0x28,0x48,0x88,0x00},
{0x06,0x22,0x2b,0xaa,0xfb,0x2a,0x23,0x06}};
void delay(u16 i)
{
        while(i--);
}
void SendData(u8 dat)
{
        u8 i;
        shcp=0;stcp=0;
        for(i=0;i++;i<8)
  {
                ds=dat>>7;
                dat<<=1;
                shcp=1;//上升沿時(shí)數(shù)據(jù)移位
                _nop_();
                _nop_();
                shcp=0;
        }
        stcp=1;//移動(dòng)結(jié)束后產(chǎn)生正脈沖所以是在循環(huán)外上升沿
        _nop_();
        _nop_();
        stcp=0;
}
void main()
{
        u8 i,j=0;
       
        u16 a=0;
        while(1)
        {
               
                        for(i=0;i<8;i++)
                {
                                WEI=Weixuan[i];
                        SendData(Word[j][i]);
                        delay(2);SendData(0x00);
                }
                a++;
                        j++;
                        if(j==4)
                        j=0;
                }
        }
回復(fù)

使用道具 舉報(bào)

5#
ID:472268 發(fā)表于 2019-2-12 01:30 | 只看該作者
用二維數(shù)組

評分

參與人數(shù) 1黑幣 +35 收起 理由
就你**** + 35

查看全部評分

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表