打印

求助。。。16*16的LED汉字显示

[复制链接]
1296|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 飞扬跋扈 于 2013-7-6 10:42 编辑

自己最近正在学习单片机的LED点阵,8*8的点阵已经弄懂了想扩展到16*16的,原理图大致能画出来,但是编程运行总是得不到预期结果,最主要的原因就用的取模软件生成的代码在程序中不会正确使用。。。有没有大神能帮忙解释一下,中南是用取模软件按阴码,逐列,逆序的取码方式得到的。。。。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void rxdout(uchar*d);
sbit st=P3^2;
uchar table[][32]=
{


{0x00,0x00,0x00,0x00,0xFC,0x07,0x08,0x02,0x08,0x02,0x08,0x02,0x08,0x02,0xFF,0xFF,
0x08,0x02,0x08,0x02,0x08,0x02,0x08,0x02,0xFC,0x07,0x08,0x00,0x00,0x00,0x00,0x00},/*"中",0*/

{0x04,0x00,0x04,0x00,0xE4,0x7F,0x24,0x04,0x24,0x05,0x64,0x05,0xB4,0x05,0x2F,0x7F,
0x24,0x05,0xA4,0x05,0x64,0x05,0x24,0x25,0x24,0x44,0xE6,0x3F,0x04,0x00,0x00,0x00}/*"南",1*/


void delay(uint N)
{  
   uint j,k;
   for(k=0;k<N;k++)
   for(j=100;j>0;j--);
}
void main()
{
   uchar i,m,row;
  for(i=0;i<2;i++)
   {  
               
        for((row=0,m=0);m<32;m+=2)
        {
          st=0;
          P1=row;
          rxdout(&table[m]);
          rxdout(&table[m+1]);  
      st=1;
          row++;
          delay(2);
        }
         delay(3000);
   }
}

void rxdout(uchar*d)
{
    SBUF=*d;
        while(!TI);
        TI=0;
}

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