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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

時鐘—LED顯示課調(diào)時

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:20559 發(fā)表于 2010-4-22 19:54 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式

//跟設(shè)定的功能差不多,可是發(fā)現(xiàn)按鍵有點(diǎn)問題,但是還是能很好的工作,程序?qū)懙挠悬c(diǎn)亂

 

#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char

uchar temp1,temp2,temp3,tt,flag;//miao fen shi
/*
用定時器實(shí)現(xiàn)定時功能
用中斷實(shí)現(xiàn)調(diào)時間(中斷進(jìn)入,用4個獨(dú)立按鍵控制調(diào)時間)
用定時器0 方式1實(shí)行
LED顯示
顯示時間  初始化 開機(jī)顯示00:00:00

功能:操作步驟
時鐘運(yùn)行過程中,按下key4關(guān)定時器時鐘顯示,但是不運(yùn)行,即為暫停狀態(tài)
再按下key1,選擇調(diào)時間的位,是分還是時,key2加時間+1,key3減時間-1
key2加分鐘時間到60自動轉(zhuǎn)設(shè)為30,加小時到24自動轉(zhuǎn)設(shè)定為12、、這樣加快了設(shè)定的便捷性
時間設(shè)定完成后,按一下key4,啟動TR0
再按下key1,開始正常工作。
*/

//uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code tabledu[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0xbf};

sbit p37=P3^7;
sbit p36=P3^6;
sbit p35=P3^5;
sbit p34=P3^4;
sbit p33=P3^3;
sbit p32=P3^2;
sbit p31=P3^1;
sbit p30=P3^0;
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
//zhu: yong SW22jin ru wai bu zhong duan
//key1 tiaozheng wei zhuyao wei xiangshang yi dong ji:mei an yi ci zhixiang shi fen miao
//key2 an yici jia yi 
//key3 an yici jian yi


void init()
{
 P1=0xff;
 tt=0;
 flag=0;
 temp1=0;
 temp2=0;
 temp3=0;
 TMOD=0x01;
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 EA=1;
 ET0=1;
 TR0=1;

 IT0=0;//電平觸發(fā)
 IE0=1;
// EX0=1;//開外部中斷0
 
 IP=0x20;
}


void delay(uchar z)
{
 uchar x,y;
 for(x=60;x>0;x--)
 for(y=z;y>0;y--);
}

void display()
{
 p37=0;
 P0=tabledu[temp1%10];
 delay(1);
 p37=1;
 p36=0;
 P0=tabledu[temp1/10];
 delay(1);
 p36=1;
 p35=0;
 P0=tabledu[10];
 delay(1);
 p35=1;
   
 p34=0;
 P0=tabledu[temp2%10];
 delay(1);
 p34=1;
 
 p33=0;
 P0=tabledu[temp2/10];
 delay(1);
 p33=1;
 p32=0;
 P0=tabledu[10];
 delay(1);
 p32=1;
 
 p31=0;
 P0=tabledu[temp3%10];
 delay(1);
 p31=1;
 p30=0;
 P0=tabledu[temp3/10];
 delay(1);
 p30=1;
 
}

