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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12082|回復: 23
收起左側

DS3231時鐘程序

  [復制鏈接]
ID:238672 發表于 2017-10-11 19:25 | 顯示全部樓層 |閱讀模式
DS3231時鐘程序,51單片機控制,數碼管顯示,帶四個按鍵,可以自 動進行時間調整。
0.png
單片機源程序如下:
  1. #include <STC15W4K58S4.h>
  2. #include "read_or_write.h"
  3. #include "Interrupt.h"
  4. #include "led.h"
  5. #include "IIC.h"
  6. #include "key.h"
  7. #include "uart.h"
  8. #include "DS3231.h"

  9. static uchar f = 0;                              /*時間溫度狀態切換標志量*/
  10. static uchar flag;
  11. static unsigned int SUM = 1000;
  12. static unsigned int SUMM = 200;
  13. static unsigned int NO;
  14. int main()
  15. {
  16.         uchar set;
  17.         KEY = 0;                                         /*按鍵*/
  18.         ERRON = 1;
  19.         flag = 0;
  20.         
  21.         P2M0 = 0x00;
  22.         P2M1 = 0x00;
  23.         
  24.         Time[0] = 5;
  25.         Time[1] = 5;
  26.         Time[2] = 5;
  27.         Time[3] = 5;
  28.         init_uart1();                             /*初始化串口,用于監控代碼運行,方便調試*/
  29.         init_0();

  30.         init_DS3231(0x1C);      

  31.         /*初始化DS3231*/

  32.         
  33.         //OutChar(Set_time(0x0C,0x01,0x0) + '0');                /*設置時間*/
  34.         
  35.   Out_Time_WD();
  36.         init(f);                                 /*初始化定時器0,顯示時間*/
  37.         
  38.         Out_Time_WD();
  39.         
  40.         while(1)
  41.         {
  42.                 OutString("進入while\r\n");
  43.                 switch(KEY)
  44.                 {
  45.                         case 1:
  46.                                 if(!f)
  47.                                 {
  48.                                         flag = 1;
  49.                                         while(flag < 3)
  50.                                         {
  51.                                                 set = Key_NO();          /*檢測按鍵變化*/
  52.                                                 
  53.                                                 switch(set)
  54.                                                 {
  55.                                                         case 1: { if(flag == 1) W_char(H,hex_bcd(Hour)); if(flag == 2) W_char(M,hex_bcd(Minutes)); flag += 1; }                        break;       /*分鐘位開始閃爍*/
  56.                                                         case 2: set_time_key(flag); break;   /*加1*/
  57.                                                 }
  58.                                         }
  59.                                        
  60.                                         display_ms(100);
  61.                                         flag = 0;
  62.                                         KEY = 0;
  63.                                        
  64.                                 }
  65.                                 init(f);                           /*時間正常顯示*/
  66.                                 break;
  67.                                 
  68.                         /*
  69.                                 case 2:
  70.                           init(!f);                          /*顯示非當前模式*/
  71.      /* display_ms(5000);                   /*延時5秒*/
  72.                  /* init(f);                           /*顯示為當前模式*/                                       
  73.                 /*        break;
  74.                         */
  75.                                 
  76.                         case 3:
  77.                                 f = !f;                            /*切換狀態*/
  78.                                 init(f);                           /*顯示為設置的工作狀態*/
  79.                                 break;        
  80.                 }
  81.         }
  82. }

  83. void init_time0() interrupt 1
  84. {
  85.         uchar i,k;
  86.         uchar j = 1;
  87.         
  88.         
  89.         if(flag ==1)
  90.         {
  91.                 if(NO >= SUM)
  92.                 {
  93.                         i = 0;
  94.                         k = 4;
  95.                 }
  96.                 else
  97.                 {
  98.                         i = 0;
  99.                   k = 2;
  100.                 }
  101.         }
  102.         else if(flag == 2)
  103.         {
  104.                 if(NO >= SUM)
  105.                 {
  106.                         i = 0;
  107.                         k = 4;
  108.                 }
  109.                 else
  110.                 {
  111.                         i = 2;
  112.                   k = 4;
  113.                 }
  114.         }
  115.         else
  116.         {
  117.                 i = 0;
  118.                 k = 4;
  119.         }
  120.         
  121.         if(NO == 2*SUM)
  122.                  NO = 0;
  123.         NO += 1;
  124.         
  125.         for(;i < k; i++)
  126.         {
  127.                 if(f && i == 2)
  128.                 {
  129. ……………………

  130. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
DS3231SN.zip (99.96 KB, 下載次數: 417)

評分

參與人數 1黑幣 +3 收起 理由
vvv64 + 3 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:183763 發表于 2018-4-2 19:27 | 顯示全部樓層
這個沒人看嗎?帶幾個鬧鐘的呢
回復

使用道具 舉報

ID:58092 發表于 2018-4-5 15:00 | 顯示全部樓層
下載 看看   參考
回復

使用道具 舉報

ID:96881 發表于 2018-4-7 07:46 | 顯示全部樓層
模塊化的,下載學習,謝謝
回復

使用道具 舉報

ID:96881 發表于 2018-4-14 19:49 | 顯示全部樓層
請大家指教一下,因為我才開始學單片機,這個帖子里面LED的顯示程序的段選和位選分別是什么表示的,因為我初學只看到過在程序前面直接說明的,這個LED的兩個文件都看了也沒有看懂,所以請指導一下,謝謝
回復

使用道具 舉報

ID:78901 發表于 2018-6-7 23:17 | 顯示全部樓層
辛苦了,模塊化的,下載學習
回復

使用道具 舉報

ID:58092 發表于 2018-7-3 08:29 | 顯示全部樓層
下載 學習 一下  
回復

使用道具 舉報

ID:387328 發表于 2018-9-17 15:54 | 顯示全部樓層

好貼,有沒有二個調整鍵的呢?
回復

使用道具 舉報

ID:309092 發表于 2018-9-19 10:06 | 顯示全部樓層
學習下
回復

使用道具 舉報

ID:309092 發表于 2018-9-19 10:07 | 顯示全部樓層
學習學習,希望有幫助
回復

使用道具 舉報

ID:309092 發表于 2018-9-19 10:08 | 顯示全部樓層
下載學習下
回復

使用道具 舉報

ID:468714 發表于 2019-1-15 20:22 | 顯示全部樓層
cqhejian 發表于 2018-4-7 07:46
模塊化的,下載學習,謝謝

你好,請問您的關于ds3231的帖子里的資源包里都包括什么呢?
回復

使用道具 舉報

ID:202926 發表于 2019-1-15 23:55 | 顯示全部樓層
jhgvj 發表于 2019-1-15 20:22
你好,請問您的關于ds3231的帖子里的資源包里都包括什么呢?

就程序而已 其他什么都沒有,你看第一張圖就知道了
回復

使用道具 舉報

ID:237159 發表于 2019-6-5 13:16 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:57570 發表于 2019-9-1 20:38 來自手機 | 顯示全部樓層
按鍵能調嗎?
回復

使用道具 舉報

ID:507960 發表于 2019-9-6 21:29 | 顯示全部樓層
貌似沒看到你所說的 鬧鐘 功能
回復

使用道具 舉報

ID:546585 發表于 2019-11-21 20:53 | 顯示全部樓層
學習
回復

使用道具 舉報

ID:385168 發表于 2020-3-16 05:35 | 顯示全部樓層
正在學習ds3231,下載學習,謝謝分享。
回復

使用道具 舉報

ID:500396 發表于 2020-4-24 11:41 | 顯示全部樓層
感謝分享!
回復

使用道具 舉報

ID:831068 發表于 2021-1-9 09:12 | 顯示全部樓層
并沒有看到所謂的“帶幾個鬧鐘的呢
回復

使用道具 舉報

ID:829752 發表于 2021-1-12 17:55 | 顯示全部樓層
4個按鍵的功能分別是什么
回復

使用道具 舉報

ID:93502 發表于 2021-2-25 21:03 | 顯示全部樓層
樓主真高手!
回復

使用道具 舉報

ID:652804 發表于 2021-3-27 08:33 | 顯示全部樓層
模塊化的,下載學習,謝謝。
回復

使用道具 舉報

ID:884042 發表于 2021-5-29 18:08 | 顯示全部樓層
Equator 發表于 2019-9-6 21:29
貌似沒看到你所說的 鬧鐘 功能

我連調節鬧鐘的影子都沒看見,浪費我的黑幣
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久国产一区二区三区不卡 | 亚洲成人毛片 | 宅女噜噜66国产精品观看免费 | 欧美日韩亚洲在线 | 日本不卡免费新一二三区 | 日本网站免费观看 | 五月婷婷婷 | 国产成人精品一区二区三区在线观看 | 久久精品综合 | 亚洲一区二区三区在线免费观看 | 亚洲国产精品一区二区三区 | 精品久久九 | 亚洲一级av毛片 | 日韩av在线免费 | 第四色狠狠 | 91国语清晰打电话对白 | 成人av免费在线观看 | 精品日韩 | 特黄色毛片 | 男人av网 | 不卡一区二区三区四区 | 欧美日韩在线观看一区 | 国产精品久久av | 欧美激情综合色综合啪啪五月 | 久久福利电影 | 91五月天| 亚洲精品一区二区三区四区高清 | 国产在线观看一区二区 | 欧产日产国产精品v | 在线观看av网站永久 | 99视频在线免费观看 | 成人精品鲁一区一区二区 | 亚洲成人免费视频 | 一区二区三区视频在线免费观看 | 欧美性jizz18性欧美 | 久久91av | 免费黄色大片 | 一二三在线视频 | 免费美女网站 | 中文在线一区 | 欧美一区 |