找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4234|回复: 12
打印 上一主题 下一主题
收起左侧

怎么设置用上翻与下翻键设置参数显示的问题、

[复制链接]
跳转到指定楼层
楼主
ID:67560 发表于 2014-10-18 00:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hhh275 于 2014-10-20 20:00 编辑

for(bz_p=1;bz_p<8;bz_p++)
        {  
               if(bz_s == 0)
           {
          s_v = s_min;
          s_min = s_v;
          key6();
                                     key5();
          d_s_min();
           }
         if(bz_s == 1)
           {
          s_v = s_sec;
          key6();
                                     key5();
          s_sec = s_v;        
          d_s_sec();
           }
     
        }
      
        
    }
    else
    {
    change_p();
    }
   g=sv;   
   dis_ply(g);
   for(i = 2; i < 0; i--)
   {
    dis_ply(xss[i-1]);
   }  
  
   
   
}
void key5() 上翻键
{

  if(S5==0)
  {      
    delay(10);
    if(S5==0)
      {
   delay(50);
        if((!bz_e)&(bz_s<2))      //分钟、秒数值+s_v
            {
        if(s_v > 58)
        {
           s_v = 0;
        }
        else
        {
           s_v++;
        }
          }

       }
     }
}
/****按键6下翻键*******/
  void key6()
{
  
if(S6==0)
  {      
    delay(20);
    if(S6==0)
      {
   delay(50);
      if((!bz_e)&(bz_s<2))              //分钟、秒数值-
      {   
               if(s_v < 1)
         {
          s_v = 59;
            }
         else
         {
         s_v--;
            }
       }
             }
    }
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:44262 发表于 2014-10-19 00:14 来自触屏版 | 只看该作者
电路图呢?楼主
回复

使用道具 举报

板凳
ID:67560 发表于 2014-10-19 15:01 | 只看该作者
我只有PCB图
回复

使用道具 举报

地板
ID:44262 发表于 2014-10-20 10:05 来自触屏版 | 只看该作者
有图的话就直观一些 ,这样子比较难
回复

使用道具 举报

5#
ID:67560 发表于 2014-10-20 17:08 | 只看该作者

帮我看看时间设置那块,调试时间显示个位可调,但显1、3、5、7、9、,十位只显0

本帖最后由 hhh275 于 2014-10-20 20:44 编辑

void main()
{while(1)
{            
       OE2=1;               
       switch(key)                                                    // 键盘扫描
                                {   
                                    case 1:  key1();break;
                                        case 2:  key2(); break;                  
                                        case 3:  key3(); break;                  
                                        case 4:  key4(); break;
                                        case 5:  key5(); break;
                                        case 6:  key6(); break;                  
                                        case 7:  key7(); break;                  
                                        case 8:  key8();break;
                            default :break;
                        }
         for(key=1;key<8;key++);
               if(bz5==1)
                          {
                           bz1=1;
                           ZS=0;             //指示灯亮
                          }
                          else
                          {
                          bz1=0;
                          ZS=1;             //指示灯亮
                          }
                         if(bz_e)
                                  {                                                                             
                                                                        if(bz_s == 0)
                                                                          {
                                                                                s_v = s_min;      //分钟  设置
                                                                                key3();
                                                                                key4();
                                                                                key5();
                                                                                key6();
                                                                                s_min = s_v;                                                         
                                                                                d_s_min();
                                                                          }
                                                                          if(bz_s == 1)
                                                                          {
                                                                                s_v = s_sec;      //秒钟  设置
                                                                                key3();
                                                                               key4();
                                                                                key5();
                                                                                key6();
                                                                                s_sec = s_v;                                                         
                                                                                d_s_sec();
                                                                          }
                                       
                                                
                                                
                                                  
                                }
                                else
                                {
                                change_p();
                                       
                                             
                                }
                                        g=s_v;
                                        dis_play(g);
                                        for(i =2; i < 0; i--)
                                        {
                                        dis_play(xss[i-1]);        
                                        }
                                
                        
        }
void dis_play(int i)
        {
                if (i<99)
                        {
                        
                            sdz[31]=i%100/10;//十
                                sdz[32]=i%10;
                        }
                else
                                sdz[31]=sdz[32]=0xff;
                                xss[0]=get_code(sdz[32]);
                                xss[1]=get_code(sdz[31]);
                                return;
        }
void key3()
{
   if(S3==0)
  {      
    delay(30);
    if(S3==0)
      {
   delay(60);
         if(!bz_e)        //工件直径选择         
    {  
   
       if(bz_p >7)
        {   
      bz_p =1;
     }
    else
     {
      bz_p++;
     }
     
               }
        }
}
}

void key4()
{
    if(S4==0)
         {                    
           delay(30);
           if(S4==0)
                    {
                         delay(60);                  
             if(!bz_e)                                
                                {        
                                        if(bz_p <2)
                                        {
                                                bz_p =8;
                                        }
                                        else
                                        {
                                                bz_p--;
                                        }
                                 }
                        }
      }
}

/****按键5时间设置上翻键*******/
void key5()
{         

         if(S5==0)
         {                    
           delay(30);
           if(S5==0)
                    {
                        delay(60);
             for(bz_s=0;bz_s<2;bz_s++)                       //分钟、秒数值+s_v
                                                      
                                                                if(s_v > 58)
                                                                {
                                                                   s_v = 0;
                                                                }
                                                                else
                                                                {
                                                                          s_v++;
                                                                }
                                                        


                     }

     }

}

/****按键6时间下翻键*******/
  void key6()
{

  
if(S6==0)
         {                    
           delay(30);
           if(S6==0)
                    {
                        delay(60);
                  for(bz_s=0;bz_s<2;bz_s++)                       //分钟、秒数值-
                                                   
                                                                if(s_v < 1)
                                                                        {
                                                                         s_v = 59;
                                                                    }
                                                                        else
                                                                        {
                                                                        s_v--;
                                                                    }
                                                               
                                                
             }
    }
}

回复

使用道具 举报

6#
ID:67560 发表于 2014-10-20 17:27 | 只看该作者
hhh275 发表于 2014-10-20 17:08
void main()
{while(1)
{            

图还传不上来
回复

使用道具 举报

7#
ID:67560 发表于 2014-10-20 20:09 | 只看该作者
我只有线路图  压缩文件

Backup of PREVIO~1.rar

14.99 KB, 下载次数: 15

回复

使用道具 举报

8#
ID:67560 发表于 2014-10-20 20:15 | 只看该作者
hhh275 发表于 2014-10-20 20:09
我只有线路图  压缩文件

这是动态显示,用两片74hc245与芯片P2口连接,P2既做6位数码管显示的输出 ,又做按键的输入,以上程序根据这个硬件来做的
回复

使用道具 举报

9#
ID:67560 发表于 2014-10-21 09:58 | 只看该作者

今天终于把图弄好传上来了,各位看看,谢谢

本帖最后由 hhh275 于 2014-10-21 10:00 编辑

电路图

Schematic Prints.pdf

83.58 KB, 下载次数: 5

回复

使用道具 举报

10#
ID:67560 发表于 2014-10-21 11:45 | 只看该作者
hhh275 发表于 2014-10-20 17:08
void main()
{while(1)
{            

经过修改bz_s这句 for(bz_s=0;bz_s<1;bz_s++)显示就正常了
回复

使用道具 举报

11#
ID:44262 发表于 2014-10-22 12:09 来自触屏版 | 只看该作者
楼主果然厉害,我看了半天也找不出原因来
回复

使用道具 举报

12#
ID:44262 发表于 2014-10-22 12:09 来自触屏版 | 只看该作者
学习了
回复

使用道具 举报

13#
ID:67560 发表于 2014-10-23 17:17 | 只看该作者
就不要笑话我了,我确实以前没做过动态按键控制与显示 ,后面还有存储器的存储   
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表