基于51,萬年歷,附帶OLED,溫感
單片機源程序如下:
- /**************************************************************************************
- 實驗名稱:電子萬年歷(DS1302+LCD1602)
- 實驗現象:開機時,當按下K1鍵第1次,進入日期和時間設定模式,此時光標會在要調整的時間位置閃爍,可通過K3鍵進行數據加1,
- 如需切換所要調整的時間位置,可按K2鍵切換。當按下K1鍵第2次,進入鬧鐘設置模式(時-分),
- 此時光標同樣在所要調整的時間位置閃爍,
- 2、通過K3鍵進行數據加1,如需切換所要調整的時間位置,
- 可按K2鍵切換,要讓鬧鐘開啟,除了設定對應的時間外,還需要設置鬧鐘開關為“ON”。
- 當按下K1鍵第3次,又會回到剛才日期和時間設定模式,如此循環。當設定完成后,
- 可按下K12鍵8次。時間會按照預定設定進行,
- 如果開啟鬧鐘,當前時間(時-分)如果與鬧鈴時間(時-分)相等,
- 則蜂鳴器發出聲音,半分鐘以后則停止。
- 注意事項:接入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);
- /*******************************************************************************
- * 函 數 名 : main
- * 函數功能 : 主函數
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- 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)
- {
-
- }
- }
復制代碼 原理圖:無
仿真:無
Keil代碼下載:
萬年歷(最終).7z
(66.47 KB, 下載次數: 94)
2023-6-13 05:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|