溜溜佳 2022-06-02 19:32 采纳率: 50%
浏览 53
已结题

c51单片机计数问题

c语言,51单片机控制四位数码管从0000按秒计数到9999.外加一个按键控制暂停和开始。另一个按键控制按两秒计一次数。
自己编写的程序仿真不了,希望朋友们帮助一下。

  • 写回答

1条回答 默认 最新

  • 白驹_过隙 算法领域新星创作者 2022-06-02 20:15
    关注
    
    #include "reg52.h"
    typedef unsigned char u8;
    typedef unsigned int u16;
    #define smg P0
    sbit button_1=P3^0;
    sbit button_2=P3^1;
    u16 k = 0;
    u16 smgduan[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
     
    void delay(u16 i)
    {
        while(i--);
    }
    void keypros()
    {
        if (button_1 == 0)
        {
            delay(500);
            if (button_1 == 0)
            {
                if (k>=9999)
                {
                    k=0;
                }
                else
                {
                    k = k + 1;
                }
            }
            while(!button_1);   
        }
        if (button_2 == 0)
        {
            delay(500);
            if (button_2 == 0)
            {
                if (k<=0)
                {
                    k=9999;
                }
                else
                {
                    k = k-1;
                }
            }
            while(!button_2);
        }
    }
    void main()
    {
        int q,b,s,g;
        while(1)
        {
            keypros();
            q = k/1000;
            b = k%1000/100;
            s = k%100/10;
            g = k%10;
            delay(100);
     
            P2 = 0x07;
            smg = ~smgduan[q];
            delay(5);
     
            P2 = 0x0e;
            smg = ~smgduan[b];
            delay(5);
     
            P2 = 0x0d;
            smg = ~smgduan[s];
            delay(5);
     
            P2 = 0x0b;
            smg = ~smgduan[g];
            delay(5);
     
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月10日
  • 已采纳回答 6月2日
  • 创建了问题 6月2日

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法