久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1457|回復: 2
打印 上一主題 下一主題
收起左側(cè)

基于52單片機,可調(diào)時鐘不能再oled上顯示

[復制鏈接]
回帖獎勵 5 黑幣 回復本帖可獲得 5 黑幣獎勵! 每人限 1 次(中獎概率 50%)
跳轉(zhuǎn)到指定樓層
樓主
ID:671688 發(fā)表于 2023-3-31 17:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
可調(diào)時鐘不能在四針腳oled上顯示問題 10-1 DS1302時鐘.zip (107.83 KB, 下載次數(shù): 7)
大佬能幫我看看,基于stc89c52單片機,可調(diào)時鐘不能在四針腳oled上顯示,程序哪出了問題
#include <REGX52.H>
#include "OLED.h"
#include "DS1302.h"
#include "Key.h"
#include "Timer0.h"
#include "Delay.H"

#define uchar unsigned char   
#define uint unsigned int

unsigned char KeyNum,SHOW_MODE,TimeSetFlashFlag;
char TimeSetSelect;

void TimeShow(void)
{
        DS1302_ReadTime();
        OLED_ShowNum(0,3,DS1302_Time[0]/10,1,8);        
        OLED_ShowNum(7,3,DS1302_Time[0]%10,1,8);        
        OLED_ShowString(15,3,"-",8);               
        OLED_ShowNum(22,3,DS1302_Time[1]/10,1,8);        
        OLED_ShowNum(29,3,DS1302_Time[1]%10,1,8);
        OLED_ShowString(35,3,"-",8);
        OLED_ShowNum(42,3,DS1302_Time[2]/10,1,8);
        OLED_ShowNum(49,3,DS1302_Time[2]%10,1,8);
        OLED_ShowNum(0,4,DS1302_Time[3]/10,1,8);
        OLED_ShowNum(7,4,DS1302_Time[3]%10,1,8);
        OLED_ShowString(15,4,":",8);
        OLED_ShowNum(22,4,DS1302_Time[4]/10,1,8);
        OLED_ShowNum(29,4,DS1302_Time[4]%10,1,8);
        OLED_ShowString(35,4,":",8);
        OLED_ShowNum(42,4,DS1302_Time[5]/10,1,8);
        OLED_ShowNum(49,4,DS1302_Time[5]%10,1,8);
}

void TimeSet(void)
{
        if(KeyNum==2){TimeSetSelect++;if(TimeSetSelect>5){TimeSetSelect=0;}}
        if(KeyNum==3){TimeSetSelect--;if(TimeSetSelect<0){TimeSetSelect=5;}}        
        
        if(KeyNum==4)
        {
                DS1302_Time[TimeSetSelect]++;
                if(DS1302_Time[0]>99){DS1302_Time[0]=0;}
                if(DS1302_Time[1]>12){DS1302_Time[1]=1;}
                if( DS1302_Time[1]==1 || DS1302_Time[1]==3 || DS1302_Time[1]==5 || DS1302_Time[1]==7 ||
                        DS1302_Time[1]==8 || DS1302_Time[1]==10 || DS1302_Time[1]==12)
                {
                        if(DS1302_Time[2]>31){DS1302_Time[2]=1;}
                }
                else if(DS1302_Time[1]==4 || DS1302_Time[1]==6 || DS1302_Time[1]==9 || DS1302_Time[1]==11)
                {
                        if(DS1302_Time[2]>30){DS1302_Time[2]=1;}
                }
                else if(DS1302_Time[1]==2)
                {
                        if(DS1302_Time[0]%4==0)
                        {
                                if(DS1302_Time[2]>29){DS1302_Time[2]=1;}
                        }
                        else
                        {
                                if(DS1302_Time[2]>28){DS1302_Time[2]=1;}
                        }
                }
                if(DS1302_Time[3]>23){DS1302_Time[3]=0;}
                if(DS1302_Time[4]>59){DS1302_Time[4]=0;}
                if(DS1302_Time[5]>59){DS1302_Time[5]=0;}
        }
        if(KeyNum==5)
        {
                DS1302_Time[TimeSetSelect]--;
                if(DS1302_Time[0]<0){DS1302_Time[0]=99;}
                if(DS1302_Time[1]<1){DS1302_Time[1]=12;}
                if( DS1302_Time[1]==1 || DS1302_Time[1]==3 || DS1302_Time[1]==5 || DS1302_Time[1]==7 ||
                        DS1302_Time[1]==8 || DS1302_Time[1]==10 || DS1302_Time[1]==12)
                {
                        if(DS1302_Time[2]<1){DS1302_Time[2]=31;}
                        if(DS1302_Time[2]>31){DS1302_Time[2]=1;}
                }
                else if(DS1302_Time[1]==4 || DS1302_Time[1]==6 || DS1302_Time[1]==9 || DS1302_Time[1]==11)
                {
                        if(DS1302_Time[2]<1){DS1302_Time[2]=30;}
                        if(DS1302_Time[2]>30){DS1302_Time[2]=1;}
                }
                else if(DS1302_Time[1]==2)
                {
                        if(DS1302_Time[0]%4==0)
                        {
                                if(DS1302_Time[2]<1){DS1302_Time[2]=29;}
                                if(DS1302_Time[2]>29){DS1302_Time[2]=1;}
                        }
                        else
                        {
                                if(DS1302_Time[2]<1){DS1302_Time[2]=28;}
                                if(DS1302_Time[2]>28){DS1302_Time[2]=1;}
                        }
                }
                if(DS1302_Time[3]<0){DS1302_Time[3]=23;}
                if(DS1302_Time[4]<0){DS1302_Time[4]=59;}
                if(DS1302_Time[5]<0){DS1302_Time[5]=59;}
        }
        if(TimeSetSelect==0 && TimeSetFlashFlag==1){OLED_ShowString(0,3,"  ",8);}
        else {OLED_ShowNum(0,3,DS1302_Time[0]/10,1,8);OLED_ShowNum(7,3,DS1302_Time[0]%10,1,8);}
        if(TimeSetSelect==1 && TimeSetFlashFlag==1){OLED_ShowString(22,3,"  ",8);}
        else {OLED_ShowNum(22,3,DS1302_Time[1]/10,1,8);OLED_ShowNum(29,3,DS1302_Time[1]%10,1,8);}
        if(TimeSetSelect==2 && TimeSetFlashFlag==1){OLED_ShowString(42,3,"  ",8);}
        else {OLED_ShowNum(42,3,DS1302_Time[2]/10,1,8);OLED_ShowNum(49,3,DS1302_Time[2]%10,1,8);}
        if(TimeSetSelect==3 && TimeSetFlashFlag==1){OLED_ShowString(0,4,"  ",8);}
        else {OLED_ShowNum(0,4,DS1302_Time[3]/10,1,8);OLED_ShowNum(7,4,DS1302_Time[3]%10,1,8);}
        if(TimeSetSelect==4 && TimeSetFlashFlag==1){OLED_ShowString(22,4,"  ",8);}
        else {OLED_ShowNum(22,4,DS1302_Time[4]/10,1,8);OLED_ShowNum(29,4,DS1302_Time[4]%10,1,8);}
        if(TimeSetSelect==5 && TimeSetFlashFlag==1){OLED_ShowString(42,4,"  ",8);}
        else {OLED_ShowNum(42,4,DS1302_Time[5]/10,1,8);OLED_ShowNum(49,4,DS1302_Time[5]%10,1,8);}
}


