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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5556|回復: 4
打印 上一主題 下一主題
收起左側

實時間鐘帶一路報警輸出

[復制鏈接]
跳轉到指定樓層
樓主
ID:16763 發表于 2009-12-13 22:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//有一路報警輸出,可設置報警時間
//實間時間請調整TH1,TL1值使更準確
//designed by ljc,gdwm ceramic com,.ltd
#include<at89x51.h>
#define uchar unsigned char
#define uint unsigned int
#define segment P0  //數碼管顯示
#define wei P2   //數碼管位控制
uchar hour,min,sec;  //定義小時,分
uchar ms;               //當前毫秒
uchar alarm_h1,alarm_m1;//報警設置,hour,minute;
uchar alarm_h2,alarm_m2;
sbit flash=P1^0;        //秒閃爍標志
sbit seth=P3^0;      //小時設置
sbit setm=P3^1;   //分設置
sbit seta1h=P3^2;  //alarm1 set
sbit seta1m=P3^3;  //alarm1 set
sbit alarm_out=P1^7;    //設定時間到,報警輸出
bit hour_min_sign;      //時,分設置標志
bit pop_key;            //鍵彈起標志
uchar code design[10]={0x28, 0x7E, 0xA2, 0x62, 0x74, 0x61, 0x21, 0x7A, 0x20, 0x60};//0,1,2,3,4,5,6,7,8,9
//*************************************************
//**********
void delay(uint i)
{   uint j;
    for(;i>0;i--)
 for(j=0;j<120;j++)
 {;}
}
//*************************************************
//**********
void initial()
{   TMOD=0x01;
    TH0=0X3C; //50ms定時
 TL0=0xc0;
    EA=1;
    ET0=1;
 TR0=1;
 //報警時間初使化
 alarm_h1=7;
 alarm_m1=0;
 alarm_h2=14;
 alarm_m2=0;
}
//*************************************************
//**********
void time0_int() interrupt 1
{   TH0=0x3c;
    TL0=0xc0;
    if(ms<20)
    {   ms++;}
 else
 {   ms=0;
     sec++;
     if(sec>59)
     {   sec=0;
      min++;
   if(min>59)
   {   min=0;
          hour++;
          if(hour>=24)
       {   hour=0;}
   }
  }
 }
 if(ms>10){flash=1;}
 else{flash=0;}
}
//************************************************
//*********
void display(uchar h,m,ah1,am1)
{   uchar hh,hl,mh,ml,hh1,hh2,mm1,mm2;
    hh=h/10;
 hl=h%10;
 mh=m/10;
 ml=m%10;
 hh1=ah1/10;hh2=ah1%10;mm1=am1/10;mm2=am1%10; //報警時間顯示
 //
 segment=design[hh];
 wei=0xef;
 delay(2);
 //
 segment=design[hl];
 wei=0xdf;
 delay(2);
 //
 segment=design[mh];
 wei=0xbf;
 delay(2);
 //
 segment=design[ml];
 wei=0x7f;
 delay(2);
 //報警顯示
 segment=design[hh1];
 wei=0xfe;
 delay(5);
 segment=design[hh2];
 wei=0xfd;
 delay(2);
 segment=design[mm1];
 wei=0xfb;
 delay(2);
 segment=design[mm2];
 wei=0xf7;
 delay(2);
}
//************************************************
//鍵防拌處理**********
void scan_key(bit set_h_m)
{   if(!set_h_m)
    {   delay(30);
     if(!set_h_m)
  {   delay(10);
      hour_min_sign=1;
  }
  else{hour_min_sign=0;}
 }
 while(set_h_m&hour_min_sign)//等街鍵彈起
 {   delay(30);
     if(set_h_m&hour_min_sign)
  {   delay(10);
         pop_key=1; 
  }   //鍵彈起標志
  hour_min_sign=0;
 }                          
}
//時間設置****************************************
//**********
void time_set()
{   pop_key=0;
    scan_key(seth);
    if(pop_key)      //小時鍵按下,小時加1
 {
     if(hour>23)
  {   hour=0;}
  else{hour++;}
  display(hour,min,alarm_h1,alarm_m1);
 }
 pop_key=0;
 //
 scan_key(setm);    //分鍵按下,分加1
 if(pop_key)      
 {
     if(min>59)
  {   min=0;}
  else{min++;}
  display(hour,min,alarm_h1,alarm_m1);
 }
 pop_key=0;
}
//***********************************************
//報警時間設置:小時,分鐘*
//有報警時間設置功能,延時關閉功能
void alarm()                 

 //報警1
 pop_key=0;
 scan_key(seta1h);              //報警1設置
 if(pop_key)
 {   alarm_h1++;
     if(alarm_h1>23)
  {   alarm_h1=0;}
 }
 pop_key=0;
 display(hour,min,alarm_h1,alarm_m1);
 scan_key(seta1m);
 if(pop_key)
 {   alarm_m1++;
     if(alarm_m1>59)
  {   alarm_m1=0;}
 }
 display(hour,min,alarm_h1,alarm_m1);  
 if((hour==alarm_h1)&(min==alarm_m1))//相等
    {   alarm_out=0;}     //報警輸出

//***********************************************
//*************************  
void main()
{   initial();
    for(;;)
 {   time_set();   //時間設置
  display(hour,min,alarm_h1,alarm_m1);
  alarm();
 }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:18010 發表于 2009-12-21 14:43 | 只看該作者
大哥是不是在主函數里面少了個while(1)語句!
回復

使用道具 舉報

板凳
ID:18010 發表于 2009-12-21 14:51 | 只看該作者
對不起,是我搞錯了。哈哈!
回復

使用道具 舉報

地板
ID:61326 發表于 2014-5-4 11:02 | 只看該作者
謝謝分享
回復

使用道具 舉報

5#
ID:62266 發表于 2014-5-25 19:29 | 只看該作者
怎么就一函數。。。。。實物圖呢?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品高清视频 | 亚洲精品成人网 | 日韩欧美精品一区 | 欧美人成在线视频 | 欧美日韩在线观看视频网站 | 四虎永久在线精品免费一区二 | 亚洲一二三区精品 | 亚洲精品成人在线 | 91精品国产综合久久久动漫日韩 | 一级做a爰片性色毛片16 | 国内精品久久久久久久影视简单 | 欧美在线视频二区 | 欧美最猛性xxxxx亚洲精品 | 中文字幕国产精品 | 久久人人爽人人爽人人片av免费 | 国产成人精品一区二区三区在线 | 国产欧美日韩久久久 | 伦理一区二区 | 国产剧情一区 | 中文字幕视频在线免费 | 国产美女一区二区 | 羞羞视频免费观看 | 国产激情片在线观看 | 日本不卡一区二区三区在线观看 | 日本久久精 | 欧美亚洲另类丝袜综合网动图 | 精品国产精品国产偷麻豆 | 一区| 成人av资源在线 | 精品国产精品国产偷麻豆 | 99亚洲综合| 久久久久国产一区二区三区 | 亚洲免费在线观看 | 狠狠干美女 | 国产成人精品久久二区二区 | 中文字幕在线不卡播放 | 高清一区二区三区 | 婷婷在线视频 | 久久久久一区二区三区四区 | www成人免费 | 在线免费观看a级片 |