找回密码
 立即注册

QQ登录

只需一步,快速开始

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

为什么单片机数码管显示时,数码管填充时只显示第一位?

[复制链接]
跳转到指定楼层
楼主
ID:589399 发表于 2022-12-14 09:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#include"display.h"
#include"key.h"
#include"delay.h"

unsigned char wnd=0;
unsigned char parm1=0;
unsigned char parm2=0;
unsigned char parm3=0;
unsigned char parm4=0;

void dis_service();
void key_service();

void main()
{
   unsigned int i;
   for(i=0;i<5000;i++)
   {
             Display();
   }

  while(1)
  {
            dis_service();
           key_service();
          Display();
  }



}

void dis_service()
{
   switch(wnd)
   {
             case 0:
          LEDBuf[0]=20;
          LEDBuf[1]=1;
          LEDBuf[2]=parm1/10;
          LEDBuf[3]=parm1%10;

           break;
          case 1:
          LEDBuf[0]=20;
          LEDBuf[1]=2;
          LEDBuf[2]=parm2/10;
          LEDBuf[3]=parm2%10;
        
          break;
          case 2:
           LEDBuf[0]=20;
          LEDBuf[1]=3;
          LEDBuf[2]=parm3/10;
          LEDBuf[3]=parm3%10;
         
          break;
          case 3:
           LEDBuf[0]=20;
          LEDBuf[1]=4;
          LEDBuf[2]=parm4/10;
          LEDBuf[3]=parm4%10;
         
          break;
          default:break;
      }         
}

void key_service()
{
  switch( Key_Scan())
  {
          case 1:wnd++;if(wnd>3)wnd=0;break;
        case 2:
         switch(wnd)
         {
            case 0:parm1++;if(parm1>99)parm1=0;break;
                 case 1:parm2++;if(parm2>99)parm2=0;break;
                case 2:parm3++;if(parm3>99)parm3=0;break;
                case 3:parm4++;if(parm4>99)parm4=0;break;
                default:break;
         }
         break;
        case 3:
         switch(wnd)
         {
            case 0:parm1--;if(parm1>99)parm1=99;break;
                 case 1:parm2--;if(parm2>99)parm2=99;break;
                case 2:parm3--;if(parm3>99)parm3=99;break;
                case 3:parm4--;if(parm4>99)parm4=99;break;
                default:break;
         }
         break;
        case 4:
         switch(wnd)
         {
            case 0:parm1=0;break;
                 case 1:parm2=0;break;
                case 2:parm3=0;break;
                case 3:parm4=0;break;
                default:break;
         }
         break;
        default:break;
   }
}

按键控制不同窗口参数的调整.7z

14.55 KB, 下载次数: 6

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2022-12-14 10:25 | 只看该作者
你没有修改wnd的值。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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