wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

最新制作:時鐘+溫度計 數碼管顯示

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年08月22日   【字體:

2010年11月2日

      花了幾個小時,完成“時鐘溫度計” 的程序,在此感謝“康哥”的支持!

      功能:時鐘顯示,溫度顯示,可調時間,按鍵發聲。

      說明:

           1 功能選擇鍵:按下功能選擇鍵,時間停止,秒鐘指示燈長滅,選擇千位,百位,十位,個位,相對應的每位數碼管的小數點亮。

           2 “加”:按一下“加”按鍵,對應的數字會加一。

           3 “減”:按一下“減”按鍵,對應的數字會減一。

           4 繼續按功能選擇鍵到第五次,退出時間設置,秒鐘指示燈閃爍,時鐘繼續運行。

           5 初始化時間為早上6點30分,時間為24小時制。

           6 其他功能:添加指示燈。正常運行時,綠色指示燈亮,當進入調整時間時,紅色指示燈亮。

 

限于篇幅以下是部分源代碼,完整版本請到http://www.izizhuan.cn/f/shiz5.rar 去下載

#include"reg51.h"

  #define uchar unsigned char
  #define uint unsigned int
 


/****溫度 端口定義******/
  sbit wx5=P2^5;
  sbit wx6=P2^6;
  sbit wx7=P2^7;

  sbit DQ=P2^0;

  uint temp, temp1,temp2, xs;

  uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,
       0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6};


/******延時程序*******/
 void delay1(unsigned int m)
    {
      unsigned int i,j;
    for(i=m;i>0;i--)
   for(j=110;j>0;j--);
    }


 void delay(unsigned int m)
    {
      while(m--);
     }

 void Init_DS18B20() 
   {
     unsigned char x=0;
     DQ = 1;          //DQ復位 ds18b20通信端口
     delay(8); //稍做延時
     DQ = 0;          //單片機將DQ拉低
     delay(80); //精確延時 大于 480us
     DQ = 1;          //拉高總線  
     delay(4);
     x=DQ;            //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗
     delay(20);
    }

 


/***********ds18b20讀一個字節**************/
  uchar ReadOneChar()
   {
     unsigned char i=0;
     unsigned char dat = 0;
     for (i=8;i>0;i--)
     {
      DQ = 0; // 高電平拉成低電平時讀周期開始
      dat>>=1;
      DQ = 1; // 給脈沖信號
      if(DQ)
      dat|=0x80;   //
      delay(4);
      }
     return(dat);
   }

 

/*************ds18b20寫一個字節****************/
  void WriteOneChar(unsigned char dat)
  {
   unsigned char i=0;
   for (i=8; i>0; i--)
    {
      DQ = 0;          //從高電平拉至低電平時,寫周期的開始
      DQ = dat&0x01;   //數據的最低位先寫入
      delay(5);        //60us到120us延時
      DQ = 1;       
      dat>>=1;         //從最低位到最高位傳入
    }
  }


/**************讀取ds18b20當前溫度************/
void ReadTemperature()
  {
    unsigned char a=0;
    unsigned  b=0;
    unsigned  t=0;

    Init_DS18B20();
    WriteOneChar(0xCC);   // 跳過讀序號列號的操作
    WriteOneChar(0x44);   // 啟動溫度轉換
    delay(10);            // this message is wery important
    Init_DS18B20();
    WriteOneChar(0xCC);   //跳過讀序號列號的操作
    WriteOneChar(0xBE);   //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度
    delay(10);
    a=ReadOneChar();      //讀取溫度值低位 
    b=ReadOneChar();      //讀取溫度值高位   
    temp1=b<<4;           //高8位中后三位數的值
    temp1+=(a&0xf0)>>4;   //低8位中的高4位值加上高8位中后三位數的值   temp1室溫整數值
    temp2=a&0x0f;         //小數的值
    temp=((b*256+a)>>4);  //當前采集溫度值除16得 實際溫度值    zhenshu   
    xs=temp2*0.0625*10;   //小數位,若為0.5則算為5來顯示  xs小數    xiaoshu
   }

 

