2 qq 36170518 qq_36170518 于 2016.09.18 18:27 提问

程序怎么不能调时,第一次写,请大神们帮忙看看

#include
#define uchar unsigned char
#define uint unsigned int
//uchar duma[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x40};
//uchar wema[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
char j,button;
char h_num,m_num,s_num;
//char h_shi,h_ge,m_shi,m_ge,s_shi,s_ge,key,button;
sbit fm=P3^4;
void delay(uint time);
void display(char h_shi,h_ge,m_shi,m_ge,s_shi,s_ge);
void inter_init();
void time24();

void delay(uint time)
{
char a,b;
for(a=time;a>0;a--)
for(b=100;b>0;b--);
}

void inter_init() //定时器初始化
{
EA=1;
EX0=1;
ET0=1;
TMOD=0x01;
TCON=0x00;
IP=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
TR0=1;
}

void display(char h_shi,h_ge,m_shi,m_ge,s_shi,s_ge) //显示函数
{ uchar duma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
uchar wema[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
P2=duma[h_shi];
P1=wema[0];
delay(8);
P2=duma[h_ge];
P1=wema[1];
delay(8);

P2=duma[10];
P1=wema[2];
delay(8);

P2=duma[m_shi];
P1=wema[3];
delay(8);
P2=duma[m_ge];
P1=wema[4];
delay(8);
P2=duma[10];
P1=wema[5];
delay(8);


P2=duma[s_shi];
P1=wema[6];
delay(8);
P2=duma[s_ge];
P1=wema[7];
delay(8);

}

void time24() //24小时时间转换
{ char h_shi,h_ge,m_shi,m_ge,s_shi,s_ge;
//inter_init();
s_num=00;
m_num=00;
h_num=00;
while(1)
{

if(j==20)
{
j=0;
if(s_num==59)
{

s_num=-1;
if(m_num==59)
{

m_num=-1;
if(h_num==24)
h_num=-1;
h_num++;
fm=0;
delay(200);
fm=1;
}
m_num++;
}
s_num++;
}
h_shi=h_num/10;
h_ge=h_num%10;
m_shi=m_num/10;
m_ge=m_num%10;
s_shi=s_num/10;
s_ge=s_num%10;
display(h_shi,h_ge,m_shi,m_ge,s_shi,s_ge);
}
}

void time()interrupt 1 using 1 //定时器0
{

TH0=(65535-50000)/256;
TH0=(65535-50000)%256;
j++;
}

void key_scan(uchar button) //按键扫描
{

uchar key_l,key_h,key;
P0=0xf0;
key_l=P0;
key_l=key_l&0xf0;
if(key_l!=0xf0)
{ delay(10);
if(key_l!=0xf0)
{ key_l=key_l&0xf0;
key_l=key_l|0x0f;
P3=key_l;
key_h=P3;
key_h=key_h&0x0f;
key_l=key_l&0xf0;
key=key_l+key_h;
}

}
switch(key)
{

case 0xee: button=1; break;
case 0xde: button=2; break;
case 0xbe: button=3; break;
case 0x7e: button=4; break;
case 0xed: button=5; break;
case 0xdd: button=6; break;
case 0xbd: button=7; break;
case 0x7d: button=8; break;
case 0xeb: button=9; break;
case 0xdb: button=10;break;
case 0xbb: button=11;break;
case 0x7b: button=12;break;
case 0xe7: button=13;break;
case 0xd7: button=14;break;
case 0xb7: button=15;break;
case 0x77: button=16;break;
}

}

void key_time() //按键调时
{ void key_scan(uchar button);

if(button==3)//3是进入调时键
{
EA=0;
s_num=0;
while(1)
{
display();
if(button=4)//4是退出调时键
{

EA=1;
break;
}
if(button==7) //7是秒增加键
{

delay(1);
if(button==7)
{
s_num++;
//while(button!=7)
//{
if(s_num==60)
{
s_num=0;
}
//}
}
}
if(button==11) //11是分增加键
{
delay(80);
if(button==11)
{
m_num++;

              if(m_num==60)
              {
                 m_num=0;
              }

           }
        }
        if(button==15)
        {
           delay(80);
           if(button==15)
           {
              h_num++;
              //while(button!=15)

             // {
              if(h_num==60)
              {
                 h_num=0;    
              }
             // }
           }
        }
   }
} 

}

void main()
{
inter_init();
while(1)
{
time24();
key_time();
display();
}
}

1个回答

shihengzhen101
shihengzhen101   Rxr 2016.09.18 18:42

你第一次就写这么大的程序?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
EOPLL ET 第一次写,请大神们帮忙纠错
EOPLL ET 第一次写,请大神们帮忙纠错
大神帮忙看看这个问题怎么解决
用模拟器运行程序时老是闪退!04-10 06:37:43.794 2611-3870/? W/GCM-GMS: Failed to get registration: java.io.IOException: AUTHENTICATION_FAILED04-10 06:38:03.761 3881-3881/? D/AndroidRuntime: >>>>>> ...
求大神们帮忙看看错误在哪
use warnings;use strict;open(INFILE, "/Users/lizeshuo/Desktop/test2.txt") ||   die "Cannot open the newfile: $!\n";open(OUTFILE, ">test3.txt") ||   die "Cannot open the newfile: $!\n";my @a;while (...
请大神帮忙看看啊 怎么回事啊
今天在安装vs2013的时候怎么老出现找不到包源啊!!但是我在
第一次写程序
刚听到要写一个五子棋的程序,对于一个刚接触C的我简直是个挑战。但我用已看的知识写了一个效率极低的程序希望大家多原谅         思路:我用数组来储存棋子的位置 定义了一个15*15的数组,用数字2来初始化数组,然后用数字1来代表黑色棋子,0代表白色棋子         以输入X,Y来确定棋子的位置,遵循黑棋先行。 前四次用循环输入棋子的坐标然后用do-while循环来先输入棋子的坐标,然后
第一次写Android程序
第一次,感觉很兴奋,嘻嘻!!! 那种感觉没法用言语来形容!!! 这次我也遇到了大多数新手都遇到的问题: 问题一:用Eclipse启动时报Conversion to Dalvik format failed: Unable to execute dex: wrapper wa
一个简单游戏的程序
简单游戏的程序代码,大神们帮忙看看。简单游戏的程序代码,大神们帮忙看看。简单游戏的程序代码,大神们帮忙看看。简单游戏的程序代码,大神们帮忙看看。简单游戏的程序代码,大神们帮忙看看。
第一次写策划书的感想
今天接到我们技术部经理给的一个任务--写一个关于ppt设计大赛的企划书,之前没写过这个,所以一开始接到这个任务的时候还是有点儿蒙蒙 的感觉,于是就去网上搜一些关于企划书的资料,主要是想了解一下企划书里边包括的主要内容有哪些,具体应该怎么写才能让别人看的更明白。通过我几个小时的努力,终于完成了如下的作品,虽然有待于提高,但是这是我第一次努力写企划书的成果。希望以后有机会可以多学习,多接触写出更好的更
ondraw不执行,请大神帮忙
ondraw不执行,请大神帮忙
第一次写周报
一周五天,匆匆而去,回想起来,大致也就做了如下的几件事: 1.继续训练分类器 用opencv自带的分类器做目标检测,将漏检和虚警图片加入训练样本,再次训练 在训练中,发现了一个问题,当某个stage的FA为0,即没有负样本被错分的时候,下一级的训练陷入死循环。就此停止训练,生成分类器,则虚警过高!可加入新的负样本,继续训练。 2.发现了数字图像处理的一个有趣应用——美妆、美容