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

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

QQ登錄

只需一步,快速開始

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

CaKen-51單片機(jī)-1寸數(shù)碼管時(shí)鐘源碼與資料

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
今天發(fā)現(xiàn)了一個(gè)CaKen-51-1寸數(shù)碼管時(shí)鐘。現(xiàn)在分享給大家,先上幾張圖。附件里有兩套程序和原理圖


LED時(shí)鐘使用說(shuō)明
1、安裝完成后,給電路進(jìn)行復(fù)位一下時(shí)鐘才能正常工作,方法如下:(首次通電未復(fù)位前,顯示的是隨機(jī)數(shù))
(1)通電,先按住加按鍵不放,同時(shí)再按住OK按鍵,松開。這時(shí)顯示11:59,表示復(fù)位成功。5秒后顯示12:00。
2、顯示溫度:按一下OK按鍵,此時(shí)顯示溫度,精度為0.1。如想退出可按加按鍵退出到時(shí)鐘界面;
3、調(diào)時(shí):在溫度界面下,再按一下ok鍵,(小時(shí)數(shù)碼管在閃爍),按加鍵修改;
4、調(diào)分:再按一下ok鍵,(分鐘數(shù)碼管在閃爍),按加鍵修改;
5、調(diào)鬧鐘時(shí):再按一下功能鍵(時(shí)數(shù)碼管閃爍),按加鍵修改鬧鐘時(shí);
6、調(diào)鬧鐘分:再按一下功能鍵(分?jǐn)?shù)碼管閃爍),按加鍵修改鬧鐘分;
設(shè)定鬧鐘是否開:再按一下功能鍵(時(shí)、分、兩點(diǎn)數(shù)碼管顯示不動(dòng)),按加按鍵,第四數(shù)碼管右下角的指示點(diǎn)亮(鬧鐘開),指示點(diǎn)滅(鬧鐘關(guān))。
7、設(shè)定整點(diǎn)報(bào)時(shí)間:再按一下OK鍵(時(shí)數(shù)碼管閃爍),按加按鍵修改整點(diǎn)報(bào)時(shí)開始時(shí)間(如調(diào)到7,就是早上7點(diǎn)開始有整點(diǎn)報(bào)時(shí));再按一下OK鍵(分?jǐn)?shù)碼管閃爍),按加按鍵修改整點(diǎn)報(bào)時(shí)結(jié)束時(shí)間(如調(diào)到23,就是早上8點(diǎn)到晚上22點(diǎn)有整點(diǎn)報(bào)時(shí))按OK鍵退出。設(shè)定完成。                                    