//////////////////////////////////////////////////////////////////////////////
/***********溫度顯示********************/
void wenduxianshi()    //溫度顯示
   { 
     wx5=1;
        P0=table[temp/10];
        delay1(3);
        wx5=0;

        wx6=1;
        P0=table[temp%10];
        delay1(3);
        wx6=0;

        wx7=1;
        P0=table[12];
        delay1(3);
        wx7=0;
 }

 

 

 

////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
/****時鐘 端口定義******/
  sbit wx1=P2^1;
  sbit wx2=P2^2;
  sbit wx3=P2^3;
  sbit wx4=P2^4;

  uchar  qian,bai,shi,ge,miao1,miao2,count;

  sbit LED1=P3^3;

  ////////////////////////////////////////////
  /***************按鍵調時程序***************/

   sbit K1=P3^0;
   sbit K2=P3^1;
   sbit K3=P3^2;

   sbit LVSE   =P3^4;  //綠色運行燈
   sbit HONGSE =P3^5;  //紅色停止燈
   sbit HUANGSE=P3^6;  //黃色調鬧鐘燈

   sbit BEEP=P3^7;    //// 定義蜂鳴器口

   uchar K1num,K2num;


  

  //////////////////////////////////////////
    /**********報警聲音**************/

   bi(uint t)
   {
      int c,n;
      for(c=0;c<t;c++)
      {
      for(n=0;n<50;n++);
      BEEP=~BEEP;      //按位取反BEEP
      }
   return(t);
   }

 


  ///////////////////////////////////////////////
/********定時器初始化*************/

  void init()
    {
      TMOD=0x01; //定義定時器0,工作方式1 
      TH0=(65536-50000)/256;   //高8位 
      TL0=(65536-50000)%256;   //低8位 
      EA=1;     //開全局中斷 
      ET0=1;   
      TR0=1;    //打開定時器 

     }
 ///////////////////////////////////////////////  
/***********定時器中斷函數************/
  void timer0() interrupt 1
   {
     TH0=50;
     TL0=50;
     count++;
   if( count==20 ) { count=0; LED1=~LED1;  miao1++;
       
   if( miao1==10 ) { miao1=0;  miao2++; }
   if( miao2== 6 ) { miao2=0;     ge++; }
   if(    ge==10 ) {    ge=0;    shi++; }
   if(   shi== 6 ) {   shi=0;    bai++; }
   if(   bai==10 ) {   bai=0;   qian++; }
   if(  qian== 3 ) {  qian=0;     }
   if(qian==2&&bai==4){qian=0;bai=0;    }
     } }                

 

 


  //////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////
