• 大小: 12.03MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-01
  • 语言: 其他
  • 标签:

资源简介

6位荧光(VFD)时钟的PCB+SCH+源码开源,原理图是由严泽远的改进而来,PCB自行绘制。在此感谢前辈的无私奉献提供了原理图的图片与代码。原理图有点小问题,请看我的博客讲解:http://blog.csdn.net/nangua1995/article/details/79047947 MCU采用STC12C5620AD 1、红外线遥控器解码模块; 2、DS3231完整的通讯及操作模块(包括时间日期读取、设定,闹钟读取、设定); 3、74HC595完整的通讯函数; 4、RGB LED全彩控制IC(LPD6803)的完整通讯程序; 5、三种荧光管数字呼吸切换效果的完整实现程序; 6、DS18B20温度传感器完整的读取温度函数; 7、公历与农历的换算完整函数代码; 8、STC内部EEPROM完整的存储及读取函数代码;

资源截图

代码片段和文件信息

/**************************************
;WWW.STCMCU.COM
;Mobile:13922805190
;0755-82948412
温度传感器DS18B20测试程序
主芯片  : STC12C5A60S2 (1T)
工作频率: 12.000MHz
**************************************/

#include  //加载STC12C5620AD.H头文件
#include “INTRINS.H“

typedef unsigned char BYTE;

sbit DQ = P1^6;                     //DS18B20的数据口位P1.6
BYTE TPH;                           //存放温度值的高字节
BYTE TPL;                           //存放温度值的低字节

void DelayXus(BYTE n);
void DS18B20_Reset();
void DS18B20_WriteByte(BYTE dat);
BYTE DS18B20_ReadByte();

unsigned int GetTemp() //获取温度值 0:C 1:F
{
    DS18B20_Reset();                //设备复位
    DS18B20_WriteByte(0xCC);        //跳过ROM命令
    DS18B20_WriteByte(0x44);        //开始转换命令
    while (!DQ);                    //等待转换完成

    DS18B20_Reset();                //设备复位
    DS18B20_WriteByte(0xCC);        //跳过ROM命令
    DS18B20_WriteByte(0xBE);        //读暂存存储器命令
    TPL = DS18B20_ReadByte();       //读温度低字节
    TPH = DS18B20_ReadByte();       //读温度高字节
 
return (TPH*0x100+TPL)/16;
}

/**************************************
延时X微秒(STC12C5A60S2@12M)
不同的工作环境需要调整此函数
此延时函数是使用1T的指令周期进行计算与传统的12T的MCU不同
**************************************/
void DelayXus(BYTE n)
{
    while (n--)
    {
        _nop_();
        _nop_();
    }
}

/**************************************
复位DS18B20并检测设备是否存在
**************************************/
void DS18B20_Reset()
{
    CY = 1;
    while (CY)
    {
        DQ = 0;                     //送出低电平复位信号
        DelayXus(240);              //延时至少480us
        DelayXus(240);
        DQ = 1;                     //释放数据线
        DelayXus(60);               //等待60us
        CY = DQ;                    //检测存在脉冲
        DelayXus(240);              //等待设备释放数据线
        DelayXus(180);
    }
}

/**************************************
从DS18B20读1字节数据
**************************************/
BYTE DS18B20_ReadByte()
{
    BYTE i;
    BYTE dat = 0;

    for (i=0; i<8; i++)             //8位计数器
    {
        dat >>= 1;
        DQ = 0;                     //开始时间片
        DelayXus(1);                //延时等待
        DQ = 1;                     //准备接收
        DelayXus(1);                //接收延时
        if (DQ) dat |= 0x80;        //读取数据
        DelayXus(60);               //等待时间片结束
    }

    return dat;
}

/**************************************
向DS18B20写1字节数据
**************************************/
void DS18B20_WriteByte(BYTE dat)
{
    char i;

    for (i=0; i<8; i++)             //8位计数器
    {
        DQ = 0;                     //开始时间片
        DelayXus(1);                //延时等待
        dat >>= 1;                  //送出数据
        DQ = CY;
        DelayXus(60);               //等待时间片结束
        DQ = 1;                     //恢复数据线
        DelayXus(1);                //恢复延时
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3136  2011-02-06 16:03  NIXIE Clock YS13-3 v1.0.0 C Source\18B20.c

     文件       5695  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\18B20.LST

     文件       4796  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\18B20.OBJ

     文件       5232  2011-02-06 14:03  NIXIE Clock YS13-3 v1.0.0 C Source\Define.h

     文件       5878  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\DS3231.c

     文件      10080  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\DS3231.LST

     文件      14053  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\DS3231.OBJ

     文件        918  2011-02-05 15:48  NIXIE Clock YS13-3 v1.0.0 C Source\DS3231Variable.h

     文件       6040  2011-04-14 22:37  NIXIE Clock YS13-3 v1.0.0 C Source\EEPROM.c

     文件       9025  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\EEPROM.LST

     文件       4508  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\EEPROM.OBJ

     文件       2184  2017-11-07 19:50  NIXIE Clock YS13-3 v1.0.0 C Source\LPD6803.c

     文件       3931  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\LPD6803.LST

     文件       6657  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\LPD6803.OBJ

     文件        670  2011-02-01 18:52  NIXIE Clock YS13-3 v1.0.0 C Source\LPD6803Function.h

     文件        927  2011-02-01 18:22  NIXIE Clock YS13-3 v1.0.0 C Source\LPD6803Variable.h

     文件      52900  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\Main.c

     文件      86745  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\Main.LST

     文件      95890  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\Main.OBJ

     文件       4944  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\MainVariable.h

     文件      14478  2011-02-05 21:48  NIXIE Clock YS13-3 v1.0.0 C Source\MoonDay.c

     文件      21139  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\MoonDay.LST

     文件      15008  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\MoonDay.OBJ

     文件       6376  2005-03-22 15:22  NIXIE Clock YS13-3 v1.0.0 C Source\STARTUP.A51

     文件      14049  2011-02-01 17:49  NIXIE Clock YS13-3 v1.0.0 C Source\STARTUP.LST

     文件        749  2011-02-01 17:49  NIXIE Clock YS13-3 v1.0.0 C Source\STARTUP.OBJ

     文件       4138  2011-01-31 23:56  NIXIE Clock YS13-3 v1.0.0 C Source\STC12C5620AD.H

     文件     115207  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\YS18-3

     文件        285  2017-11-12 20:43  NIXIE Clock YS13-3 v1.0.0 C Source\YS18-3.build_log.htm

     文件      38493  2017-11-12 10:17  NIXIE Clock YS13-3 v1.0.0 C Source\YS18-3.hex

............此处省略27个文件信息

评论

共有 条评论

相关资源