找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3956|回復(fù): 13
打印 上一主題 下一主題
收起左側(cè)

STC12c5a60s2單片機(jī)ds1302+0.96寸oled顯示程序 萬能板疊起來制作的

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
  • 單片機(jī)用的是stc12c5a60s2
  • 顯示屏用0.96寸的oled
  • 時(shí)鐘芯片DS1302
  • 用兩塊4x6cm的萬能板疊起來制作的,所以比較迷你型,不過麻雀雖小,五臟俱全,如下圖
  • 上層正面
  • 上層背面
  • 下層正面

下層背面

11.電路圖如下



12.本來打算用type-c供電的,后面發(fā)現(xiàn)顯示屏一直不亮,一度懷疑是我程序問題,排除了很多因素,因?yàn)榉(wěn)壓我用的是78l05
后面查了78L05數(shù)據(jù)手冊才發(fā)現(xiàn)芯片要有1.7v以上壓差才能有5V輸出,所以我暫時(shí)用7V的電池供電,以后再改善一下


單片機(jī)源程序如下:
#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        



//主函數(shù)
void main()
{
  TMOD=0x11;       //指定定時(shí)/計(jì)數(shù)器的工作方式為3
        TH0=0;           //定時(shí)器T0的高四位=0
        TL0=0;           //定時(shí)器T0的低四位=0
        EA=1;            //開總中斷
        ET0=1;           //允許T0中斷
        TR0=1;           //開啟中斷,啟動(dòng)定時(shí)器

        OLED_Init() ;     //液晶屏初始化子函數(shù)
        OLED_ColorTurn(0);  //0正常顯示,1 反色顯示
        OLED_DisplayTurn(0);  //0正常顯示 1 屏幕翻轉(zhuǎn)顯示
        //welcome0();  //調(diào)用歡迎信息1
        ds1302_init();   //DS1302時(shí)鐘的初始化子函數(shù)
        led=1;
        n=0;
  while(1)
{

    key();



}
}

void timer0() interrupt 1  //取得并顯示日歷和時(shí)間
{           

  sec  = BCD(read_1302(0x81));//讀取1302的秒數(shù)據(jù)并轉(zhuǎn)換成十進(jìn)制數(shù)
  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);//  顯示時(shí)
        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);           //寫星期函數(shù)



}

Keil代碼下載: 源碼+圖紙.7z (51.52 KB, 下載次數(shù): 105)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:301191 發(fā)表于 2022-4-4 14:29 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:262 發(fā)表于 2022-4-9 18:27 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

地板
ID:25231 發(fā)表于 2022-4-10 02:59 來自手機(jī) | 只看該作者
高人,51hei有你更精彩
回復(fù)

使用道具 舉報(bào)

5#
ID:229641 發(fā)表于 2022-4-10 06:39 來自手機(jī) | 只看該作者
上3231吧…
回復(fù)

使用道具 舉報(bào)

6#
ID:25231 發(fā)表于 2022-4-11 18:31 來自手機(jī) | 只看該作者
樓主手工不錯(cuò)
回復(fù)

使用道具 舉報(bào)

7#
ID:498382 發(fā)表于 2022-5-13 21:27 | 只看該作者
好資料,51黑有你更精彩!
回復(fù)

使用道具 舉報(bào)

8#
ID:156220 發(fā)表于 2022-5-17 17:16 | 只看該作者

好資料,51黑有你更精彩! 謝謝 資料分享
回復(fù)

使用道具 舉報(bào)

9#
ID:829010 發(fā)表于 2022-5-19 18:51 | 只看該作者
有了type-c,就可以去掉7805了吧
回復(fù)

使用道具 舉報(bào)

10#
ID:1025323 發(fā)表于 2022-5-23 11:00 | 只看該作者
好資料,51黑有你更精彩!!
回復(fù)

使用道具 舉報(bào)

11#
ID:1029184 發(fā)表于 2022-5-24 10:07 | 只看該作者
好資料,學(xué)習(xí)了,謝謝
回復(fù)

使用道具 舉報(bào)

12#
ID:966485 發(fā)表于 2022-5-25 08:10 | 只看該作者
我一直想學(xué)單片機(jī)控制OLED漢字顯示謝謝分享
回復(fù)

使用道具 舉報(bào)

13#
ID:961300 發(fā)表于 2022-5-26 15:16 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

14#
ID:645485 發(fā)表于 2022-5-26 23:41 | 只看該作者
感謝樓主分享!同時(shí)希望大家可以開源更多自己實(shí)驗(yàn)驗(yàn)證過的東西!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表