資源簡介
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個文件信息
- 上一篇:車載導航源碼
- 下一篇:無懈可擊的Web設計英文版
評論
共有 條評論