void main()
{
        OLED_Init();
        OLED_Clear();
        DS1302_Init();
    Timer0_Init();
        
        DS1302_SetTime();//設(shè)置時間
        
        while(1)
        {
                KeyNum=Key_shi();
                if(KeyNum==1)
                {
                        if(SHOW_MODE==0){SHOW_MODE=1;TimeSetSelect=0;}
                        else if(SHOW_MODE==1){SHOW_MODE=0;DS1302_SetTime();}
                }
                switch(SHOW_MODE)
                {
                        case 0:TimeShow();break;
                        case 1:TimeSet();break;
                }                                

        }
}


void Timer0_Routine() interrupt 1
{
        static unsigned int T0Count;
        TL0 = 0x66;               
        TH0 = 0xFC;               
        T0Count++;
        if(T0Count>=500)
        {
                T0Count=0;
                TimeSetFlashFlag=!TimeSetFlashFlag;
        }
}

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

使用道具 舉報

沙發(fā)
ID:384109 發(fā)表于 2023-4-2 08:11 | 只看該作者
主程序里就沒有要顯示時間啊
回復

使用道具 舉報

板凳
ID:671688 發(fā)表于 2023-4-12 10:32 | 只看該作者
人中狼 發(fā)表于 2023-4-2 08:11
主程序里就沒有要顯示時間啊

有呀,show_mode里面模式0就是顯示時間啊
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线观看中文字幕 | 国产69久久精品成人看动漫 | 亚洲视频免费在线观看 | a黄毛片 | 国产精品一区二区三区在线 | 久久久久国产一区二区三区四区 | 精品久久久久久亚洲国产800 | 在线观看电影av | 精品久久国产 | 亚洲人成人一区二区在线观看 | 99热这里有精品 | 国内激情av片| 日韩成人av在线 | 国产综合精品一区二区三区 | 爱爱无遮挡 | 日日夜夜免费精品 | 国产日韩欧美中文字幕 | 精品一区在线看 | 精品国产乱码久久久久久蜜柚 | 国产福利视频网站 | 精品国产18久久久久久二百 | 亚洲一区视频在线 | 男女国产网站 | 在线欧美一区二区 | 亚洲精品视频在线 | 看片91| 波波电影院一区二区三区 | 高清国产一区二区 | 日韩电影一区 | 国产精品18毛片一区二区 | 91极品尤物在线播放国产 | 国产ts人妖另类 | 亚洲综合无码一区二区 | 羞羞的视频在线观看 | 久久久精选 | 久久精彩视频 | 日韩三级电影一区二区 | 99精品国产一区二区三区 | 国产成人精品免费视频大全最热 | 2018中文字幕第一页 | 精品久久久久一区二区国产 |