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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2381|回復(fù): 2
收起左側(cè)

51單片機(jī)的一個(gè)電子日歷c程序如何才能切換到年月日?

[復(fù)制鏈接]
ID:563882 發(fā)表于 2019-12-20 11:36 | 顯示全部樓層 |閱讀模式
100黑幣
單片機(jī)上有八位共陰數(shù)碼管和一位共陽(yáng)數(shù)碼管
1、可以顯示時(shí)分秒:xx-xx-xx 按鍵可調(diào)
2、按鍵后可切換至年月日 例如20191220 按鍵可調(diào)
3、單一以為的共陽(yáng)數(shù)碼管顯示對(duì)應(yīng)的星期數(shù),比如星期一星期二

已經(jīng)能夠?qū)懗鰡我伙@示時(shí)分秒的程序了。但是不知道該怎么寫才能切換到年月日 還要顯示星期數(shù)求大佬指點(diǎn)
感激不盡

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit we = P2^3;
sbit du = P2^2;
sbit S2        = P3^0;
sbit S3 = P3^1;
uchar counter,second,min,hour;
uchar code leddata[17]={0x3f , 0x06 , 0x5b ,0x4f , 0x66 , 0x6d ,0x7d ,
                   0x07 , 0x7f , 0x6f ,0x77 , 0x7c , 0x39 ,
                   0x5e , 0x79 , 0x71 , 0x00};
void delay(uint z)
{
        uint x,y;
        for(x = z; x > 0; x--)
                for (y = 120;y > 0 ;y--);
}
void main()
{        
         TMOD = 0x10;//        定時(shí)器1工作模式1 16模式位定時(shí)器
         TH1 = 0x4b;
         TL1 = 0xfe;//定時(shí)50ms
         TR1 = 1;//啟動(dòng)定時(shí)器
         while(1)
         {
                  if(TF1 ==1)
                 {
                         TF1 = 0;
                        TH1 = 0x4b;
                        TL1 = 0xfe;
                         counter++;
                 }
                 if(counter == 19)
                 {
                         counter = 0;
                        second++;
                 if(second == 60)//記滿一分鐘
                 {
                         second = 0;
                         min++;
                 if(min == 60)//記滿一小時(shí)
                 {
                         min = 0;
                         hour++;
                 if(hour == 24)
                 {
                 hour = 0;
                                 }
                         }
                 }
        }                        
                                 P1 = 0xff;
                              
                                 we = 1;
                                 P1 = 0x7f;
                                 we = 0;

                                 du = 1;
                                 P1 = leddata[second%10];
                                 du = 0;
                                 delay(1);

                                 we = 1;
                                 P1 = 0xbf;
                                 we = 0;

                                 du = 1;
                                 P1 = leddata[second/10];
                                 du = 0;
                                 delay(1);

                                 we = 1;
                                 P1 = 0xef;
                                 we = 0;

                                 du = 1;
                                 P1 = leddata[min%10];
                                 du = 0;
                                 delay(1);

                                 we = 1;
                                 P1 = 0xf7;
                                 we = 0;

                                 du = 1;
                                 P1 = leddata[min/10];
                                 du = 0;
                                 delay(1);

                                 we = 1;
                                 P1 = 0xfd;
                                 we = 0;

                                 du = 1;
                                 P1 = leddata[hour%10];
                                 du = 0;
                                 delay(1);

                                 we = 1;
                                 P1 = 0xfe;
                                 we = 0;

                                 du = 1;
                                 P1 = leddata[hour/10];
                                 du = 0;
                                 delay(1);

                                 we = 1;
                                 P1 = 0xdf;
                                 we = 0;

                                 du = 1;
                                 P1 = 0x40;
                                 du = 0;
                                 delay(1);

                                 we = 1;
                                 P1 = 0xfb;
                                 we = 0;

                                 du = 1;
                                 P1 = 0x40;
                                 du = 0;
                                 delay(1);

                                 if(S2 == 0)
                                 {
                                  delay(1);
                                  if(S2 == 0)
                                  {
                                          delay(1);
                                        if(S2 == 0)
                                        {
                                        min++;
                                        if(min == 60)
                                        {min = 0; hour++;}
                                        while(!S2);
                                        }
                                  }
                                 }
                                 if(S3 == 0)
                                 {
                                 delay(1);
                                 if(S3 == 0)
                                  {
                                   delay(1);
                                   if(S3 == 0)
                                   {
                                           hour++;
                                        if(hour == 24)
                                        {hour = 0;}
                                        while(!S3);
                                   }
                                  }
                                 }
                }

}

51黑論壇_LY-51S V2.3 電路原理圖.pdf

108.24 KB, 下載次數(shù): 12

回復(fù)

使用道具 舉報(bào)

ID:235200 發(fā)表于 2019-12-20 15:00 | 顯示全部樓層
把要顯示的數(shù)建立一個(gè)與顯示位數(shù)相同的數(shù)組,數(shù)組中的內(nèi)容一段時(shí)間放時(shí)間數(shù)據(jù),一段時(shí)間放日歷數(shù)據(jù),單片機(jī)只要不斷循環(huán)去數(shù)組中取數(shù)據(jù)進(jìn)行顯示,這些就實(shí)現(xiàn)了切換
回復(fù)

使用道具 舉報(bào)

ID:151348 發(fā)表于 2019-12-20 15:18 | 顯示全部樓層
這個(gè)程序沒有包含年月日計(jì)算功能
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99国内精品久久久久久久 | 日日夜夜天天 | 午夜精品一区 | 成人精品系列 | 男女在线免费观看 | 亚欧性视频 | 国产精品成人av | 国产区在线观看 | 欧美精品一区二区在线观看 | 国产黄色大片在线免费观看 | 黑人一级黄色大片 | 欧美在线一区二区三区 | 人人性人人性碰国产 | 国产精品96久久久久久 | 日韩在线免费 | 日本不卡在线观看 | 婷婷在线视频 | www久久国产| www.国产一区 | 欧美精品一区久久 | 国产亚洲一区二区三区在线观看 | 亚洲精品色 | 午夜免费网站 | 性色视频 | 成人福利| 亚洲精品av在线 | 国产欧美视频一区二区三区 | 日韩精品| 国产日韩精品一区二区 | 伊人久久综合 | 欧美三级电影在线播放 | 一区二区三区中文 | 国产精品久久一区二区三区 | 亚洲最新在线 | a在线观看 | 四虎影 | 亚洲一区二区三区欧美 | 欧美视频在线观看 | 国产一级大片 | 亚洲高清在线观看 | 欧美精品久久久久久久久久 |