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

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


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


内部原理:


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;i<8;i++)
    {
     Col = 0xff;
     ResetBit(Col,i);  //扫描第i列;
     Row = gRowBuff1[i]; //送显示码;
     Delay5ms();
     }
      }
    else if((sec > 100) && (sec <= 200))  
     {
    for(i=0;i<8;i++)
    {
     Col = 0xff;
     ResetBit(Col,i);  //扫描第i列;
     Row = gRowBuff2[i];
     Delay5ms();
     }
      }
    else if(sec <= 300)
     {
    for(i=0;i<8;i++)
    {
     Col = 0xff;
     ResetBit(Col,i);  //扫描第i列;
     Row = gRowBuff3[i];
     Delay5ms();
     }
      }
    else
     {
      sec = 0;
      }  
   
  }
 }


// 延时5毫秒;
void Delay5ms()
{
 int8u i;
 int8u j;
 for(i=0;i<5;i++)
 for(j=0;j<200;j++)
 {
  _nop_();
  _nop_();
  }
 }
/********************************************************
****                              End Of File
*********************************************************/


附Proteus仿真图:


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

  • 8 8点阵汉字显示电路及程序已关闭评论
    A+
发布日期:2019年07月14日  所属分类:参考设计