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

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2339|回復(fù): 0
收起左側(cè)

帶定時(shí)功能時(shí)鐘問(wèn)題,望各位指教一番

[復(fù)制鏈接]
ID:51589 發(fā)表于 2013-7-8 21:30 | 顯示全部樓層 |閱讀模式

如圖

如圖


問(wèn)題描述:燒入程序之后,LED顯示如圖所示,望各位指教




#include<AT89X51.h>
#define uchar unsigned char
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99
,0x92,0x82,0xf8,0x80,0x90};//共陽(yáng)數(shù)碼管
uchar time,hour_now,min_now,sec_now,hour_a1,min_a1,sec_a1,key;
sbit beep=P3^7;
void delayms(uchar i)
{
while(i--);
}
void write(uchar num,chose)
{
uchar i;

for(i=0;i<2;i++)
    {
  P0=0xff;
     P2=~chose;//位選

     if(i==0)
       {
        P0=table[num%10];//段選
       }
     else
        P0=table[num/10];//段選
     
  chose=chose<<1;
     delayms(5000);
    }
}
void show()
{
P0=0xff;
P2=0xdb;
P0=0xbf;
delayms(5000);
}//-隔開(kāi)時(shí),分,秒顯示
void init()
{
TMOD=0x01;
TH0=0x4c;
TL0=0x00;
EA=1;
ET0=1;
TR0=1;
}
void display(uchar hour_now,uchar min_now,uchar sec_now)
{
  write(sec_now,0x01);
  write(min_now,0x08);
  write(hour_now,0x40);
  show();
}
void jianpanjiance()
{
uchar temp;
P1=0xfe;
temp=P1;
if(temp!=temp&0xf0)
   {  
    delayms(10000);
temp=P1;
if(temp!=temp&0xf0)
   {
    temp=P1;
    switch(temp)
    {
     case 0xee:
             key=1;
         break;
  case 0xde:
         key=2;
      break;
  case 0xbe:
         key=3;
      break;
  case 0x7e:
         key=4;
      break;
       }         
   }        
   }
while(temp!=0xf0)
        {
   temp=P1;
         temp=temp&0xf0;
        }

P1=0xfd;
temp=P1;
if(temp!=temp&0xf0)
   {  
    delayms(10000);
temp=P1;
if(temp!=temp&0xf0)
   {
    temp=P1;
    switch(temp)
    {
     case 0xed:
             key=5;
         break;
  case 0xdd:
         key=6;
      break;
  case 0xbd:
         key=7;
      break;
  case 0x7d:
         key=8;
      break;
       }         
   }        
   }
while(temp!=0xf0)
        {
   temp=P1;
         temp=temp&0xf0;
  }
P1=0xfb;
temp=P1;
if(temp!=temp&0xf0)
   {  
    delayms(10000);
temp=P1;
if(temp!=temp&0xf0)
   {
    temp=P1;
    switch(temp)
    {
     case 0xeb:
             key=9;
         break;
  case 0xdb:
         key=10;
      break;
  case 0xbb:
         key=11;
      break;
  case 0x7b:
         key=12;
      break;
       }         
   }        
   }
while(temp!=0xf0)
        {
   temp=P1;
         temp=temp&0xf0;
  }
P1=0xf7;
temp=P1;
if(temp!=temp&0xf0)
   {  
    delayms(10000);
temp=P1;
if(temp!=temp&0xf0)
   {
    temp=P1;
    switch(temp)
    {
     case 0xe7:
             key=13;
         break;
  case 0xd7:
         key=14;
      break;
  case 0xb7:
         key=15;
      break;
  case 0x77:
         key=16;
      break;
       }         
   }        
   }
while(temp!=0xf0)
        {
   temp=P1;
         temp=temp&0xf0;
  }
}


void display_key(uchar hour,uchar min,uchar sec,tkey)
{
uchar i=0,take_key;
uchar data timenum[]={0,0,0,0,0,0};
jianpanjiance();
if(key==tkey)
   {
    take_key=1;
    timenum[0]=hour/10;
timenum[1]=hour%10;
timenum[2]=min/10;
timenum[3]=min%10;
while(take_key==1)
{
  jianpanjiance();
  if(key<11)
    {
     i++;
  timenum[i-1]=key;
  key=17;
    }
  if(key==12)
    take_key=0;
  if(i==6)
    take_key=0;
  hour=timenum[0]*10+timenum[1];
  min=timenum[2]*10+timenum[3];
  sec=timenum[4]*10+timenum[5];
  display(hour,min,sec);
}
    if(sec>59)
   sec=0;
if(min>59)
   min=0;
if(hour>23)
   hour=0;
if(key==11)
   {
    sec_now=sec;
    min_now=min;
    hour_now=hour;
   }
if(key==13)
   {
    sec_a1=sec;
    min_a1=min;
    hour_a1=hour;
   }   
   }
}
void main()
{
hour_now=23;
min_now=37;
sec_now=50;
display(hour_now,min_now,sec_now);
init();
while(1)
{
   display(hour_now,min_now,sec_now);
   
   display_key(hour_now,min_now,sec_now,11);
  
   display_key(hour_a1,min_a1,sec_a1,13);
}
}
void T0_Time() interrupt 1
{
TH0=0x4c;
TL0=0x00;
time++;
if(time==20)
      {  
    time=0;
      if(hour_now==hour_a1&min_now==min_a1)
      beep=0;
    else
      beep=1;
   
       sec_now++;
    if(sec_now==60)
      {  
       sec_now=0;
       min_now++;
        if(min_now==60)
         {
          min_now=0;
          hour_now++;
          if(hour_now==24)
            {
             hour_now=0;
           }
        }
      }
   }
}

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 这里精品 | 欧美日韩中文字幕在线播放 | 日韩一区二区精品 | 久久av影院 | 韩日一区二区三区 | 亚洲国产视频一区 | 性欧美精品一区二区三区在线播放 | 久久丝袜视频 | 亚洲视频二区 | 国产精品一区二区视频 | 精品国产乱码久久久久久图片 | 欧美综合国产精品久久丁香 | 日韩综合在线 | 国产福利在线小视频 | 青娱乐自拍| 香蕉久久久 | 99热国产在线播放 | 国产精品欧美精品 | 欧美13videosex性极品 | 欧美aaaaaa | 盗摄精品av一区二区三区 | 亚洲免费在线观看视频 | 久久亚洲综合 | 国产麻豆乱码精品一区二区三区 | 狠狠操狠狠 | 日本免费一区二区三区四区 | 91国内精精品久久久久久婷婷 | 国产精品日韩欧美一区二区三区 | 成人免费视频网 | 97超碰在线免费 | 五月婷婷激情网 | 一级国产精品一级国产精品片 | 综合视频在线 | 久久精品国产亚洲 | 亚洲美女视频 | 久久久久久国产精品免费免费 | 精品一区视频 | 99国产精品99久久久久久 | 国产中文视频 | 久久精品99久久 | 亚洲草草视频 |