/**********時間顯示***************/    
    
   void shijianxianshi()    //時間顯示
    {
     if( K1num==0 )      //復位
      {
     TR0=1;LVSE=0; HONGSE=1;HUANGSE=1;
     wx1=1;
        P0=table[qian];
        delay1(3);
        wx1=0;

        wx2=1;
        P0=table[bai];
        delay1(3);
        wx2=0;
       
        wx3=1;
        P0=table[shi];
        delay1(3);
        wx3=0;

  wx4=1;
        P0=table[ge];
        delay1(3);
  wx4=0;
  }
/**************************************/

if( K1num==1 )  //選擇千位
     {
     TR0=0;LED1=1;LVSE=1; HONGSE=0; HUANGSE=1;
     wx1=1;
        P0=table[qian]+0x80;
        delay1(3);
        wx1=0;

        wx2=1;
        P0=table[bai];
        delay1(3);
        wx2=0;
       
        wx3=1;
        P0=table[shi];
        delay1(3);
        wx3=0;

  wx4=1;
        P0=table[ge];
        delay1(3);
  wx4=0;
  }

/**************************************/
if( K1num==2 )  //選擇百位
     {
   
     wx1=1;
        P0=table[qian];
        delay1(3);
        wx1=0;

        wx2=1;
        P0=table[bai]+0x80;
        delay1(3);
        wx2=0;
       
        wx3=1;
        P0=table[shi];
        delay1(3);
        wx3=0;

  wx4=1;
        P0=table[ge];
        delay1(3);
  wx4=0;
  }
/**************************************/
if( K1num==3 )    //選擇十位
     {
    
     wx1=1;
        P0=table[qian];
        delay1(3);
        wx1=0;

        wx2=1;
        P0=table[bai];
        delay1(3);
        wx2=0;
       
        wx3=1;
        P0=table[shi]+0x80;
        delay1(3);
        wx3=0;

  wx4=1;
        P0=table[ge];
        delay1(3);
  wx4=0;
  }

/**************************************/
if( K1num==4 )    //選擇個位
     {
    
     wx1=1;
        P0=table[qian];
        delay1(3);
        wx1=0;

        wx2=1;
        P0=table[bai];
        delay1(3);
        wx2=0;
       
        wx3=1;
        P0=table[shi];
        delay1(3);
        wx3=0;

  wx4=1;
        P0=table[ge]+0x80;
        delay1(3);
  wx4=0;
   }
 }

 

 

 
//////////////////////////////////////////////////////////////////////////////////// 
///////////////////按鍵功能設置///////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////// 
  void keycan()
  {
 ///////////////////時鐘功能設置////////////////////////
  
      /**********調時間功能選擇**********/
                
     if( K1==0   )   { K1num++; delay(5); if( K1==0 )
                  {        while(!K1);     bi(200);
     if(K1num==5 )   { K1num=0;TR0=1;}
       }
      }          
 ///////////////////////////////////////////////////
        /*********功能加*********/
    
       if( K1num!=0 ) {
         if( K2==0    ) { delay(5);
         if( K2==0    ) { while(!K2);bi(200);
   if( K1num==1 ) { qian++; if(qian==3 ) qian=0;   }     
         if( K1num==2 ) {  bai++; if( bai==10)  bai=0;   }
      if( K1num==3 ) {  shi++; if( shi==6 )  shi=0;   }
      if( K1num==4 ) {   ge++;  if(  ge==10)   ge=0;   }   
    }
      }
     }     
 //////////////////////////////////////////////////////////
         /**********功能減************/

   if( K1num!=0 ) {
         if( K3==0    ) { delay(5);
         if( K3==0    ) { while(!K3);bi(200);
   if( K1num==1 ) { qian--; if(qian==-1) qian=2;   }     
         if( K1num==2 ) {  bai--; if( bai==-1)  bai=9;   }
      if( K1num==3 ) {  shi--; if( shi==-1)  shi=5;   }
      if( K1num==4 ) {   ge--; if(  ge==-1)   ge=9;   }  
     }
    }
   }
     }
  
         

 

 

/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/***********主函數********************/
////////////////////////////////////////////////////////////
 void main()
 {
    init();
    qian=0;bai=6;shi=3;ge=0;miao2=0;miao1=0;
    while(1)
     {        
       ReadTemperature();
       wenduxianshi();
    keycan();
       shijianxianshi();
     }
  }
關閉窗口

相關文章

