工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->综合电路图->消费电子电路图->8 8点阵汉字显示电路及程序

8 8点阵汉字显示电路及程序

作者:dolphin时间:2011-07-18

8 8点阵汉字显示电路原理

内部原理:

点击看大图

8 8点阵汉字显示程序

/**********************************************************/
/**
/** 模 块 名: -------------------BootLoader.C--------------------------------
/** -----------------8×8汉字显示模块------------------------------*/
/** 功能描述:
/**
/** 创 建 人: huangtiexiong 日期:2006-11-28 */
/** 修 改 人: 日期:2006-11-28 */
/** 其他说明:
/********************************************************/

#include //文件包含
#include

#define Row P0
#define Col P2

#define ResetBit(byte,i) byte &= (~(0x01

typedef unsigned char int8u;

/*************************************************
模块级变量申明
*************************************************/
/*这是“中”的字模;该字模由LEDDOT生成;字模的提取方式为:逐行提取;
字模的显示方式为:单字单行显示;生成的字模格式:C51十六进制 */
int8u gRowBuff2[8] = 0x10,0xFE,0x92,0x92,0xFE,0x92,0x10,0x10;

/*这是“化”的字模;该字模由LEDDOT生成;字模的提取方式为:逐行提取;
字模的显示方式为:单字单行显示;生成的字模格式:C51十六进制 */
int8u gRowBuff3[8] = 0x48,0x4A,0xCE,0xCC,0x58,0x68,0x49,0x4E;

/*这是“大”的字模;该字模由LEDDOT生成;字模的提取方式为:逐行提取;
字模的显示方式为:单字单行显示;生成的字模格式:C51十六进制 */
int8u gRowBuff1[8] = 0x10,0x10,0xFF,0x10,0x18,0x28,0x46,0x82;

void Delay5ms(void);
/*************************************************
子函数定义
*************************************************/

/************************************************************
*** 函 数 名: void main(void)
*** 功能描述:
*** 全局变量:
*** 输入:
*** 输出:
*** 创 建 人:huangtiexiong 日期:2006-11-28
*** 修 改 人: 日期:2006-11-28
*** 函数说明: 刷新频率25hz,可以更高至50hz~100hz;
/*************************************************************/
void main(void)

int8u i;
int sec="0";
while(1)

Col = 0xff;
sec++;
if(sec = 100)//每个汉字显示四秒;

for(i=0;i8;i++)

Col = 0xff;
ResetBit(Col,i);//扫描第i列;
Row = gRowBuff1[i];//送显示码;
Delay5ms();


else if((sec 100) && (sec = 200))

for(i=0;i8;i++)

Col = 0xff;
ResetBit(Col,i);//扫描第i列;
Row = gRowBuff2[i];
Delay5ms();


else if(sec = 300)

for(i=0;i8;i++)

Col = 0xff;
ResetBit(Col,i);//扫描第i列;
Row = gRowBuff3[i];
Delay5ms();


else

sec = 0;



// 延时5毫秒;
void Delay5ms()

int8u i;
int8u j;
for(i=0;i5;i++)
for(j=0;j200;j++)

_nop_();
_nop_();


/********************************************************
**** End Of File
*********************************************************/

附Proteus仿真图:


关键词: 点阵 汉字 显示 程序

评论

EEPW网友 · 2013-01-12 22:55:41

这是用什么型号的单片机做的?我这只有AT89S52的能做吗?

技术专区