|
基于51,萬年歷,附帶OLED,溫感
單片機源程序如下:
- /**************************************************************************************
- 實驗名稱:電子萬年歷(DS1302+LCD1602)
- 實驗現(xiàn)象:開機時,當(dāng)按下K1鍵第1次,進入日期和時間設(shè)定模式,此時光標(biāo)會在要調(diào)整的時間位置閃爍,可通過K3鍵進行數(shù)據(jù)加1,
- 如需切換所要調(diào)整的時間位置,可按K2鍵切換。當(dāng)按下K1鍵第2次,進入鬧鐘設(shè)置模式(時-分),
- 此時光標(biāo)同樣在所要調(diào)整的時間位置閃爍,
- 2、通過K3鍵進行數(shù)據(jù)加1,如需切換所要調(diào)整的時間位置,
- 可按K2鍵切換,要讓鬧鐘開啟,除了設(shè)定對應(yīng)的時間外,還需要設(shè)置鬧鐘開關(guān)為“ON”。
- 當(dāng)按下K1鍵第3次,又會回到剛才日期和時間設(shè)定模式,如此循環(huán)。當(dāng)設(shè)定完成后,
- 可按下K12鍵8次。時間會按照預(yù)定設(shè)定進行,
- 如果開啟鬧鐘,當(dāng)前時間(時-分)如果與鬧鈴時間(時-分)相等,
- 則蜂鳴器發(fā)出聲音,半分鐘以后則停止。
- 注意事項:接入LCD1602
- ***************************************************************************************/
- #include "calendar.h"
- #include "lcd1602.h"
- #include "oled.h"
- #include <stdio.h>
- //extern void lcd1602_write_cmd(u8 cmd);
- //extern void lcd1602_write_data(u8 dat);
- /*******************************************************************************
- * 函 數(shù) 名 : main
- * 函數(shù)功能 : 主函數(shù)
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void main()
- {
- OLED_Init();
- OLED_ShowChinese(1,1,0);
- OLED_ShowChinese(1,2,2);
- OLED_ShowChinese(1,3,3);
- OLED_ShowChinese(1,4,4);
-
- OLED_ShowChinese(3,1,5);
- OLED_ShowChinese(3,2,6);
- OLED_ShowChinese(3,3,7);
- OLED_ShowChinese(3,4,8);
- OLED_ShowChinese(3,5,9);
- OLED_ShowChinese(4,1,10);
- OLED_ShowChinese(4,2,11);
- OLED_ShowChinese(4,3,12);
- OLED_ShowChinese(4,4,13);
- OLED_ShowChar(1,16,'C');
- calendar_test();
- while(1)
- {
-
- }
- }
復(fù)制代碼 原理圖:無
仿真:無
Keil代碼下載:
萬年歷(最終).7z
(66.47 KB, 下載次數(shù): 94)
2023-6-13 05:34 上傳
點擊文件名下載附件
|
|