国产无遮挡又黄又爽| 在线免费国产视频| 中文字幕求饶的少妇| www.黄色网址.com| 欧美伊久线香蕉线新在线| 欧美亚洲一区二区在线| 91在线播放网址| 欧美成人中文| 亚洲国产中文在线二区三区免| 国产乱视频在线观看| 国产超级av| 国产一区二区网站| 人人妻人人澡人人爽| 日韩一级在线免费观看| 欧美精品一区二区三区在线四季| 欧美丰满片xxx777| 精品久久一二三区| 亚洲.国产.中文慕字在线| 国产精品88888| 亚洲成人二区| 日韩高清在线观看一区二区| 国产三区在线观看| 国产宾馆自拍| 成人欧美日韩| 精品国产亚洲av麻豆| 欧美黑人性猛交xxx| 岛国精品一区二区三区| 国产午夜大地久久| 欧美极品jizzhd欧美| 国产精品久久久久高潮| 日韩亚洲精品视频| 亚洲国产精品福利| 欧美日韩一区久久| 一区二区三区精品在线| 91女人视频在线观看| 免费高清在线视频一区·| 亚洲深深色噜噜狠狠爱网站| 欧美大片网址| 9999精品免费视频| 九色porny丨首页入口在线| 九色在线视频蝌蚪| 三上悠亚在线观看二区| 网站在线观看你懂的| 香蕉视频免费在线看| 国产精品成人久久久| 欧美丰满熟妇bbbbbb| 成人资源视频网站免费| 欧美电影h版| 本道综合精品| 亚洲xxx在线| 久久中文字幕免费| 欧美爱爱小视频| 欧美人妻一区二区三区| 中文字幕99页| 亚洲xxx在线观看| 91淫黄看大片| 国产综合av在线| 国产资源第一页| 中文字幕99| 四虎一区二区| 色综合视频二区偷拍在线| 91手机在线播放| 成人精品久久一区二区三区| 日本成人免费在线| 日本高清不卡的在线| 久久露脸国产精品| 97国产精品人人爽人人做| 欧美高清videos高潮hd| 欧美激情a在线| 午夜精品久久久久久久白皮肤| 欧美成人午夜激情| 欧美激情综合色综合啪啪五月| 九九九久久久久久| 欧美乱妇40p| 欧美国产视频一区二区| 欧美成人在线影院| 欧美成人性生活| 欧美xxxx综合视频| 久久久久久亚洲精品不卡| 欧美激情亚洲国产| 欧美激情视频在线| 亚州av一区二区| 国产精品扒开腿做爽爽爽视频| 68精品久久久久久欧美| 日韩美女在线播放| 91精品中国老女人| 精品在线一区| 亚洲色图都市激情| 欧美性久久久久| 日本77777| 在线观看av中文字幕| 免费看91的网站| 激情四射综合网| www.国产一区二区| www.污视频| 欧美日韩一区二区三区在线播放 | 欧美成人自拍| 激情视频一区| 久久久久久色| 91在线码无精品| 亚洲理论在线观看| 欧美性受xxxx| 亚洲精品一区中文字幕乱码| 久久视频这里只有精品| 国产成人短视频| 国产亚洲二区| 国产精品日韩三级| 欧美日韩中文不卡| 欧美精品日韩在线| а中文在线天堂| 亚州男人的天堂| 超污黄色软件| 国产精品一二三区视频| 九色porny丨入口在线| 香蕉大人久久国产成人av| 日韩伦理一区| 久久精品国产色蜜蜜麻豆| 国产日韩欧美不卡| 欧美在线一二三四区| 亚洲图片在线综合| 国产精品igao视频| 亚洲精品一区二区三区av| 毛片av免费在线观看| www.av欧美| 最新中文字幕在线观看视频| 肉色超薄丝袜脚交一区二区| 岛国片免费看| 免费在线午夜视频| 国产成人免费av一区二区午夜 | 中文字幕av一区二区三区佐山爱| 激情小说一区| 久久午夜精品一区二区| 久久久国产精华| 欧美日韩国产在线播放网站| 日韩在线观看av| 91嫩草免费看| 免费在线观看亚洲视频| 亚洲av无码一区二区三区人| 天天天天天天天干| 久久精品视频在线观看榴莲视频| 天堂网www中文在线| jvid一区二区三区| 日韩午夜在线| 亚洲欧美国产77777| 亚洲精品成人久久久| 国产精品视频yy9099| 国产高清www| 亚洲 欧美 国产 另类| 手机av免费在线观看| 丁香花高清视频完整版在线观看| av资源一区| 久久久久久影院| 久久久久久久免费视频了| 欧美精品黑人性xxxx| 91国产一区在线| 日本天堂免费a| 手机看片国产日韩| 1069视频| 99re在线视频| 国产欧美日韩精品高清二区综合区| 国产综合久久久久影院| 欧美视频二区36p| 久久久久久国产| 综合视频免费看| 久久久久亚洲AV成人无在| 亚州视频一区二区三区| 中出在线观看| 成人激情自拍| hitomi一区二区三区精品| 日韩一区二区三区视频| 成人动漫网站在线观看| 亚州精品一二三区| 色婷婷久久综合中文久久蜜桃av| 天天天天天天天操| 欧美成人毛片| 国产一区二区三区免费观看| 精品视频一区二区三区免费| 国产成人亚洲综合| 日本美女高潮视频| 在线观看免费视频a| 日本搞黄视频| 奇米影视777在线欧美电影观看| 国产69精品久久99不卡| 亚洲高清久久网| 欧美久久电影| 国产小视频你懂的| 美女被c网站| 欧美成人aaa| 成人精品视频一区二区三区尤物| 日韩高清a**址| 五月婷婷一区| 久久精品人妻一区二区三区| 悠悠资源av网站| 北条麻妃一区二区三区在线观看| 波多野结衣一区二区三区| 亚洲色图日韩av| 懂色av粉嫩av蜜臀av| 国产亚洲精品成人| 国产视频三区| 国产精品三级| 尤物视频一区二区| 国产精品电影观看| 绯色av蜜臀vs少妇| 欧美三级超在线视频| 岛国毛片av在线| 理论片日本一区| 亚洲国产精品久久| 99热这里只有精品7| 国产真实乱偷精品视频| 91大神影片| 亚洲图片久久| 亚洲综合精品自拍| 国产精品一区二区三区成人| 久久精品一二三四| 亚洲国产日韩成人综合天堂| 3d欧美精品动漫xxxx无尽| 国内精品不卡在线| 国产一区二区欧美日韩| 少妇人妻无码专区视频| 亚洲怡红院av| 好了av在线| 青草国产精品久久久久久| 亚洲国产高清福利视频| 2022中文字幕| 精品毛片一区二区三区| 白白色在线观看| 成人黄页毛片网站| 久久男人av资源网站| 韩国av中国字幕| 国产偷窥女洗浴在线观看亚洲| 日韩黄色三级| 亚洲欧美一区二区久久 | 伊人网在线播放| 国产成人精品亚洲777人妖 | 欧美日韩激情小视频| 91精品国产高清久久久久久91裸体| xxxx日本免费| 亚洲an天堂an在线观看| heyzo久久| 欧美性大战久久久久久久 | 欧美风情在线观看| 在线一区二区不卡| 麻豆精品免费视频入口| 国产精品va视频| 一区二区三区日韩欧美精品| 亚洲一区二区三区香蕉| 国产黄色片在线免费观看| 天堂av网在线| 日本成人中文字幕| 色妞久久福利网| www.污网站| 免费网站观看电影入口| 在线日韩网站| 精品视频在线免费看| 伊人色综合久久天天五月婷| 一级黄色a视频| 偷拍视频一区二区三区| 国产精品久久一卡二卡| 成人淫片在线看| 欧美福利视频一区二区| 免费看美女视频在线网站| 国产乱国产乱300精品| 久久久久亚洲精品成人网小说| 捆绑裸体绳奴bdsm亚洲| 九色福利视频| 国产亚洲午夜| 日韩视频欧美视频| 亚洲综合自拍网| 亚洲大胆精品| 国产精品1区二区.| 国产精品日韩在线观看| 日韩乱码一区二区| 国产精品186在线观看在线播放| 国产视频一区在线观看| 国产精品yjizz| 国产wwwwwww| 一区二区三区四区视频免费观看| 欧美写真视频网站| 成人一级片网站| 免费免费啪视频在线观播放 | 女厕盗摄一区二区三区| 1区2区3区精品视频| 欧美伦理一区二区| 午夜性色福利视频| 欧美综合在线视频观看| 亚洲老头同性xxxxx| 国产成人精品综合久久久久99| 日本福利视频| 高清不卡在线观看| 99www免费人成精品| 97人妻精品一区二区三区| 激情久久免费视频| 91精品国产高清一区二区三区蜜臀| 男人搞女人网站| 日本全棵写真视频在线观看| 国内成人自拍视频| 99在线国产| 亚洲一级免费毛片| 91成人网在线观看| 美女久久久久久久久久久| 国产又色又爽又高潮免费| 蜜桃成人365av| 精品久久香蕉国产线看观看gif| 久在线观看视频| 国产性一级片| av成人免费在线| 欧美日韩在线观看一区| 成av人免费青青久| 韩国av一区| 日韩女优人人人人射在线视频| 欧美性受xxx黑人xyx性爽| 97超碰成人| 尤物九九久久国产精品的分类| 色偷偷www8888| jizz免费一区二区三区| 日韩欧美三级在线| 国产色视频一区二区三区qq号| 自拍亚洲图区| 日韩欧美国产一区二区| 日本高清久久久| 性开放的欧美大片| 午夜婷婷国产麻豆精品| 亚洲欧美久久久久| 成年人视频免费在线观看| 亚洲精品中文在线| 亚洲黄色a v| 成年人在线视频| 狠狠操狠狠色综合网| www激情五月| 污污影院在线观看| 欧美日韩国产综合久久| 亚洲熟妇无码av| 成人日韩精品| 国产视频在线观看一区二区| 国产成人无码aa精品一区| 精品国产亚洲一区二区三区在线| 亚洲图中文字幕| 日日夜夜操视频| 欧美国产美女| 国产精品稀缺呦系列在线| 香蕉视频国产在线| 日韩主播视频在线| 九色视频成人porny| 少妇bbbb搡bbbb| 成人教育av在线| 精品国产一区二区三区在线| 日本高清视频网站www| 中文字幕一区二区三区色视频 | 狠狠色伊人亚洲综合网站色| 国产精品在线| 成人av资源在线观看| 99视频精品全部免费看| 写真福利理论片在线播放| 一个色在线综合| 一级黄色电影片| 另类激情视频| 亚洲图片在线综合| 中文字幕第2页| 国产精品theporn| 成人性色av| 国产专区视频| 亚洲综合免费观看高清完整版在线 | 日本在线视频中文字幕| 国产成人ay| 国产精品丝袜白浆摸在线 | 欧美猛交免费看| 人妻精品一区一区三区蜜桃91| 日本色综合中文字幕| 免费成人进口网站| 超碰国产在线观看| 欧美猛男男办公室激情| 波多野结衣亚洲一区二区| 一区二区美女| 亚洲xxxx在线| 污视频网站免费| 天天综合网 天天综合色| 精品人妻少妇嫩草av无码| 97精品久久| 成人激情视频小说免费下载| 老太做爰xxxx| 一区二区三区四区五区视频在线观看| 制服丝袜在线第一页| www一区二区三区| 欧美在线视频一二三| 顶级欧美妇高清xxxxx| 国产精品电影院| 巨胸大乳www视频免费观看| 97色成人综合网站| 国产欧美在线视频| av影音资源网| 狠狠做深爱婷婷久久综合一区| 任你操精品视频| 2023国产精品久久久精品双| 久久99精品久久久久久青青日本| 欧美精品一区二区三区涩爱蜜| 欧美色大人视频| 国产性生活视频| 美国毛片一区二区三区| 青青草国产精品视频| 天堂av在线网|