單片機(jī)源程序如下:
  1. #include <reg51.h>
  2. #include <math.h>
  3. #include "ADC.H"
  4. #include "ds1302.h"


  5. bit flag, Bell_Swh=1,Hourb,Minb,Kgb,flag_read,dot_Bell=1,Bell_Swh1=1;//鬧鐘調(diào)時(shí)閃爍標(biāo)志位
  6. bit sec=0,min=0,hour=0,year=0,mon=0,day=0,weekk=0,hour_Bell=0,min_Bell=0,hour_time=0,min_time=0;flag_bell=0,bell_bug = 0; //閃爍標(biāo)志位
  7. unsigned char id,id2,d,e,S_1302,S1_1302,H_1302,H_Bell,S_Bell,H_time,S_time; //
  8. unsigned char disbuff[4]        ={0};
  9. unsigned char time=0;
  10. unsigned int temp[1];
  11. unsigned int temp_num = 0;

  12. unsigned char code LEDData1 [ ] = {  0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff }; //正0-9LED數(shù)值
  13. unsigned char code LEDData2 [ ] = {  0xc0,0xcf,0xA4,0x86,0x8B,0x92,0x90,0xc7,0x80,0x82,0xff }; //反0-9LED數(shù)值


  14. void Delayms(unsigned int di) //延時(shí)
  15. {
  16.         unsigned int da,db;
  17.         for(da=0;da<di;da++)
  18.                    for(db=0;db<10;db++);
  19. }
  20. void Display(void)  //掃描方式led1~led4循環(huán)點(diǎn)亮
  21. {
  22.    time++;
  23.    if(time==1)
  24.    {  
  25.            if(dot_Bell)
  26.          {
  27.        P2=LEDData1[disbuff[0]]&0x7f;// 0x7F點(diǎn)亮DP小數(shù)點(diǎn)
  28.        LED1=0; LED4=1;
  29.          }
  30.            else
  31.          {
  32.        P2=LEDData1[disbuff[0]];
  33.        LED1=0; LED4=1;
  34.          }
  35.    }

  36.    if(time==2)
  37.    {
  38.       if(id>=3)
  39.           {
  40.            P2=(LEDData2[disbuff[1]])&0x7F;
  41.        LED1=1; LED2=0;
  42.           }
  43.           else
  44.       if(flag)
  45.      {
  46.        P2=(LEDData2[disbuff[1]])&0x7F;
  47.        LED1=1; LED2=0;
  48.      }
  49.          else
  50.          {
  51.            P2=LEDData2[disbuff[1]];
  52.        LED1=1; LED2=0;
  53.          }
  54.    }

  55.    if(time==3)
  56.    {
  57.      if(id>=3)
  58.           {
  59.          P2=LEDData1[disbuff[2]]&0x7f;
  60.          LED2=1; LED3=0;
  61.       }

  62.       else               
  63.       if(flag)
  64.           {
  65.          P2=LEDData1[disbuff[2]]&0x7f;
  66.          LED2=1; LED3=0;
  67.       }
  68.           else
  69.           {
  70.          P2=LEDData1[disbuff[2]];
  71.          LED2=1; LED3=0;
  72.       }
  73.         }
  74.           
  75.    if(time==4)
  76.    {
  77.      time=0;
  78.      if(disbuff[3]==0)
  79.     {
  80.       P2=LEDData1[10];
  81.       LED3=1; LED4=0;
  82.     }
  83.      else
  84.     {
  85.                 P2=LEDData1[disbuff[3]];
  86.         LED3=1; LED4=0;
  87.         }
  88.    }
  89. }



  90. /******************************************************************************/
  91. void Disp(void)//顯示和閃爍函數(shù)
  92. {
  93.         unsigned int i=0;
  94.         unsigned char a=0,b=0,c=0,f=0;

  95.         if(hour==1)  //小時(shí)閃爍標(biāo)志位
  96.     {
  97.             if(flag==1)
  98.                {   
  99.                         b=read_clock(0x85);//讀小時(shí)
  100.                  a=b;
  101.                 b=b>>4;
  102.                 a=a&0x0f;
  103.                     disbuff[3]=b;
  104.                     disbuff[2]=a;
  105.                }
  106.              else
  107.                {
  108.                    disbuff[2]=10;
  109.                    disbuff[3]=10;
  110.             }
  111.     }
  112.           else
  113.            {
  114.             if(flag_read==1)//250MS 讀一次

  115.                  {
  116.                          H_1302=read_clock(0x85);//讀小時(shí)
  117.                 b=read_clock(0x85);//讀小時(shí)
  118.                  a=b;
  119.                 b=b>>4;
  120.                 a=a&0x0f;
  121.                     disbuff[3]=b;
  122.                     disbuff[2]=a;
  123.                  }
  124.            }

  125.                
  126.         if(min==1)  //分鐘閃爍標(biāo)志位
  127.     {
  128.             if(flag==1)
  129.                {   
  130.                    d=read_clock(0x83);//讀分鐘
  131.                e=d;
  132.                d=d>>4;
  133.                e=e&0x0f;
  134.                    disbuff[1]=d;
  135.                       disbuff[0]=e;
  136.                }
  137.              else
  138.                {       
  139.                  disbuff[1]=10;
  140.                    disbuff[0]=10;
  141.                }
  142.     }
  143.           else
  144.     {
  145.          
  146.            if(flag_read==1)        //250MS讀寫一次
  147.            {
  148.                  S1_1302=read_clock(0x81);//讀秒
  149.              S_1302=read_clock(0x83);//讀分鐘
  150.              d=read_clock(0x83);//讀分鐘
  151.              e=d;
  152.              d=d>>4;
  153.              e=e&0x0f;
  154.                  disbuff[1]=d;
  155.                  disbuff[0]=e;
  156.            }
  157.     }
  158.                        
  159. }
  160. /******************************************************************************/
  161. void Disp2(void)//顯示和閃爍函數(shù)
  162. {
  163.         unsigned int i=0;
  164.         unsigned char a=0,b=0,c=0,f=0;


  165.         if(hour_Bell==1)  //小時(shí)閃爍標(biāo)志位
  166.     {
  167.             if(flag==1)
  168.                {                   
  169.                         b=read_clock(0xc3);//讀小時(shí)
  170.                  a=b;
  171.                 b=b>>4;
  172.                 a=a&0x0f;
  173.                     disbuff[3]=b;
  174.                     disbuff[2]=a;
  175.        
  176.                }
  177.              else
  178.                {
  179.                    disbuff[2]=10;
  180.                    disbuff[3]=10;
  181.             }
  182.     }
  183.           else
  184.            {
  185.             if(flag_read==1)
  186.                  {

  187.                     H_Bell=read_clock(0xc3);//讀取鬧鐘的時(shí)
  188.                 S_Bell=read_clock(0xc5);//讀取鬧鐘的分

  189.                 b=read_clock(0xc3);//讀小時(shí)
  190.                  a=b;
  191.                 b=b>>4;
  192.                 a=a&0x0f;
  193.                     disbuff[3]=b;
  194.                     disbuff[2]=a;
  195.                  }
  196.            }

  197.        
  198.                
  199.         if(min_Bell==1)  //分鐘閃爍標(biāo)志位
  200.     {
  201.             if(flag==1)
  202.                {   
  203.                    d=read_clock(0xc5);//讀分鐘
  204.                e=d;
  205.                d=d>>4;
  206.                e=e&0x0f;
  207.                    disbuff[1]=d;
  208.                       disbuff[0]=e;
  209.                }
  210.              else
  211.                {       
  212.                  disbuff[1]=10;
  213.                    disbuff[0]=10;
  214.                }
  215.     }
  216.           else
  217.     {
  218.          
  219.            if(flag_read==1)        //250MS讀寫一次
  220.            {
  221.              d=read_clock(0xc5);//讀分鐘
  222.              e=d;
  223.              d=d>>4;
  224.              e=e&0x0f;
  225.                  disbuff[1]=d;
  226.                  disbuff[0]=e;
  227.            }
  228.     }
  229.                        
  230. }
  231. /******************************************************************************/
  232. void Disp3(void)//顯示和閃爍函數(shù)
  233. {
  234.         unsigned int i=0;
  235.         unsigned char a=0,b=0,c=0,f=0;


  236.         if(hour_time==1)  //小時(shí)閃爍標(biāo)志位
  237.     {
  238.             if(flag==1)
  239.                {                   
  240.                         b=read_clock(0xc7);//讀小時(shí)
  241.                  a=b;
  242.                 b=b>>4;
  243.                 a=a&0x0f;
  244.                     disbuff[3]=b;
  245.                     disbuff[2]=a;
  246.        
  247.                }
  248.              else
  249.                {
  250.                    disbuff[2]=10;
  251.                    disbuff[3]=10;
  252.             }
  253.     }
  254.           else
  255.            {
  256.             if(flag_read==1)
  257.                  {

  258.                     H_time=read_clock(0xc7);//讀取鬧鐘的時(shí)
  259.                 S_time=read_clock(0xc9);//讀取鬧鐘的分
  260.                
  261.                         if(H_time>S_time)
  262.                         {
  263.                         unsigned char i;
  264.                         i=H_time;
  265.                         H_time=S_time;
  266.                         S_time=i;
  267.                         }

  268.        
  269.                 b=read_clock(0xc7);//讀小時(shí)
  270.                  a=b;
  271.                 b=b>>4;
  272.                 a=a&0x0f;
  273.                     disbuff[3]=b;
  274.                     disbuff[2]=a;
  275.                  }
  276.            }

  277.        
  278.                
  279.         if(min_time==1)  //分鐘閃爍標(biāo)志位
  280.     {
  281.             if(flag==1)
  282.                {   
  283.                    d=read_clock(0xc9);//讀分鐘
  284.                e=d;
  285.                d=d>>4;
  286.                e=e&0x0f;
  287.                    disbuff[1]=d;
  288.                       disbuff[0]=e;
  289.                }
  290.              else
  291.                {       
  292.                  disbuff[1]=10;
  293.                    disbuff[0]=10;
  294.                }
  295.     }
  296.           else
  297.     {
  298.          
  299.            if(flag_read==1)        //250MS讀寫一次
  300.            {
  301.              d=read_clock(0xc9);//讀分鐘
  302.              e=d;
  303.              d=d>>4;
  304.              e=e&0x0f;
  305.                  disbuff[1]=d;
  306.                  disbuff[0]=e;
  307.            }
  308.     }
  309.                        
  310. }


  311. /******************************************************************************/
  312.         void id_case1_key(void)//id為1時(shí)的下一級(jí)選擇
  313. {
  314.         if(Add_Key == 0) //增加
  315.     {
  316.             Delay(4000);
  317.                if(Add_Key == 0) {while(Add_Key ==0); Set_time(id,0); }
  318.          //調(diào)用Set_time函數(shù)
  319.                        
  320.     }
  321.   
  322. }

  323. /******************************************************************************/
  324. void id_case2_key(void)//id為1時(shí)的下一級(jí)選擇
  325. {
  326.         if(Add_Key == 0) //增加
  327.     {
  328.             Delay(4000);
  329.                if(Add_Key == 0) {while(Add_Key ==0); Set_Bell(id,0);}
  330.                    //        Set_Bell(id,0);  //調(diào)用Set_Bell函數(shù)
  331.                         //while(Add_Key ==0);
  332.     }
  333. }

  334. void id_AD_scan_key(void)
  335. {
  336.         if(Add_Key == 0)
  337.         {
  338.                 Delay(4000);
  339.                 if(Add_Key == 0)
  340.                 {
  341.                         ET1 = 0;
  342.                         id = 0;
  343.                         ET0 = 1;
  344.                 //        return;
  345.                 }
  346.         }
  347. }
  348. /******************************************************************************
  349. void id_case3_key(void)//id為1時(shí)的下一級(jí)選擇
  350. {
  351.         if(Add_Key == 0) //增加
  352.     {
  353.             Delay(300);
  354.                if(Add_Key == 0)
  355.                     {
  356.                   dot_Bell=~dot_Bell;
  357.               Bell_Swh=dot_Bell;
  358.               write_clock(0x8e,0x00);//允許寫操作
  359.                   write_clock(0xc8,Bell_Swh);
  360.           write_clock(0x8e,0x80);//寫保護(hù),禁止寫操作
  361.                   }
  362.                   while(Add_Key ==0);
  363.     }
  364.   
  365. }


  366. /******************************************************************************/
  367. void Set_Bell(unsigned char sel, bit sel_1)//根據(jù)選擇調(diào)整相應(yīng)項(xiàng)目
  368. {
  369.   signed char address,item;
  370.   signed char max,mini;
  371.   //if(sel==4)  {address=0xc6; max=59;mini=0;}    //秒
  372.   if(sel==4)  {address=0xc2; max=23; mini=0;}   //時(shí)
  373.   if(sel==5)  {address=0xc4; max=59;mini=0;}    //分

  374.   if(sel==6)                                                                          //標(biāo)志位
  375.   {
  376. //          address=0xc8;//for read
  377. //        if(Add_Key ==0 || Dec_Key ==0)
  378. //        Bell_Swh=~Bell_Swh;
  379. //        write_clock(address,Bell_Swh);
  380.           //address=0xc8;
  381.           dot_Bell=~dot_Bell;
  382.               Bell_Swh=dot_Bell;
  383.               write_clock(0x8e,0x00);//允許寫操作
  384.                   write_clock(0xca,Bell_Swh);
  385.           write_clock(0x8e,0x80);//寫保護(hù),禁止寫操作
  386.   }    //開關(guān)
  387.   if(sel==7)  {address=0xc6; max=23;mini=0;}    //分
  388.   if(sel==8)  {address=0xc8; max=23; mini=0;}   //時(shí)

  389.     if(sel==9)                                                                          //標(biāo)志位
  390.   {
  391. //          address=0xc8;//for read
  392. //        if(Add_Key ==0 || Dec_Key ==0)
  393. //        Bell_Swh=~Bell_Swh;
  394. //        write_clock(address,Bell_Swh);
  395.           //address=0xc8;
  396.           dot_Bell=~dot_Bell;
  397.               Bell_Swh1=dot_Bell;
  398.               write_clock(0x8e,0x00);//允許寫操作
  399.                   write_clock(0xcc,Bell_Swh1);
  400.           write_clock(0x8e,0x80);//寫保護(hù),禁止寫操作
  401.   }    //開關(guān)


  402.   item=((read_clock(address+1))/16)*10 + (read_clock(address+1))%16;
  403.   if(sel_1==0)
  404.           item++;  
  405.   else
  406.           item--;
  407.   if(item>max) item=mini;   
  408.   if(item<mini) item=max;

  409.   write_clock(0x8e,0x00);//允許寫操作
  410.   write_clock(address,(item/10)*16+item%10);//轉(zhuǎn)換成16進(jìn)制寫入1302
  411.   write_clock(0x8e,0x80);//寫保護(hù),禁止寫操作
  412. }

  413. /******************************************************************************/
  414. void Timer0_Init(void)//定時(shí)器0初始化
  415. {
  416.         /*
  417.         AUXR &= 0x7F;                //定時(shí)器時(shí)鐘12T模式
  418.         TMOD &= 0xF0;                //設(shè)置定時(shí)器模式
  419.         TL0 = 0x18;                //設(shè)置定時(shí)初值
  420.         TH0 = 0xFC;                //設(shè)置定時(shí)初值
  421.         TF0 = 0;                //清除TF0標(biāo)志
  422.         TR0 = 1;                //定時(shí)器0開始計(jì)時(shí)
  423.         ET0=  1;*/
  424.        
  425. /*
  426. //2毫秒@6.000MHz
  427.         AUXR |= 0x80;                //定時(shí)器時(shí)鐘1T模式
  428.         TMOD &= 0xF0;                //設(shè)置定時(shí)器模式       
  429.         TL0 = 0x20;                //設(shè)置定時(shí)初值
  430.         TH0 = 0xD1;                //設(shè)置定時(shí)初值
  431.         TF0 = 0;                //清除TF0標(biāo)志
  432.         TR0 = 1;                //定時(shí)器0開始計(jì)時(shí)       
  433.         ET0 = 1; //enable timer0 interrupt*/

  434.        
  435. //2毫秒@12.000MHz
  436.   AUXR |= 0x80;                //定時(shí)器時(shí)鐘1T模式
  437.         TMOD &= 0xF0;        //設(shè)置定時(shí)器模式       
  438.         TL0 = 0x40;                //設(shè)置定時(shí)初值
  439.         TH0 = 0xA2;                //設(shè)置定時(shí)初值
  440.         TF0 = 0;                //清除TF0標(biāo)志
  441.         TR0 = 1;        //定時(shí)器0開始計(jì)時(shí)       
  442.         ET0 = 1; //enable timer0 interrupt

  443. }

  444. void Timer1Init(void)                //20毫秒@12.000MHz
  445. {
  446.         AUXR &= 0xBF;                //定時(shí)器時(shí)鐘12T模式
  447.         TMOD &= 0x0F;                //設(shè)置定時(shí)器模式       
  448.         TL1 = 0xE0;                //設(shè)置定時(shí)初值
  449.         TH1 = 0xB1;                //設(shè)置定時(shí)初值
  450.         TF1 = 0;                //清除TF1標(biāo)志
  451.         TR1 = 1;                //定時(shí)器1開始計(jì)時(shí)       
  452. }

  453. /******************************************************************************/
  454. void Timer0(void) interrupt 1 using 1//中斷入口,冒號(hào)閃爍
  455. {
  456.         static unsigned char timecount = 0;//
  457.           timecount++;

  458.         if(timecount > 125)
  459.         {
  460.                  flag_read = ~flag_read;  
  461.        
  462.         }
  463.   if(timecount > 250)//500MS
  464.   {
  465.             timecount = 0;   
  466.             flag = ~flag;

  467.   }
  468.         Display();
  469. }

  470. void Timer1(void) interrupt 3 using 1
  471. {
  472.         temp_num++;
  473.         if(temp_num > 40)
  474.         {
  475.                 temp_num = 0;
  476.         }
  477.        
  478. }


  479. void ADC_convert(void)
  480. {
  481.        
  482.         //EA = 0;//關(guān)中斷
  483.        
  484.         ET0 = 0;
  485.        
  486.         if(temp_num == 0)
  487.         {
  488.                 GetADCResult(6,&temp[0]);
  489.        
  490.           //temp[0] = (unsigned int) ( ( 3950.0 / ( 11.33657 + log( 6.04 * (float)temp[0] / ( 1024.0 - (float)temp[0] ) ) ) - 273.15 ) * 100 );
  491.           temp[0]=(unsigned int) ((1/(log(((float)temp[0]*4700/(1024-(float)temp[0]))/10000)/3950+1/298.15)-273.15)*100);
  492.                
  493.                 temp_num = 1;
  494.         }
  495.                        
  496.         P2 = LEDData1[temp[0]/1000]; //千位
  497.         LED4 = 0;
  498.         Delayms(50);
  499.         LED4 = 1;
  500.         P2 = (LEDData1[temp[0]%1000/100])&0x7F;//百位
  501.         LED3 = 0;
  502.         Delayms(50);
  503.         LED3 = 1;
  504.         P2 = LEDData2[temp[0]%1000%100/10];//十位
  505.         LED2 = 0;
  506.         Delayms(50);
  507.         LED2 = 1;
  508.        
  509.         P2 = 0xa7;//c
  510.         LED1 = 0;
  511.   Delayms(50);
  512.         LED1 = 1;
  513.        
  514. //        id = 0;
  515.        
  516.         ET1 = 1;//啟動(dòng)定時(shí)器1
  517.        

  518. }


  519. /******************************************************************************/
  520. void main(void)//主函數(shù)
  521. {

  522.   P3M1=0x00;
  523.         P3M0=0x08;

  524.                                 H_Bell=read_clock(0xc3);//讀取鬧鐘的時(shí)   
  525.         S_Bell=read_clock(0xc5);//讀取鬧鐘的分   

  526.         H_time=read_clock(0xc7);//讀取鬧鐘的時(shí)   
  527.         S_time=read_clock(0xc9);//讀取鬧鐘的分   
  528.         
  529.                                 dot_Bell= Bell_Swh;
  530.        
  531.         InitADC(); //初始化ADC
  532.         Timer0_Init();//定時(shí)器T0初始化
  533.         Timer1Init();
  534.         EA=1;
  535.         while(1)//主循環(huán)
  536.         {       
  537.                 //設(shè)置時(shí)鐘的初始值,顯示14年4月5號(hào)11:59:55
  538.           if(OK_Key == 0 && Add_Key == 0)
  539.                 {
  540.                         Delay(1000);
  541.                         if(OK_Key == 0 && Add_Key == 0)
  542.                         {
  543.                             while(OK_Key == 0);//等待鍵松開   
  544.                                 Init_1302();
  545.                                 H_Bell=read_clock(0xc3);//讀取鬧鐘的時(shí)   
  546.         S_Bell=read_clock(0xc5);//讀取鬧鐘的分   

  547.         H_time=read_clock(0xc7);//讀取鬧鐘的時(shí)   
  548.         S_time=read_clock(0xc9);//讀取鬧鐘的分   
  549.         
  550.                                 dot_Bell= Bell_Swh;
  551.    
  552.                         }
  553.                 }       
  554. /*****************************************/
  555. //                MF:   //返回主界面
  556. /*****************************************/                       
  557.                 if (OK_Key == 0) // 設(shè)置和選擇項(xiàng)目鍵
  558.     {
  559.                        Delay(1000);
  560.                if(OK_Key == 0)
  561.                           {
  562.                                   id++;
  563.                                         if(id == 2)
  564.                                         {
  565.                                                 ET1 = 0;
  566.                                                 ET0 = 1;
  567.                                         }
  568.                                   if(id>9)id=0;       
  569.                           }
  570.                
  571.                        while(OK_Key == 0);//等待鍵松開
  572.                 }  
  573. /***************************************/
  574.              switch( id )
  575.               {
  576.                        case 0:hour=0;min=0;Disp( );                         dot_Bell= Bell_Swh;break;//正常顯示
  577.                                         case 1:hour=0;min=0;ADC_convert();id_AD_scan_key();  dot_Bell= Bell_Swh;break;//顯示溫度
  578.                  case 2:hour=1;id_case1_key();Disp();                 dot_Bell=0;break;  //小時(shí)
  579.                             case 3:hour=0;min=1;id_case1_key();Disp();           dot_Bell=0;break; //分鐘
  580.           case 4:hour_Bell=1;id_case2_key();Disp2();           dot_Bell= Bell_Swh;break;
  581.                  case 5:hour_Bell=0;min_Bell=1;id_case2_key();Disp2();dot_Bell= Bell_Swh;break;   
  582.                  case 6:hour_Bell=0;min_Bell=0;id_case2_key();Disp2();dot_Bell= Bell_Swh;break;
  583.                        case 7:hour_time=1;id_case2_key();Disp3();           dot_Bell= Bell_Swh1;break;
  584.                        case 8:hour_time=0;min_time=1;id_case2_key();Disp3();dot_Bell= Bell_Swh1;break;
  585.                             case 9:hour_time=0;min_time=0;id_case2_key();Disp3();dot_Bell= Bell_Swh1;break;
  586.                  default:break;       
  587.               }

  588.                         if(Bell_Swh == 1)//鬧鐘為開
  589.                 {
  590.                                
  591.                         if(H_Bell == H_1302)
  592.                          {
  593.                                 if(S_Bell == S_1302)        //分相等
  594.                                 {       
  595.                                  
  596.                                    if(S1_1302==0)        //秒等于0才開鬧鐘
  597.                                    {
  598.                                       flag_bell=1;
  599.                                          }

  600.                                    if(Add_Key ==0 )//按加退出
  601.                                          {
  602.                                             flag_bell=0;
  603.                                          }
  604.                                          
  605.                           }       
  606.                     else   
  607.                     {
  608.                         flag_bell=0;
  609.                     }
  610. ……………………

  611. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
CaKen-51-1寸數(shù)碼管時(shí)鐘.rar (19.62 MB, 下載次數(shù): 47)



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

使用道具 舉報(bào)

沙發(fā)
ID:58092 發(fā)表于 2018-4-9 13:59 | 只看該作者
下載 看看   謝謝分享
回復(fù)

使用道具 舉報(bào)

板凳
ID:231936 發(fā)表于 2018-4-9 20:23 | 只看該作者

下載,用了一下,不錯(cuò)。就是少了時(shí)間和溫度自動(dòng)轉(zhuǎn)換。
回復(fù)

使用道具 舉報(bào)

地板
ID:312978 發(fā)表于 2018-5-2 10:47 | 只看該作者
下載 看看   謝謝分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久成人一区二区三区 | 亚洲一二三区精品 | 妞干网福利视频 | 亚洲欧洲一区 | 狠狠干在线 | 久久91精品久久久久久9鸭 | 欧美日韩国产中文 | 国产美女特级嫩嫩嫩bbb片 | 色综合天天天天做夜夜夜夜做 | 在线观看视频91 | 国产91丝袜在线18 | 国产乱码久久久久久 | 激情欧美一区二区三区中文字幕 | 97精品视频在线 | 亚洲日日 | 中文字幕高清av | 欧美精品一区二区三区在线 | 免费在线看a | 亚洲人成网亚洲欧洲无码 | 色综合视频 | 日韩激情在线 | 国产一区二区三区高清 | 国产精品欧美一区二区 | 亚洲成人自拍 | 一区二区三区免费观看 | 亚洲精品99999 | 亚洲国产精品久久久 | 欧美成人a | 久久久www成人免费无遮挡大片 | 视频国产一区 | 91亚洲国产 | 91视频精选| 国产一区二区电影 | 81精品国产乱码久久久久久 | 日本久草视频 | 国产综合久久 | 五月婷婷丁香婷婷 | 一区二区三区四区在线免费观看 | 欧美啪啪网站 | 欧美日韩在线一区二区三区 | 国产一区二区精品在线 |