不会修改单片机的数字变化

3.上电后8位数码管显示“-”“1”、 “-”、“熄灭”、 “熄灭”、“2”、“8”。如图5.2所示,“设置”按键按下后,进入工作参数设定界面,初始值为“-”、“30”,“-”、“20”,依次按下设定的数值,再次按下“设置”按键,保存当前输入的数据,并退出工作参数设定界面。在输入过程中,按下“清除”按键,将清除当前输入数据。若设定工作参数错误,如TMax<TMmy, L2常亮,修正错误设定并保存参数后,L2熄灭。

img

从描述来看,您希望了解如何修改51单片机的数码管显示。在这里,我将为您提供一个简要的解决方案,以便您可以根据自己的需求进行调整。

首先,需要了解一下51单片机的基本知识。51单片机是一种广泛应用于嵌入式系统的微控制器,它具有较高的性能和较低的功耗。要修改51单片机的数字显示,您需要编写一个程序,该程序将通过控制数码管的段和位来显示您所需的数字。

下面是一个简单的例子,展示了如何使用C语言编程修改数码管的显示:

#include <reg51.h>

// 定义数码管的段码和位码
unsigned char code segment_code[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
unsigned char code digit_code[] = {0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F};

// 显示函数
void display(unsigned char digit, unsigned char segment) {
    P2 = digit_code[digit];
    P0 = segment_code[segment];
}

void main() {
    while (1) {
        display(0, 1); // 显示“1”在第一位
        delay(5);
        display(1, 10); // 显示“-”在第二位
        delay(5);
        display(2, 10); // 显示“-”在第三位
        delay(5);
        display(3, 10); // 第四位熄灭
        delay(5);
        display(4, 10); // 第五位熄灭
        delay(5);
        display(5, 2); // 显示“2”在第六位
        delay(5);
        display(6, 8); // 显示“8”在第七位
        delay(5);
    }
}

// 延时函数
void delay(unsigned int time) {
    unsigned int i, j;
    for (i = 0; i < time; i++)
        for (j = 0; j < 125; j++);
}

上述代码示例展示了如何使用51单片机在8位数码管上显示指定的数字。您可以根据实际需要调整这些代码,以适应您的具体应用场景。在实际应用中,您可能还需要根据按键输入来修改数码管的显示,这可以通过检测按键的状态并相应地修改数码管的显示来实现。