⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 123.txt

📁 16*32点阵显示驱动程序
💻 TXT
📖 第 1 页 / 共 2 页
字号:
#include <AT89x51.H>
#define uchar unsigned char
#define uint unsigned int
#define BLKN 2      //列锁存器数
sbit G=0x97;        //P1.7为显示允许控制信号端
sbit RCLK=0x96;     //P1.6为输出锁存器时钟信号端
sbit SCLR=0x95;     //移位寄存器的清0端
void delay(unsigned int);
void showtime(uchar);
void showxq(uchar);
unsigned char data dispram[32];
unsigned char data dispram0[32];
unsigned char code  time[][16];
unsigned char code Timename[][32];
unsigned char code xinqi[][32];
uchar inittime[7]={0x00,0x24,0x15,0x25,0x12,0x04,0x07};	 //初始化后设置

uchar Sec,Cent,Hour,Year,Month,Day,Week;  //时间变量





sbit     T_CLK      = P2^2;   /*实时时钟时钟线引脚 */
sbit     T_IO       = P2^1;   /*实时时钟数据线引脚 */
sbit     T_RST      = P2^0;   /*实时时钟复位线引脚 */

sbit  ACC0 = ACC^0;
sbit  ACC7 = ACC^7;

void   RTInputByte(uchar);         /* 输入 1Byte */
uchar  RTOutputByte(void);         /* 输出 1Byte */
void   W1302(uchar, uchar);        // 向DS1302写入一个字节
uchar  R1302(uchar);               // 从DS1302读出一个字节
void   Set1302(uchar *);           // 写DS1302时间
void   du1302();                   // 读时间


 /*-------------------------------------
 主函数void main
(void)
         .
 ---------------------------------------*/
 void main()
 {
unsigned char code Timename[11][32]={
{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 今
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
  0x01,0x00,0x01,0x00,0x02,0x80,0x04,0x40,0x08,0x20,0x12,0x10,0x21,0x8E,0xC0,0x84,
0x00,0x00,0x1F,0xF0,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x00,
 
},


{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 天
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
  0x00,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,
0x02,0x80,0x02,0x80,0x04,0x40,0x04,0x40,0x08,0x20,0x10,0x10,0x20,0x0E,0xC0,0x04,
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 是
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
  0x0F,0xE0,0x08,0x20,0x08,0x20,0x0F,0xE0,0x08,0x20,0x08,0x20,0x0F,0xE0,0x00,0x04,
0xFF,0xFE,0x01,0x00,0x09,0x20,0x09,0xF0,0x09,0x00,0x15,0x00,0x23,0x06,0x40,0xFC,
 
},
{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 年
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
  0x08,0x00,0x08,0x08,0x1F,0xFC,0x11,0x00,0x21,0x00,0x41,0x10,0x1F,0xF8,0x11,0x00,
0x11,0x00,0x11,0x04,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 月
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
  0x00,0x10,0x0F,0xF8,0x08,0x10,0x08,0x10,0x08,0x10,0x0F,0xF0,0x08,0x10,0x08,0x10,
0x08,0x10,0x0F,0xF0,0x08,0x10,0x08,0x10,0x10,0x10,0x10,0x10,0x20,0x50,0x40,0x20,
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 日
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x00,0x00,
 
},
{
/*------------------------------------------------------------------------------
;  源文件 / 文字: :
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,
  0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 
},
{
/*------------------------------------------------------------------------------
;  源文件 / 文字: :
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,
  0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 
},


{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 星
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
  0x00,0x08,0x3F,0xFC,0x20,0x08,0x3F,0xF8,0x20,0x08,0x3F,0xF8,0x01,0x00,0x21,0x08,
0x3F,0xFC,0x21,0x00,0x41,0x10,0xBF,0xF8,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00,
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 期
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
  0x22,0x04,0x22,0x7E,0x22,0x44,0x7F,0x44,0x22,0x44,0x3E,0x7C,0x22,0x44,0x3E,0x44,
0x22,0x44,0x22,0x7C,0xFF,0xC4,0x00,0x44,0x24,0x44,0x22,0x84,0x41,0x14,0x82,0x08,
 
}
} ;

unsigned char code xinqi[][32]={
{0x00,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,
0x02,0x80,0x02,0x80,0x04,0x40,0x04,0x40,0x08,0x20,0x10,0x10,0x20,0x0E,0xC0,0x04},//天

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFF,0xFE,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//一

{0x00,0x00,0x00,0x00,0x00,0x10,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00},//二

{0x00,0x00,0x00,0x08,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x3F,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFF,0xFE,0x00,0x00,0x00,0x00},//三

{0x00,0x00,0x00,0x04,0x7F,0xFE,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
0x44,0x44,0x44,0x3C,0x48,0x04,0x50,0x04,0x40,0x04,0x7F,0xFC,0x40,0x04,0x00,0x00},//四

{0x00,0x00,0x00,0x08,0x7F,0xFC,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x10,0x3F,0xFC,
0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x10,0x08,0x10,0x08,0x14,0xFF,0xFE,0x00,0x00},//五

{0x00,0x00,0x04,0x00,0x02,0x00,0x03,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00,0x00,0x00,
0x04,0x40,0x0C,0x20,0x08,0x10,0x10,0x18,0x10,0x0C,0x20,0x0C,0x40,0x04,0x00,0x00}//六


};

unsigned char code Bmp[][32]={

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 您

;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
0x09,0x00,0x09,0x00,0x13,0xFC,0x12,0x04,0x34,0x48,0x59,0x40,0x91,0x50,0x12,0x4C,
0x14,0x44,0x11,0x40,0x10,0x80,0x02,0x00,0x51,0x84,0x50,0x92,0x90,0x12,0x0F,0xF0
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 好
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
0x10,0x00,0x11,0xFC,0x10,0x04,0x10,0x08,0xFC,0x10,0x24,0x20,0x24,0x24,0x27,0xFE,
0x24,0x20,0x44,0x20,0x28,0x20,0x10,0x20,0x28,0x20,0x44,0x20,0x84,0xA0,0x00,0x40
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: !
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x00,0x00,0x80,0x03,0xC0,0x03,0xC0,0x01,0xC0,0x01,0xC0,0x01,0x80,
0x01,0x80,0x01,0x80,0x00,0x80,0x00,0x00,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,0x00
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 我
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
0x04,0x80,0x0E,0xA0,0x78,0x90,0x08,0x90,0x08,0x84,0xFF,0xFE,0x08,0x80,0x08,0x90,
0x0A,0x90,0x0C,0x60,0x18,0x40,0x68,0xA0,0x09,0x20,0x0A,0x14,0x28,0x14,0x10,0x0C
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 是
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
0x0F,0xE0,0x08,0x20,0x08,0x20,0x0F,0xE0,0x08,0x20,0x08,0x20,0x0F,0xE0,0x00,0x04,
0xFF,0xFE,0x01,0x00,0x09,0x20,0x09,0xF0,0x09,0x00,0x15,0x00,0x23,0x06,0x40,0xFC
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 林
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x24,0xFE,0xFE,0x08,0x20,0x18,0x60,0x1C,0x70,
0x2A,0xA8,0x28,0xAE,0x49,0x24,0x8A,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 镇
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
0x10,0x20,0x10,0x24,0x13,0xFE,0x1C,0x20,0x21,0xFC,0x21,0x04,0x7D,0xFC,0x91,0x04,
0x11,0xFC,0xFD,0x04,0x11,0xFC,0x11,0x04,0x17,0xFE,0x18,0x88,0x11,0x06,0x02,0x02
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: 杰
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x03,0x80,0x05,0x40,0x09,0x20,0x11,0x10,
0x21,0x0E,0xC1,0x04,0x01,0x00,0x00,0x00,0x24,0x90,0x22,0x48,0x22,0x44,0x40,0x04
 
},

{
/*------------------------------------------------------------------------------
;  源文件 / 文字: .
;  宽×高(像素) : 16×16
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3C,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3C,0x00,0x00,0x00
 
}
 };
 register unsigned char i,j,k,l;
 uchar ucAddr = 0x81;
 SCON=0x00;            //串口工作模式0:移位寄存器方式
 TMOD=0x01;            //定时器T0工作在试1:16位方式
 TR0=1;                //启动定时器
 P1=0x3f;              //P1口初值允许接收,锁存,显示
 IE=0x82;              //允许定时器T0中断
 Set1302(inittime);            //初始化 
 W1302(0x8e,0x00);           /* 控制命令,WP=0,写操作?*/                 
 W1302(0x90,0xa5);           //打开充电二级管  一个二级管串联一个2K电阻 
 du1302();            //读取 秒 分 时 日 月 星期 年
 while(1)
 {
 delay(2000);          //延时2S
/*for(i=0;i<32;i++)     //显示效果:卷帘出
 {
 dispram[i]=Bmp[1][i];

 if(i%2)delay(100);
 }
 delay(100);*/


 for(i=0;i<9;i++)     //显示效果:左移
    {
     for(j=0;j<2;j++)
         for(k=1;k<9;k++)
            {
             for(l=0;l<16;l++)
                {
                 dispram[l*BLKN]=dispram[l*BLKN]
<<1|dispram[l*BLKN+1]>>7;
	             dispram[l*BLKN+1]=dispram[l*BLKN+1]
<<1|dispram0[l*BLKN]>>7;
                 dispram0[l*BLKN]=dispram0[l*BLKN]
<<1|dispram0[l*BLKN+1]>>7;
                 dispram0[l*BLKN+1]=dispram0[l*BLKN+1]
<<1|Bmp[i][l*BLKN+j]>>(8-k);
                 }
             delay(100);
            }
    }
   delay(100);


   du1302();                   // 读时间
for(i=0;i<11;i++)
  {
	if(i==3) 
	   {
        showtime(Year);
		}
	 if(i==4) 
	   { 		 
	    showtime(Month); 
    	}
	 if(i==5) 
	   { 		 
	    showtime(Day); 
    	}
	 if(i==6) 
	   { 		 
	    showtime(Hour); 
    	}
	 if(i==7) 
	   { 		 
	    showtime(Cent); 
    	}
	 if(i==8) 
	   { 		 
	    showtime(Sec); 
    	}
	 if(i==10) 
	   {
            for(j=0;j<2;j++)
         for(k=1;k<9;k++)
            {
             for(l=0;l<16;l++)
                {
                 dispram[l*BLKN]=dispram[l*BLKN]
<<1|dispram[l*BLKN+1]>>7;
	             dispram[l*BLKN+1]=dispram[l*BLKN+1]
<<1|dispram0[l*BLKN]>>7;
                 dispram0[l*BLKN]=dispram0[l*BLKN]
<<1|dispram0[l*BLKN+1]>>7;
                 dispram0[l*BLKN+1]=dispram0[l*BLKN+1]
<<1|xinqi[Week%16][l*BLKN+j]>>(8-k);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -