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

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

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

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2011年08月22日   【字體:

2010年11月2日

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

      功能:時鐘顯示,溫度顯示,可調(diào)時間,按鍵發(fā)聲。

      說明:

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

           2 “加”:按一下“加”按鍵,對應(yīng)的數(shù)字會加一。

           3 “減”:按一下“減”按鍵,對應(yīng)的數(shù)字會減一。

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

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

           6 其他功能:添加指示燈。正常運行時,綠色指示燈亮,當(dāng)進入調(diào)整時間時,紅色指示燈亮。

 

限于篇幅以下是部分源代碼,完整版本請到http://m.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復(fù)位 ds18b20通信端口
     delay(8); //稍做延時
     DQ = 0;          //單片機將DQ拉低
     delay(80); //精確延時 大于 480us
     DQ = 1;          //拉高總線  
     delay(4);
     x=DQ;            //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗
     delay(20);
    }

 


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


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

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

  ////////////////////////////////////////////
  /***************按鍵調(diào)時程序***************/

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

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

   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;    //打開定時器 

     }
 ///////////////////////////////////////////////  
/***********定時器中斷函數(shù)************/
  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 )      //復(fù)位
      {
     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;
   }
 }

 

 

 
//////////////////////////////////////////////////////////////////////////////////// 
///////////////////按鍵功能設(shè)置///////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////// 
  void keycan()
  {
 ///////////////////時鐘功能設(shè)置////////////////////////
  
      /**********調(diào)時間功能選擇**********/
                
     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;   }  
     }
    }
   }
     }
  
         

 

 

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

相關(guān)文章

