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

📄 最终时间和温度好用的点阵程序.txt

📁 几年搜的LED显示屏程序大全20多个实例带仿真.rar
💻 TXT
📖 第 1 页 / 共 3 页
字号:
void TiaoZheng7(void)
{
       uchar i,j,k;
		  for(i=0;i<32;i++) {HuanCun[i]=ZaXiang[19][i];}
		  for(j=0;j<60;j++)
			   {
	              if(temp==j)   {for(k=0;k<32;k++) HuanCun[32+k]=hanzi0[j][k];} 
			    }
          for(i=0;i<32;i++) {HuanCun[64+i]=ZaXiang[18][i];}
          for(i=96;i<224;i++)  {HuanCun[i]=0x00;}

}
/**************************延时***********************/
void DelayMs(void)
 {
  uchar TempCyc;
  for(TempCyc=100;TempCyc>1;TempCyc--)
     {;}
 }
//********DS1302读写程序***************//
/******************************************************************** 
函 数 名:RTInputByte()
功    能:实时时钟写入一字节
说    明:往DS1302写入1Byte数据 (内部函数)
入口参数:d 写入的数据 
返 回 值:无  
***********************************************************************/
void RTInputByte(uchar d) 
{ 
    uchar h;
    ACC = d;
    for(h=8; h>0; h--)
    {
        T_IO = ACC0;           /*相当于汇编中的 RRC */
        T_CLK = 1;
        T_CLK = 0;
        ACC = ACC >> 1; 
    } 
}
/******************************************************************** 
函 数 名:RTOutputByte()
功    能:实时时钟读取一字节
说    明:从DS1302读取1Byte数据 (内部函数)
入口参数:无  
返 回 值:ACC
设    计:zhaojunjie           日    期:2002-03-19
修    改:                     日    期: 
***********************************************************************/
uchar RTOutputByte(void) 
{ 
    uchar h;
    for(h=8; h>0; h--)
    {
        ACC = ACC >>1;         /*相当于汇编中的 RRC */
        ACC7 = T_IO;
        T_CLK = 1;
        T_CLK = 0;
    } 
    return(ACC); 
}
/******************************************************************** 
函 数 名:W1302()
功    能:往DS1302写入数据
说    明:先写地址,后写命令/数据 (内部函数)
调    用:RTInputByte() , RTOutputByte()
入口参数:ucAddr: DS1302地址, ucData: 要写的数据
返 回 值:无
***********************************************************************/
void W1302(uchar ucAddr, uchar ucDa)
{
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(ucAddr);       /* 地址,命令 */
    RTInputByte(ucDa);       /* 写1Byte数据*/
    T_CLK = 1;
    T_RST = 0;
}
/******************************************************************** 
函 数 名:R1302()
功    能:读取DS1302某地址的数据
说    明:先写地址,后读命令/数据 (内部函数)
调    用:RTInputByte() , RTOutputByte()
入口参数:ucAddr: DS1302地址
返 回 值:ucData :读取的数据
***********************************************************************/
uchar R1302(uchar ucAddr)
{
    uchar ucData;
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(ucAddr);             /* 地址,命令 */
    ucData = RTOutputByte();         /* 读1Byte数据 */
    T_CLK = 1;
    T_RST = 0;
    return(ucData);
}

/******************************************************************** 
函 数 名:Set1302()
功    能:设置初始时间
说    明:先写地址,后读命令/数据(寄存器多字节方式)
调    用:W1302()
入口参数:pClock: 设置时钟数据地址 格式为: 秒 分 时 日 月 星期 年
                               7Byte (BCD码)1B 1B 1B 1B 1B  1B  1B
返 回 值:无
***********************************************************************/
void Set1302(uchar *pClock) 
{
    uchar h;
    uchar ucAddr = 0x80; 
    W1302(0x8e,0x00);           /* 控制命令,WP=0,写操作?*/
    for(h =7; h>0; h--)
    { 
        W1302(ucAddr,*pClock);  /* 秒 分 时 日 月 星期 年 */ 
        pClock++;
        ucAddr +=2;
    }
    W1302(0x8e,0x80);           /* 控制命令,WP=1,写保护?*/

}

/* 延时t毫秒 */
void delay(uint t)
{
    uint i;
    while(t--)
    {
        /* 对于11.0592M时钟,约延时1ms */
        for (i=0;i<125;i++);
    }
} 
void TxReset(void)    /* 产生复位脉冲初始化DS18B20 */
{
    uint i;
    DQ = 0;
    i = 95;    /* 拉低约900us */
    while (i>0)    i--;    
    DQ = 1;    // 产生上升沿
    i = 5;
    while (i>0)    i--;
}