void tiaoshi()
{
 uchar i=0;
 while(key1)
  display();
/* if(key4==0)//有鍵按下
  {
   delay(5);
   if(key4==0)//若為真,說明確實(shí)有鍵按下
   while(key4==0);
   flag=0;
   TR0=1;
  }
 
*/
 while((key2)&&(key3)&&flag)
 { 
  while(!key2);
  while(!key3);
  if(key1==0&&flag)//有鍵按下
    {
     delay(5);
     if(key1==0)//若為真,說明確實(shí)有鍵按下
     while(key1==0);
     i++;
    // gomain();
     if(i==1)
     {
      while(key1)
      {
        p34=0;
        P0=tabledu[temp2%10];
        delay(1);
        p34=1;
        
        p33=0;
        P0=tabledu[temp2/10];
        delay(1);
        p33=1;
        if(key2==0)//有鍵按下
        {
         delay(5);
         if(key2==0)//若為真,說明確實(shí)有鍵按下
         while(key2==0);
         temp2++;
         if(temp2==60)
          temp2=30;
        }
        if(key3==0)//有鍵按下
        {
         delay(5);
         if(key3==0)//若為真,說明確實(shí)有鍵按下
         while(key3==0);
         temp2--;
        // if(temp2==0)
        //  temp2=30;
        
        }

        if(key4==0)//有鍵按下
         {
          delay(5);
          if(key4==0)//若為真,說明確實(shí)有鍵按下
          while(key4==0);
          flag=0;
          TR0=1;
         }
       
      }
     }
     if(i==2)
     {
      while(key1)
      {
            
          p31=0;
          P0=tabledu[temp3%10];
          delay(1);
          p31=1;
          p30=0;
          P0=tabledu[temp3/10];
          delay(1);
          p30=1;
        if(key2==0)//有鍵按下
        {
         delay(5);
         if(key2==0)//若為真,說明確實(shí)有鍵按下
         while(key2==0);
         temp3++;
         if(temp3==24)
          temp3=12;
        }
        if(key3==0)//有鍵按下
        {
         delay(5);
         if(key3==0)//若為真,說明確實(shí)有鍵按下
         while(key3==0);
         temp3--;
        // if(temp3==0)
        //  temp3=30;
        }

        if(key4==0)//有鍵按下
         {
          delay(5);
          if(key4==0)//若為真,說明確實(shí)有鍵按下
          while(key4==0);
          flag=0;
          TR0=1;
         }
       
       
      }
     }
     if(i==2)
      i=0;
    
    }

/* if(key4==0)//有鍵按下
  {
   delay(5);
   if(key4==0)//若為真,說明確實(shí)有鍵按下
   while(key4==0);
   flag=0;
   TR0=1;
  }
*/ 
 }
}

 

void main()
{
  init();
  while(1)
  {
 if(!key4)
 {
  flag=1;
 
 }
 display();

 while(flag)
 { 
  TR0=0;
  display();
  if(!key1)
  tiaoshi();
  
 }
  }
 
 
}

 

void timer0() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 tt++;
 if(tt==20)
   { 
 tt=0;
    temp1++;
    if(temp1==60)
    { temp1=0;
     temp2++;
     if(temp2==60)
     { temp2=0;
      temp3++;
      if(temp3==24)
       {temp1=0;temp2=0;temp3=0;}
     }
    }
   }
 
}

 

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

使用道具 舉報

沙發(fā)
ID:23724 發(fā)表于 2010-5-11 09:43 | 只看該作者
暈  太強(qiáng)了
回復(fù)

使用道具 舉報

板凳
ID:23840 發(fā)表于 2010-5-15 15:52 | 只看該作者
高手,頂一個。。。。。。。。。。。。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 神马影院一区二区三区 | 久久久久国产一区二区三区四区 | av网站观看 | 精品国产欧美 | 九色porny自拍视频 | 欧洲成人免费视频 | 91精品国产91久久久久久最新 | 一色桃子av一区二区 | 亚洲成人午夜电影 | 黄色男女网站 | 日本国产精品视频 | 一区二区三区精品在线视频 | 久草久| 女朋友的闺蜜3韩国三级 | 国产视频一二三区 | 精品国产乱码久久久 | 国产一级大片 | 亚洲劲爆av| 精品国产伦一区二区三区观看方式 | 国产精品视频网 | 天天色影视综合 | 四虎伊人| 国产在视频一区二区三区吞精 | 韩国精品一区 | 成人网在线观看 | 久草精品在线 | 欧美日一区二区 | 欧美一区二区三区在线播放 | 欧美日韩久久 | 日韩精品免费播放 | 成人在线a | 国产精品小视频在线观看 | 亚洲国产一区二区视频 | 国产激情91久久精品导航 | 精精国产xxxx视频在线野外 | 日韩一区二区免费视频 | 国产精品一区一区 | 国产黄色小视频在线观看 | 国产高清免费视频 | 99精品一区二区三区 | 一区二区三区四区视频 |