- 單片機用的是stc12c5a60s2
- 顯示屏用0.96寸的oled
- 時鐘芯片DS1302
- 用兩塊4x6cm的萬能板疊起來制作的,所以比較迷你型,不過麻雀雖小,五臟俱全,如下圖
- 上層正面
-
1.jpg (1.92 MB, 下載次數: 68)
下載附件
2022-4-3 14:52 上傳
- 上層背面
-
2.jpg (2.36 MB, 下載次數: 82)
下載附件
2022-4-3 14:52 上傳
- 下層正面
-
3.jpg (2.58 MB, 下載次數: 69)
下載附件
2022-4-3 14:53 上傳
下層背面
4.jpg (2.89 MB, 下載次數: 80)
下載附件
2022-4-3 19:21 上傳
11.電路圖如下
51hei圖片_20220403153541.jpg (4.62 MB, 下載次數: 91)
下載附件
2022-4-3 15:37 上傳
12.本來打算用type-c供電的,后面發現顯示屏一直不亮,一度懷疑是我程序問題,排除了很多因素,因為穩壓我用的是78l05
后面查了78L05數據手冊才發現芯片要有1.7v以上壓差才能有5V輸出,所以我暫時用7V的電池供電,以后再改善一下
51hei圖片_20220403160814.jpg (1.96 MB, 下載次數: 74)
下載附件
2022-4-3 16:09 上傳
51hei圖片_20220403160758.jpg (2.14 MB, 下載次數: 84)
下載附件
2022-4-3 16:09 上傳
單片機源程序如下:
#include <reg51.h>
#include "delay.h"
#include "oledfont.h"
#include "bmp.h"
#include "oled.h"
#include "ds1302.h"
#define uchar unsigned char
#define uint unsigned int
//主函數
void main()
{
TMOD=0x11; //指定定時/計數器的工作方式為3
TH0=0; //定時器T0的高四位=0
TL0=0; //定時器T0的低四位=0
EA=1; //開總中斷
ET0=1; //允許T0中斷
TR0=1; //開啟中斷,啟動定時器
OLED_Init() ; //液晶屏初始化子函數
OLED_ColorTurn(0); //0正常顯示,1 反色顯示
OLED_DisplayTurn(0); //0正常顯示 1 屏幕翻轉顯示
//welcome0(); //調用歡迎信息1
ds1302_init(); //DS1302時鐘的初始化子函數
led=1;
n=0;
while(1)
{
key();
}
}
void timer0() interrupt 1 //取得并顯示日歷和時間
{
sec = BCD(read_1302(0x81));//讀取1302的秒數據并轉換成十進制數
min = BCD(read_1302(0x83));
hour = BCD(read_1302(0x85));
day = BCD(read_1302(0x87));
mouth= BCD(read_1302(0x89));
year = BCD(read_1302(0x8d));
week = BCD(read_1302(0x8b));
OLED_ShowNum(0,0,20,2,16);// 顯示20
OLED_ShowNum(16,0,year/10,1,16);// 顯示年
OLED_ShowNum(24,0,year%10,1,16);//
OLED_ShowChar(32,0,'-',16);//
OLED_ShowNum(40,0,mouth/10,1,16);// 顯示月
OLED_ShowNum(48,0,mouth%10,1,16);//
OLED_ShowChar(56,0,'-',16);//
OLED_ShowNum(64,0,day/10,1,16);// 顯示日
OLED_ShowNum(72,0,day%10,1,16);//
OLED_ShowNum(0,2,hour/10,1,16);// 顯示時
OLED_ShowNum(8,2,hour%10,1,16);//
OLED_ShowString(16,2,":",16);//
OLED_ShowNum(24,2,min/10,1,16);// 顯示分
OLED_ShowNum(32,2,min%10,1,16);//
OLED_ShowString(40,2,":",16);//
OLED_ShowNum(48,2,sec/10,1,16);// 顯示秒
OLED_ShowNum(56,2,sec%10,1,16);//
write_week(0,5,16,week); //寫星期函數
}
51hei.png (8.04 KB, 下載次數: 76)
下載附件
2022-4-9 18:26 上傳
Keil代碼下載:
源碼+圖紙.7z
(51.52 KB, 下載次數: 105)
2022-4-9 18:24 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|