/* 等待应答脉冲 */
void RxWait(void)
{
    uint i;
    while(DQ);
    while(~DQ);            // 检测到应答脉冲 
    i = 4;
    while (i>0)    i--;
}

/* 读取数据的一位,满足读时隙要求 */ 
bit RdBit(void)     //只读1
{
    uchar i;
    DQ=0;
    DQ=1;
    for(i=0;i<3;i++);
    return (DQ);
}

/* 读取数据的一个字节 */
uchar RdByte(void)
{
    uchar i,j,b;
    b = 0;
    for (i=1;i<=8;i++)
    {
        j = RdBit();
        b = (j<<7)|(b>>1);
    }
    return(b);
}

/* 写数据的一个字节,满足写1和写0的时隙要求 */
void WrByte(uchar b)
{
    uint i;
    uchar j;
    bit btmp;
    for(j=1;j<=8;j++)
    {
        btmp = b&0x01;
        b = b>>1;        // 取下一位(由低位向高位)
        if (btmp)
        {
            /* 写1 */
            DQ = 0;
            _nop_();
            _nop_();    // 延时,使得15us以内拉高
            DQ = 1;
            i = 6;
            while(i>0) i--;    // 整个写1时隙不低于60us 
           }
        else
        {
            /* 写0 */
            DQ = 0;            
            i = 8;
            while(i>0) i--;    // 保持低在60us到120us之间
            DQ = 1;
            _nop_();
            _nop_();
            _nop_();
        }
    }
}

/* 启动温度转换 */
void convert(void)
{
    TxReset();            // 产生复位脉冲,初始化DS18B20
    RxWait();            // 等待DS18B20给出应答脉冲
    delay(1);            // 延时
    WrByte(0xcc);        // skip rom 命令
    WrByte(0x44);        // convert T 命令
}