国产精品一区二区3区| 日b视频免费观看| 色欧美日韩亚洲| 久久成人久久鬼色| 国产福利一区二区精品秒拍| 国产污视频在线| 国产性网软件大全| 日韩综合在线观看| 亚洲の无码国产の无码步美| 在线免费观看一区二区三区| 国产精品久久久久久久久久尿| 欧美精品一区二区久久婷婷 | 中文字幕av一区二区三区人妻少妇| 精品综合在线| 久久人人爽人人| 精品国产乱码久久久久久1区2区| 亚洲精品免费在线| 国产91丝袜在线播放| 中文字幕一区二区三区欧美日韩 | 欧美亚洲动漫精品| 国产69视频在线观看| 国产高清在线一区二区| 九色91av视频| 日韩精品极品视频免费观看| 日韩欧美国产黄色| 亚洲私人影院在线观看| 北条麻妃国产九九精品视频| 亚洲一区日韩在线| 欧洲杯足球赛直播| 人人九九精品视频| 亚洲电影观看| 久久精品视频免费看| 福利资源在线久| 波多野结衣视频在线播放| 男人的天堂av社区在线| 国产精品久久久久久久久久久久久久久久| 久久av红桃一区二区禁漫| 深夜视频在线观看| 一级特黄性色生活片| 第九区2中文字幕| 日韩高清dvd| 96精品久久久久中文字幕| 97精品国产露脸对白| 中文字幕一区二区三区欧美日韩| 超碰成人免费| 欧美日韩在线精品一区二区三区激情综合 | 中国老熟女重囗味hdxx| 亚洲色成人www永久在线观看| 欧美精品成人一区二区在线观看| 国产主播欧美精品| 国产精品成av人在线视午夜片| 精品国产欧美一区二区五十路 | 黄色www在线观看| 国产欧美在线一区二区| 91精品久久久久久久久| 人九九综合九九宗合| 欧美激情一级欧美精品| 麻豆乱码国产一区二区三区| 中文字幕精品久久| 最新亚洲国产精品| 中文字幕+乱码+中文| 亚洲视频在线观看不卡| 国产一区二区毛片| 欧美1区2区3区| 亚洲大全视频| 欧美喷水视频| 激情欧美一区| 亚洲永久网站| 日韩精品国产精品| 美女精品一区二区| 激情小说亚洲一区| 国产.欧美.日韩| 成人午夜免费电影| 久久久高清一区二区三区| 116极品美女午夜一级| 三大队在线观看| 另类在线视频| 日本在线一区二区| 免费观看的黄色网址| 欧美色黄视频| 国产毛片av| 污视频网站入口| 黄色日本网站| 国产高潮av| 一二三四在线视频观看社区| 三级无遮挡在线观看| 成人动漫在线免费观看| 日本中文字幕在线看| 亚洲成年网站在线观看| 久久久久久久爱| 福利视频大全| 国产精品久久久久久久牛牛 | 国产精品一区二区精品视频观看| 狂野欧美xxxx韩国少妇| 中文字幕区一区二区三| 亚洲欧美日本伦理| 欧美精品三区| 日韩电影在线免费看| 国产成人免费视频网站高清观看视频| 成人午夜又粗又硬又大| 亚洲欧洲三级电影| 色噜噜狠狠成人中文综合| 永久免费看片直接| 中文在线免费看视频| 免费的av网址| 国产精品久久久久久久第一福利 | 88国产精品欧美一区二区三区| 日韩美女在线观看一区| 97人人模人人爽人人少妇| 乱色588欧美| 草草草视频在线观看| 午夜精品中文字幕| 国产99在线 | 亚洲| 国产精品久久久久久久久夜色| www.97超碰| 一个人看的www免费观看视频| 免费一级大片| 伦理av在线| 香港久久久电影| 激情一区二区| www.欧美日韩国产在线| 日韩电影在线观看完整免费观看| 欧美日本成人| 日韩成人一级片| 国产午夜三级一区二区三| 日本高清视频一区二区| 亚洲欧美在线免费| 国产精品久久久久久亚洲影视| 久久综合毛片| 欧美一级黄色影院| 男女男精品视频网站| 正在播放亚洲精品| 97久精品国产片一区二区三区| 永久免费在线观看| 色网在线免费观看| 久久视频在线| 国产成人精品三级麻豆| 精品电影在线观看| 自拍亚洲一区欧美另类| 懂色一区二区三区av片| 日日橹狠狠爱欧美超碰| 无码人中文字幕| 亚洲av综合色区无码一区爱av| 免费网站观看www在线观看| 日韩黄色影院| 免费观看成人www动漫视频| 日日夜夜精品视频免费 | 热re66久久精品国产99re| 成人免费在线电影| 日本一本a高清免费不卡| 成人h视频在线观看播放| 免费网站在线观看视频 | 欧美亚州在线观看| 污色网站在线观看| 精品成人免费视频| 国产精品午夜剧场| 91成人高清| 九九亚洲精品| 成人97人人超碰人人99| 欧美人xxxx| 欧美做爰性生交视频| 久久久久久久影视| 奇米777国产一区国产二区| 亚洲国产经典视频| 日本一级免费视频| а√天堂资源在线| 国内精品卡一卡二卡三新区| 素人一区二区三区| 国产日韩一区二区三区在线| 亚洲婷婷综合色高清在线| 在线电影欧美日韩一区二区私密 | 国产成人福利网站| 亚洲精品蜜桃久久久久久| 最新av电影网站| 欧美e片成人在线播放乱妇| 色大18成网站www在线观看| 精品欧美久久| 国产精品日日摸夜夜摸av| 国产视频在线观看一区二区| 精品国产乱码久久久久久蜜柚| 亚洲一级片免费观看| 中文字幕你懂的| y4480在线8影院| 超碰在线亚洲| caoporm超碰国产精品| 亚洲国产福利在线| 国产视频精品网| 尤物网站在线观看| 午夜激情在线视频| a毛片在线观看| 影音先锋中文字幕一区| 精品国产乱码久久久久久婷婷| 91精品国产91久久久久久| 国产精品69页| aaa一区二区三区| 青青青手机在线视频观看| 成人精品视频| 亚洲精品五月天| 午夜精品久久久久久99热软件| 人妻无码久久一区二区三区免费 | 综合中文字幕亚洲| 欧美激情18p| 99色精品视频| 国产视频在线一区| 欧美成人三区| 亚洲精品乱码久久久久久蜜桃麻豆| 一本一本大道香蕉久在线精品 | 日韩123区| 久久久久久穴| 日韩一级免费观看| 欧美日韩在线不卡一区| 我家有个日本女人| 毛片网站大全| 久久国产中文字幕| 色综合久久综合网97色综合| 91精品久久久久久久久久久久久 | 福利视频一区二区三区| 国产美女免费无遮挡| 特黄三级视频| jizz18欧美18| 亚洲精品久久久蜜桃| 国产精品久久久久久av福利| 91视频啊啊啊| 成年片费网站色大全免费视频| 日韩欧美中文字幕一区二区三区| 久久综合久久综合久久| 欧美高清视频在线观看| 欧美成人精品h版在线观看| 日韩中文字幕亚洲精品欧美| 中文在线资源天堂| 爆操欧美美女| 国产主播一区二区三区| 中文字幕亚洲一区| 天天操天天摸天天爽| 久久天堂夜夜一本婷婷麻豆| 日韩毛片在线| 国产丝袜欧美中文另类| 国产成人精品久久亚洲高清不卡| 国产伦精品一区三区精东| 公交车强行挺进岳身体| 日韩精品一区二区三区免费观看| 色久综合一二码| 亚洲二区三区四区| 国产尤物在线观看| 深夜av在线| 26uuu国产电影一区二区| 欧美在线日韩在线| 一区二区伦理片| 午夜神马福利影院| 夜夜嗨av一区二区三区网站四季av| 亚洲精品成人久久电影| 欧美一区二区三区爽大粗免费| 亚洲天堂在线视频观看| 精品午夜视频| 色一区在线观看| 一本色道久久综合亚洲二区三区| 国产精品自拍电影| 成人精品国产| 亚洲国产欧美在线| 欧美二区三区| 国产精品国产一区二区三区四区 | 18以下岁禁止1000部免费| 久久美女视频| 精品国产不卡一区二区三区| av天堂永久资源网| 欧美黑人xxxx猛牲大交| 精品国产精品国产偷麻豆| 欧美精品久久久久久久多人混战 | 99热这里只有精品99| 亚洲电影有码| 亚洲午夜在线观看视频在线| 亚洲成人午夜在线| 特黄视频在线观看| 欧美成a人免费观看久久| 欧美专区亚洲专区| 男女超爽视频免费播放| 69精品视频| 亚洲天堂久久| 粗暴蹂躏中文一区二区三区| 老司机福利av| 高清在线观看av| 91性感美女视频| 色噜噜狠狠一区二区三区果冻| 亚洲精品一区国产精品| 亚洲在线视频免费| sdde在线播放一区二区| 亚洲激情视频在线观看| 亚洲黄色小说在线观看| 四虎在线视频| 91亚洲大成网污www| 久久99蜜桃综合影院免费观看| 国产99久久九九精品无码免费| 97视频一区| 亚洲国产成人91精品| 国产xxxx视频| 国产一区二区三区不卡在线| 久久久久88色偷偷免费| 欧美亚州在线观看| 欧美videos另类| 精品999日本| 97精品视频在线观看| 懂色av.com| 亚洲欧洲一二区| 欧美一级一级性生活免费录像| 超碰中文字幕在线观看| 欧美变态视频| 久久综合久久综合亚洲| 日韩一区二区三区资源| 卡一卡2卡三精品| 久久国产精品久久久久久电车| 欧美在线不卡区| 在线视频你懂得| 欧美一级二级三级视频| 亚洲欧美国产另类| 99热6这里只有精品| 男女羞羞在线观看| 欧美日韩国产区一| av天堂一区二区| caoporm免费视频在线| 色综合一个色综合亚洲| 伊人国产精品视频| 成人综合影院| 波多野结衣一二三区| 高清欧美日韩| 久久伊人色综合| 91精品福利| 色婷婷综合久久久久| 亚洲免费激情视频| 欧美1区2区3区4区| 欧美精品性视频| 姑娘第5集在线观看免费好剧| 神马午夜久久| 欧美日韩高清在线观看| 丁香社区五月天| 色橹橹欧美在线观看视频高清 | 一区二区三区成人在线视频| 精品国产免费av| 日韩二区三区| 一区二区三区四区国产精品| 欧美一级黄色片视频| 日本a在线播放| 日韩欧美在线视频观看| 在线观看一区二区三区四区| 欧美xxxbbb| 日韩限制级电影在线观看| 天天摸日日摸狠狠添| 天天综合91| 久久久精品一区二区| 一级片在线免费播放| 97久久视频| 国产精品一久久香蕉国产线看观看| 亚洲日本电影| 精产国品自在线www| 狠狠躁夜夜躁人人爽超碰91| 久久香蕉av| 久久精品视频免费播放| 午夜视频福利在线| 中文字幕一区二区三区四区五区人| 色精品一区二区三区| 国产一区二区美女诱惑| 老司机午夜免费福利视频| 亚洲校园欧美国产另类| 亚洲成人av在线电影| av2014天堂网| 一区二区三区日本视频| 久久综合伊人77777尤物| xxxx18国产| 日本伊人午夜精品| youjizz.com亚洲| 日本福利片在线| 欧美色涩在线第一页| 成年人一级黄色片| 欧美精选一区二区三区| 国产精品三级美女白浆呻吟 | 国产精品福利网站| 日本三级久久久| 噜噜噜在线视频| jizzjizz中国精品麻豆| 中文字幕成人在线观看| 爱情岛论坛成人| 日韩午夜av一区| 国产精品九九九九| 不卡一卡二卡三乱码免费网站| √天堂8在线网| 色婷婷av一区二区三区之一色屋| 日韩精品无码一区二区三区久久久| 精品国产第一国产综合精品| 国内精品久久久久| 国产卡1卡2卡三卡在线| 久久久久久**毛片大全| 国产亚洲色婷婷久久| 欧美天堂在线| 国产成人欧美在线观看| 黄瓜视频网站| 午夜伦欧美伦电影理论片| 国产又黄又粗又猛又爽的| 欧美一级淫片| 久久亚洲综合网| 麻豆av电影在线观看| 日韩成人网免费视频|