找回密码
 立即注册

QQ登录

只需一步,快速开始

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

数码管显示00-99,中途我用个按键按住暂停弹起继续,怎样改程序才能显示暂停值?

[复制链接]
跳转到指定楼层
楼主
#include<reg52.h>
sbit WEI = P1^6;
sbit DU = P1^7;
sbit key1 = P3^4;
unsigned char  DISP_smg[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
#define uchar unsigned char //  8bit, 0 ~     255
#define uint  unsigned int  // 16bit, 0 ~  65,535
void delayms(uint m)    // 11.0592MHz 晶振ms延时,偏差小于1%
{
    uint i, j;
    for(i=m; i>0; i--)
        for(j=114; j>0; j--);
}




void main()
{
   unsigned char C0 = 0;
   unsigned char i = 0;
   DU = 0;
   P0 = 0x00;
   DU = 1;
   
        while(1)
        {
               
             WEI = 1;
             P0 = 0x7f;
             WEI = 0;               
             DU = 1;
             P0 =  DISP_smg;
             delayms(10);
             
              WEI = 1;
              P0 = 0xbf;
              WEI = 0;
               DU = 1;
              P0 = DISP_smg[C0];
              delayms(10);


              i=i+1;
              if(i==10)
             {
                 i=0;
                 C0=C0+1;                             
              }
             if(C0==10)
             C0=0;
             while(i==9&&C0==9)
            {
               i=9;
               WEI = 1;
               P0 = 0x3F;
               WEI = 0;               
               DU = 1;
               P0 =  DISP_smg;
               delayms(10);
            }
                       if(key1==0)
               {
                  delayms(5);
                  if(key1==0)
                 {
                   i=i;
                   C0=C0;
                   while(!key1);
                  }                                                
                }
             
         }
}


1.为什么我按下按键        只能让数码显示十位,求解更适合的程序能让按键按住时显示当前数值,弹起时继续计数?
2.while(i==9&&C0==9)
{
    i=9;
   C0=9;
}
在我的程序中,为什么我用这一句程序不能使数码管到达99就停止。反而数码管只显示十位的数,个位没有显示。
3.就是由于第二个的原因,我增加按键的程序,所以我暂停数码显示结果只能显示十位,求方法解决?

QQ截图20161015222038.png (41.79 KB, 下载次数: 68)

按键

按键

QQ截图20161013221215.png (146.82 KB, 下载次数: 81)

数码管

数码管

QQ截图20161013221247.png (120.88 KB, 下载次数: 63)

CPU

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

使用道具 举报

沙发
ID:123289 发表于 2016-10-16 10:01 | 只看该作者
增加一个暂停寄存器,记下暂停时的数据。而后在你想显示它的时间显示它,显示的方法与你用的现行显示计数器的方法相似。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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