/* 读取温度值 */
void RdTemp(void)
{
    TxReset();            // 产生复位脉冲,初始化DS18B20 
    RxWait();            // 等待DS18B20给出应答脉冲
    delay(1);            // 延时
    WrByte(0xcc);        // skip rom 命令
    WrByte(0xbe);        // read scratchpad 命令
    tplsb = RdByte();    // 温度值低位字节(其中低4位为二进制的“小数”部分)
    tpmsb = RdByte();    // 高位值高位字节(其中高5位为符号位) 
    wendu=(tplsb+tpmsb*256)*0.0625;
    temp=wendu;
}
/*******************************************************/
uchar code hanzi0[67][32]={
/*--  文字:  00 --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x24,0x24,0x42,0x42,0x42,0x42,0x42,0x42,
0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x24,0x18,0x18,0x00,0x00,0x00,0x00,

/*--  文字:  01  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x08,0x24,0x0E,0x42,0x08,0x42,0x08,0x42,0x08,
0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x24,0x08,0x18,0x3E,0x00,0x00,0x00,0x00,

/*--  文字:  02  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3C,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x20,
0x42,0x20,0x42,0x10,0x42,0x08,0x42,0x04,0x24,0x42,0x18,0x7E,0x00,0x00,0x00,0x00,

/*--  文字:  03  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3C,0x24,0x42,0x42,0x42,0x42,0x20,0x42,0x18,
0x42,0x20,0x42,0x40,0x42,0x40,0x42,0x42,0x24,0x22,0x18,0x1C,0x00,0x00,0x00,0x00,

/*--  文字:  04  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x20,0x24,0x30,0x42,0x28,0x42,0x24,0x42,0x24,
0x42,0x22,0x42,0x22,0x42,0x7E,0x42,0x20,0x24,0x20,0x18,0x78,0x00,0x00,0x00,0x00,

/*--  文字:  05  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x7E,0x24,0x02,0x42,0x02,0x42,0x02,0x42,0x1A,
0x42,0x26,0x42,0x40,0x42,0x40,0x42,0x42,0x24,0x22,0x18,0x1C,0x00,0x00,0x00,0x00,

/*--  文字:  06  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x38,0x24,0x24,0x42,0x02,0x42,0x02,0x42,0x1A,
0x42,0x26,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x24,0x18,0x18,0x00,0x00,0x00,0x00,

/*--  文字:  07  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x7E,0x24,0x22,0x42,0x22,0x42,0x10,0x42,0x10,
0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x24,0x08,0x18,0x08,0x00,0x00,0x00,0x00,

/*--  文字:  08  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3C,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x24,
0x42,0x18,0x42,0x24,0x42,0x42,0x42,0x42,0x24,0x42,0x18,0x3C,0x00,0x00,0x00,0x00,

/*--  文字:  09  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x24,0x24,0x42,0x42,0x42,0x42,0x42,0x42,
0x42,0x64,0x42,0x58,0x42,0x40,0x42,0x40,0x24,0x24,0x18,0x1C,0x00,0x00,0x00,0x00,

/*--  文字:  10  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x18,0x0E,0x24,0x08,0x42,0x08,0x42,0x08,0x42,
0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x24,0x3E,0x18,0x00,0x00,0x00,0x00,

/*--  文字:  11  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x0E,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,
0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x3E,0x00,0x00,0x00,0x00,

/*--  文字:  12  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x3C,0x0E,0x42,0x08,0x42,0x08,0x42,0x08,0x20,
0x08,0x20,0x08,0x10,0x08,0x08,0x08,0x04,0x08,0x42,0x3E,0x7E,0x00,0x00,0x00,0x00,

/*--  文字:  13  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x3C,0x0E,0x42,0x08,0x42,0x08,0x20,0x08,0x18,
0x08,0x20,0x08,0x40,0x08,0x40,0x08,0x42,0x08,0x22,0x3E,0x1C,0x00,0x00,0x00,0x00,


/*--  文字:  14  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x20,0x0E,0x30,0x08,0x28,0x08,0x24,0x08,0x24,
0x08,0x22,0x08,0x22,0x08,0x7E,0x08,0x20,0x08,0x20,0x3E,0x78,0x00,0x00,0x00,0x00,

/*--  文字:  15  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x7E,0x0E,0x02,0x08,0x02,0x08,0x02,0x08,0x1A,
0x08,0x26,0x08,0x40,0x08,0x40,0x08,0x42,0x08,0x22,0x3E,0x1C,0x00,0x00,0x00,0x00,

/*--  文字:  16  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x38,0x0E,0x24,0x08,0x02,0x08,0x02,0x08,0x1A,
0x08,0x26,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x24,0x3E,0x18,0x00,0x00,0x00,0x00,

/*--  文字:  17  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x7E,0x0E,0x22,0x08,0x22,0x08,0x10,0x08,0x10,
0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x08,0x00,0x00,0x00,0x00,


/*--  文字:  18  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x3C,0x0E,0x42,0x08,0x42,0x08,0x42,0x08,0x24,
0x08,0x18,0x08,0x24,0x08,0x42,0x08,0x42,0x08,0x42,0x3E,0x3C,0x00,0x00,0x00,0x00,

/*--  文字:  19  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x18,0x0E,0x24,0x08,0x42,0x08,0x42,0x08,0x42,
0x08,0x64,0x08,0x58,0x08,0x40,0x08,0x40,0x08,0x24,0x3E,0x1C,0x00,0x00,0x00,0x00,

/*--  文字:  20 --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x18,0x42,0x24,0x42,0x42,0x42,0x42,0x20,0x42,
0x20,0x42,0x10,0x42,0x08,0x42,0x04,0x42,0x42,0x24,0x7E,0x18,0x00,0x00,0x00,0x00,

/*--  文字:  21  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x08,0x42,0x0E,0x42,0x08,0x42,0x08,0x20,0x08,
0x20,0x08,0x10,0x08,0x08,0x08,0x04,0x08,0x42,0x08,0x7E,0x3E,0x00,0x00,0x00,0x00,

/*--  文字:  22  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x20,0x20,
0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x42,0x42,0x7E,0x7E,0x00,0x00,0x00,0x00,

/*--  文字:  23  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x3C,0x42,0x42,0x42,0x42,0x42,0x20,0x20,0x18,
0x20,0x20,0x10,0x40,0x08,0x40,0x04,0x42,0x42,0x22,0x7E,0x1C,0x00,0x00,0x00,0x00,

/*--  文字:  24  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x20,0x42,0x30,0x42,0x28,0x42,0x24,0x20,0x24,
0x20,0x22,0x10,0x22,0x08,0x7E,0x04,0x20,0x42,0x20,0x7E,0x78,0x00,0x00,0x00,0x00,

/*--  文字:  25  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x7E,0x42,0x02,0x42,0x02,0x42,0x02,0x20,0x1A,
0x20,0x26,0x10,0x40,0x08,0x40,0x04,0x42,0x42,0x22,0x7E,0x1C,0x00,0x00,0x00,0x00,

/*--  文字:  26  --*/

⌨️ 快捷键说明

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