基于51单片机的最大值最小值的存储及显示
时间: 2023-12-11 08:05:14 浏览: 92
要实现基于51单片机的最大值最小值的存储及显示,可以按照以下步骤进行:
1. 定义一个数组用于存储输入的数据,输入数据可以通过外部设备如键盘、ADC等获取。
2. 编写一个函数用于寻找数组中的最大值和最小值,可以使用循环结构和逐个比较的方法实现。将最大值和最小值分别存储在变量中。
3. 在LCD屏幕上显示最大值和最小值,可以使用LCD显示模块,将最大值和最小值转换为字符串并显示在屏幕上。
下面是一份示例代码,供参考:
```
#include <reg52.h>
#include <stdio.h>
#include <lcd.h>
#define MAX_SIZE 10
unsigned char data_array[MAX_SIZE];
unsigned char max_value = 0, min_value = 255;
void find_max_min_value(void)
{
unsigned char i;
for (i = 0; i < MAX_SIZE; i++) {
if (data_array[i] > max_value) {
max_value = data_array[i];
}
if (data_array[i] < min_value) {
min_value = data_array[i];
}
}
}
void main(void)
{
unsigned char i;
char str[16];
lcd_init();
lcd_clear();
printf("Input %d data:\n", MAX_SIZE);
for (i = 0; i < MAX_SIZE; i++) {
scanf("%d", &data_array[i]);
}
find_max_min_value();
sprintf(str, "Max: %d", max_value);
lcd_gotoxy(0, 0);
lcd_puts(str);
sprintf(str, "Min: %d", min_value);
lcd_gotoxy(0, 1);
lcd_puts(str);
}
```
在这份代码中,我们定义了一个名为`data_array`的数组,用于存储输入的数据,数组大小为`MAX_SIZE`。我们使用`scanf`函数从键盘输入数据,并使用`find_max_min_value`函数查找最大值和最小值。最后,我们使用`sprintf`函数将最大值和最小值转换为字符串,并使用`lcd_puts`函数在LCD屏幕上显示。