16*128 LED点阵屏C程序

发布时间:2022-12-27  

/*****************************************************

16*128 LED点阵屏 C 程序

******************************************************

声明:

本程序供大家学习之用,用勿用于商业用途。尊重版权。

编写:邓椿薪

时间:2006年1月20日 晚

邮箱:love2151@xinhuanet.com

*******************************************************

//595连级输出数据,138行驱动。P0_1为移动速度高速/*点阵显示汉字程串口输出字符数据,

//P2口输出行扫描信号,P2_7输出595锁存信号。*/


#include

#define uchar unsigned char

#define uint unsigned int

uchar yid,h; //YID为移动计数器,H为行段计数器。

uint zimuo; //字模计数器

uchar code hanzi[]; //汉字字模

uchar BUFF[18]; //缓存

void in_data(void); //调整数据

void rxd_data(void); //发送数据

void sbuf_out(); //16段扫描

unsigned code sw[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; /*16行段码*/


//{0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,

//0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e}; /*16行段码*/

/********************************************/

void main(void)

{

uchar i,d=10;

yid=0;

zimuo=0;

while(1)

{

while(yid<16) //数据移位。

{

for(i=0;i{

sbuf_out();

}

yid++; //移动一步

}

yid=0;

zimuo=zimuo+32; //后移一个字,

if(zimuo>=3386) //总数减7个字。

zimuo=0;

}

}

/********************************/

void sbuf_out()

{

for(h=0;h<16;h++) //16行扫描

{

in_data(); //调整数据

rxd_data(); //串口发送数据

P1=0x7f; //关闭显示。

P1_7=1; //锁存为高,595锁存信号

P1=sw[h]; //送段码

}

}


/******************************************************/

void in_data(void)

{

char s;

for(s=8;s>=0;s--) //h为向后先择字节计数器,zimuoo为向后先字计数器

{

BUFF[2*s+1]=hanzi[zimuo+32*s+2*h]; //把第一个字模的第一个字节放入BUFF0中,第二个字模和第一个字节放入BUFF2中

BUFF[2*s]=hanzi[zimuo+1+32*s+2*h]; // 把第一个字模的第二个字节放入BUFF1中,第二个字模的第二个字节放入BUFF3中

}

}


/*******************************************************/

void rxd_data(void) //串行发送数据

{

char s;

uchar inc,tempyid,temp;

if(yid<8)

inc=0;

else

inc=1;

for(s=0+inc;s<16+inc;s++) //发送8字节数据

{

if(yid<8)

tempyid=yid;

else

tempyid=yid-8;

temp=(BUFF[s]>>tempyid)|(BUFF[s+1]<//temp=255-temp;

SBUF=temp;//把BUFF中的字节从大到小移位相或后发送输出。

while(!TI);TI=0; //等待发送中断

}

}

/*******************************************************/

uchar code hanzi[]=

{

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,

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,

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,

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,

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,

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,

//=============================================================================

/*-- 调入了一幅图像:这是您新建的图像 --*/

/*-- 宽度x高度=16x16 --*/

0x00,0x00,0x38,0x3C,0x7E,0x7E,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0x7F,0xFE,0x3F,0xFC,0x1F,0xF8,0x0F,0xF0,0x07,0xE0,0x03,0xC0,0x00,0x00,

/*-- 文字: 欢 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x01,0x00,0x01,0x00,0x01,0x3F,0x7F,0xA0,0x20,0xA1,0x12,0x52,0x02,0x14,0x02,0x08,

0x02,0x18,0x06,0x18,0x05,0x24,0x09,0x24,0x18,0x82,0x70,0x61,0x20,0x1C,0x00,0x00,


/*-- 文字: 迎 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x02,0x01,0x84,0x3E,0x6C,0x22,0x24,0x22,0x20,0x22,0x20,0x22,0x27,0x22,0x24,

0x22,0xA4,0x2A,0x64,0x12,0x24,0x02,0x04,0x02,0x04,0x00,0x0A,0x7F,0xF1,0x00,0x00,


/*-- 文字: 来 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x80,0x00,0x80,0x3F,0xFC,0x00,0x80,0x0C,0x90,0x04,0xA0,0x02,0xC0,0x7F,0xFE,

0x01,0x80,0x02,0xC0,0x04,0xA0,0x18,0x90,0x70,0x8C,0x20,0x83,0x00,0x80,0x00,0x80,


/*-- 文字: 到 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x20,0x00,0x21,0xFE,0x20,0x10,0x24,0x48,0x24,0x84,0x25,0xFE,0x24,0xA4,0x24,0x20,

0x24,0x20,0x25,0xFE,0x24,0x20,0x24,0x20,0x21,0xA0,0x20,0x70,0x28,0x0E,0x10,0x04,

/*-- 文字: 单 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x04,0x10,0x0C,0x60,0x02,0x20,0x1F,0xFC,0x10,0x84,0x1F,0xFC,0x10,0x84,0x10,0x84,

0x1F,0xFC,0x10,0x84,0x00,0x80,0x7F,0xFF,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,


/*-- 文字: 片 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x02,0x00,0x02,0x08,0x02,0x08,0x22,0x08,0x7F,0xF8,0x00,0x08,0x00,0x08,0x00,0x08,

0x0F,0xF8,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x04,0x08,0x04,0x08,0x02,0x08,0x01,


/*-- 文字: 机 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x08,0x1F,0x08,0x11,0x08,0x11,0x7F,0x11,0x08,0x11,0x08,0x11,0x1C,0x11,0x2C,

0x11,0x2A,0x11,0x0A,0x10,0x89,0x50,0x88,0x50,0x48,0x50,0x48,0x60,0x28,0x00,0x08,


/*-- 文字: 爱 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x1F,0x00,0x09,0xFC,0x08,0x48,0x04,0x90,0x7F,0xFC,0x40,0x44,0x00,0x42,0x3F,0xFC,

0x00,0x20,0x0F,0xE0,0x04,0x30,0x02,0xD0,0x03,0x08,0x0C,0xC6,0x70,0x31,0x20,0x0C,


/*-- 文字: 好 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x08,0x3F,0x88,0x10,0x08,0x08,0x08,0x04,0x3F,0x04,0x24,0x04,0x24,0x7F,0xE4,

0x04,0x22,0x04,0x26,0x04,0x18,0x04,0x10,0x04,0x28,0x04,0x64,0x05,0x22,0x02,0x01,


/*-- 文字: 者 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x80,0x10,0x80,0x37,0xFC,0x08,0x80,0x04,0x80,0x7F,0xFE,0x01,0x00,0x00,0xC0,

0x1F,0xE0,0x10,0x38,0x10,0x27,0x1F,0xE0,0x10,0x20,0x10,0x20,0x1F,0xE0,0x10,0x20,


/*-- 文字: D --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x22,0x00,0x42,0x00,0x42,0x00,0x42,

0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x22,0x00,0x1F,0x00,0x00,0x00,0x00,


/*-- 文字: I --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,

0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x3E,0x00,0x00,0x00,0x00,


/*-- 文字: Y --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x00,0x22,0x00,0x22,0x00,0x14,0x00,0x14,

0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x1C,0x00,0x00,0x00,0x00,


/*-- 文字: 网 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x00,0x3F,0xFE,0x20,0x02,0x20,0x82,0x28,0x8A,0x39,0x52,0x2A,0x22,0x24,0x22,

0x24,0x52,0x2A,0x52,0x29,0x8A,0x20,0x86,0x20,0x02,0x38,0x02,0x10,0x02,0x00,0x00,


/*-- 文字: 站 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x04,0x00,0x04,0x04,0x04,0x08,0x04,0x08,0x7C,0x7F,0x04,0x20,0x04,0x22,0x04,0x24,

0x3F,0x94,0x20,0x94,0x20,0x88,0x20,0xBC,0x20,0x83,0x3F,0x80,0x20,0x80,0x00,0x00,


/*-- 文字: 论 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x02,0x02,0x02,0x04,0x05,0x0C,0x09,0x04,0x10,0x80,0x60,0x40,0x20,0xA7,0x08,0x84,

0x1C,0x84,0x03,0x84,0x00,0x84,0x00,0xA4,0x20,0x94,0x20,0x8C,0x3F,0x04,0x00,0x00,


/*-- 文字: 坛 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x00,0x3F,0x88,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x3F,0x7F,0xC8,0x02,0x08,

0x06,0x08,0x01,0x08,0x11,0x38,0x20,0x8C,0x7E,0x43,0x63,0xE0,0x20,0x40,0x00,0x00,


/*-- 文字: , --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x08,0x00,0x04,0x00,0x00,


/*-- 文字: 这 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x01,0x00,0x06,0x02,0x02,0x0C,0x3F,0xE8,0x08,0x00,0x08,0x40,0x04,0x8F,0x05,0x08,

0x02,0x08,0x02,0x08,0x05,0x08,0x08,0x88,0x10,0x48,0x00,0x14,0x7F,0xE2,0x00,0x01,


/*-- 文字: 里 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x1F,0xFC,0x10,0x84,0x10,0x84,0x10,0x84,0x1F,0xFC,0x10,0x84,0x10,0x84,0x1F,0xFC,

0x00,0x80,0x00,0x80,0x1F,0xFC,0x00,0x80,0x00,0x80,0x00,0x80,0x7F,0xFF,0x00,0x00,


/*-- 文字: 有 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x80,0x00,0x80,0x7F,0xFE,0x00,0x40,0x00,0x20,0x0F,0xF0,0x08,0x18,0x08,0x14,

0x0F,0xF2,0x08,0x11,0x08,0x10,0x0F,0xF0,0x08,0x10,0x09,0x10,0x0E,0x10,0x04,0x10,


/*-- 文字: 众 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

0x00,0x80,0x00,0x80,0x00,0x80,0x01,0x40,0x02,0x20,0x0C,0x10,0x70,0x0C,0x24,0x13,

0x04,0x10,0x04,0x10,0x04,0x10,0x0A,0x28,0x12,0x44,0x31,0x42,0x10,0x81,0x00,0x00,


/*-- 文字: 多 --*/

/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    );         SCK = 1;         SCK = 0;     }     RCK = 1;     RCK = 0; } /**     * @brief: LED点阵显示屏......
    电路采用简易的上电复位电路,主要由电阻R,R2,电容C,开关K组成,分别接至AT89C51的RST复位输入端。LED点阵显示屏采用16×16共256个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵......
    电路采用简易的上电复位电路,主要由电阻R,R2,电容C,开关K组成,分别接至AT89C51的RST复位输入端。LED点阵显示屏采用16×16共256个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵......
    电路的设计主要是以单片机与16块8× 8LED点阵显示屏构成。鉴于89C2051引脚数量的限制,本系统采用74HC595作串入并出,同时显示列,行扫描则由两片74LS138作译码扫描(如图1)。 1.1 LED显示屏......
    内容移动速度和移动方向进行设置; 而单片机根据收到的“显示内容”的字符代码在字库芯片中找到相应的32 字节显示代码送点阵屏显示。      图1 系统组成   LED 点阵屏工作原理   LED 点阵显示屏可按显示......
    51单片机学习:LED点阵实验(显示图像);实验名称:LED点阵实验(显示图像)接线说明:实验现象:下载程序后,8*8LED点阵显示心形注意事项:LED点阵旁的J24黄色跳线帽短接到GND一端......
    51单片机学习:LED点阵实验(显示数字);实验名称:LED点阵实验(显示数字)接线说明:实验现象:下载程序后,8*8LED点阵显示数字0注意事项:LED点阵旁的J24黄色跳线帽短接到GND一端......
    LED_COL_PORT     P0      //LED控制管脚 13  14  15 //LED点阵显示图像数据,采用列扫描方式 16 u8 gled_row[8......
    点阵,然后使用多个 8 * 8 点阵可组成不同分辨率的 LED点阵显示屏,比如 16* 16 点阵可以使用 4 个 8* 8 点阵构成。因此理解了 8* 8LED点阵的工作原理,其他分辨率的 LED......
    LED点阵汉字显示屏电路的工作原理及制作方法;本文主要通过介绍用89c51 控制的LED 点阵汉字显示屏电路设计原理、电路板制作方法, 有利于初学者通过实践, 掌握......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>