仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
單片機源程序如下:
- /**************************************************************************************
- 實驗名稱:電子萬年歷(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_ShowNum(2,4,12,4);//最后一個顯示數位,這個顯示0012
- calendar_test();
- while(1)
- {
- }
- }
復制代碼
所有資料51hei附件下載:
oled與1602仿真萬年歷.7z
(166.18 KB, 下載次數: 28)
2024-2-22 00:45 上傳
點擊文件名下載附件
OLED和1602仿真萬年歷,帶溫度和按鍵調節
|